使用带glm的predict()函数

时间:2013-08-27 21:20:37

标签: r regression glm

假设我有以下数据集,并且在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 个答案:

答案 0 :(得分:2)

由于您使用包含data.framemonthclick列的conv对模型进行了培训,因此您必须提供data.frame这样的 predict(dFit, data.frame(month="july", conv=mean(d$conv), click=mean(d$click))) 也可以预测这些值:

mean(d$conv)

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

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

答案 1 :(得分:1)

假设您有一个包含名为newdata的七月数据的数据框,您可以这样做:

predict(dFit,newdata)

如果您没有7月的数据,那么就无法实现。