首页 文章

使用带glm的predict()函数

提问于
浏览
1

假设我有以下数据集并在R中使用glm运行回归模型 . 我有系数,但我想预测“下个月”值(访问) . 在这个例子中我该怎么做呢?

d <- data.frame(month = c("jan", "feb", "mar", "apr", "may", "june"),
                visit =  c( 1,  2,  4,  8, 16, 32),
                click =  c(64, 62, 36,  5,  6,  3),
                conv =  c(1, 3, 6, 2, 3, 8))
d
dFit <- glm(visit ~ click + conv, data=d)

对于7月,我如何使用R中的 predict() 函数来预测访问次数(响应变量)?

编辑:

我想要最终获得的是我所拥有的输出

Mon   Pred_clicks
jan   20
feb   25
mar   21
apr   31
may   15
june  21 
july  50

编辑2:

这不是我想要的输出

> predict(dFit)
        1         2         3         4         5         6 
-3.452974  1.223969 13.533457 12.235771 14.113888 25.345890

2 回答

  • 1

    由于您使用包含 monthclickconv 列的 data.frame 训练模型,因此您必须提供此类 data.frame 来预测值:

    predict(dFit, data.frame(month="july", conv=mean(d$conv), click=mean(d$click)))
    

    mean(d$conv)mean(d$click) 是7月份各自数量的预测值 . 如果您有7月份 convclick 的实际值,请在语句中替换它们以获得预测 .

    但是,这可能不是您正在寻找的,而GLMs回归可能不是这类时间序列数据的最佳模型 . 我想你会想用VAR作为你的预测模型 .

  • 2

    假设您有一个包含名为 newdata 的7月数据的数据框,您只需执行以下操作:

    predict(dFit,newdata)
    

    如果您没有7月份的数据,则无法进行 .

相关问题