输入包括6列: id(网站ID)、日、月、年、星期几、访问量。
因此,我们的输入是一个CSV文件,其中列的格式为:"2","22","7","2015","6","751"。
我正在尝试根据先前的访问量来预测访问次数。网站的大小可能会有所不同,因此我将它们分为5个类别: 1. 几乎为零 (平均值 < 1) 2. 非常小 (平均值 < 100) 3. 小 (平均值 < 1000) 4. 中等 (平均值 < 50,000) 5. 大 (平均值 < 500,000)
因此,我创建了第七列名为类型,它是从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,并且在解释汇总命令返回的数据方面遇到了一些问题。以下是它返回的内容:
Call: glm(formula = visits ~ type + day + month + year + dayofweek, family = poisson, data = train)
Deviance Residuals: Min 1Q Median 3Q Max
-571.05 -44.04 -11.33 -5.14 734.43Coefficients:
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. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 1239161821 on 12370 degrees of freedom Residual deviance: 157095033 on 12365 degrees of freedom AIC: 157176273
Number of Fisher Scoring iterations: 5
有人能更详细地描述摘要命令返回的值以及在泊松回归中应该如何输出更好的预测结果吗?在R中是否有更好的方法来处理基于时间演化的数据估计值?