我正在尝试根据收集的历史数据来预测网站的访问者数量。我认为这是我可以使用泊松回归的方案。
输入包括6列:
id(网站的id),日,月,年,星期几,访问次数。
因此,基本上,作为输入,我们有一个CSV格式的列,其格式为:“ 2”,“ 22”,“ 7”,“ 2015”,“ 6”,“ 751”。
我正在尝试根据之前的访问次数来预测访问次数。网站的大小可能会有所不同,因此我最终将它们分为5类
因此,我做了第7列,名为type,它的int范围是1到5。
我的代码如下:
train = read.csv("train.csv", header = TRUE)
model<-glm(visits ~ type + day + month + year + dayofweek, train, family=poisson)
summary(model)
P = predict(model, newdata = train)
imp = round(P)
imp
预测的值甚至不接近,我告诉我最终可以得到实际值的10-20%的值,但是没有做到,大多数预测值都比实际值大200-300%。这是在火车数据集上的,应该提供一个乐观的观点。
我是R的新手,在解释summary命令返回的数据时遇到一些问题。这是它返回的内容:
致电:glm(公式=访问次数〜类型+日期+月+年份+星期几,家庭=泊松,数据=火车)
偏差残差:最小值1Q中位数3Q最大值
-571.05 -44.04 -11.33 -5.14 734.43系数:
Estimate Std. Error z value Pr(>|z|) (Intercept) -9.998e+02 6.810e-01 -1468.19 <2e-16 *** type 2.368e+00 1.280e-04 18498.53 <2e-16 *** day -2.473e-04 6.273e-06 -39.42 <2e-16 *** month 1.658e-02 3.474e-05 477.31 <2e-16 *** year 4.963e-01 3.378e-04 1469.31 <2e-16 *** dayofweek -3.783e-02 2.621e-05 -1443.46 <2e-16 ***
--- Signif。代码:0 ' ' 0.001 ' ' 0.01 ' ' 0.05 ''。0.1''1
(泊松族的色散参数取为1)
空偏差:12370自由度为1239161821残余偏差:12365自由度为157095033 AIC:157176273
Fisher计分迭代次数:5
谁能更详细地描述summary命令返回的值,以及在输出更好的预测的泊松回归中应该是什么样子?R中是否有更好的方法来处理基于估计值随时间的演变的数据?
LE。链接到train.csv文件。
您的问题出在predict
命令上。默认predict.glm
为在链接规模上进行预测。如果您希望可以直接与原始数据进行比较的预测,则需要使用参数type = "response"
P <- predict(model, newdata = train, type = "response")
模型设置不理想。也许应该将月份作为类别变量(as.factor
)包含在内,并且您需要更多地考虑日期(月份的第31天,然后是下个月的第1天)。预测变量“类型”也是可疑的,因为类型是直接从响应中得出的。
您的模型也高度分散。这可能表明缺少预测变量或其他问题。
您还应该考虑使用混合效果模型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句