[英]Inaccurate predictions with Poisson Regression in R
我試圖根據收集到的歷史數據來預測網站的訪問者數量。 我認為這是可以使用泊松回歸的方案。
輸入包括6列:
id(網站的id),日,月,年,星期幾,訪問次數。
因此,基本上作為輸入,我們有一個CSV格式的列,其格式為:“ 2”,“ 22”,“ 7”,“ 2015”,“ 6”,“ 751”。
我正在嘗試根據之前的訪問次數來預測訪問次數。 網站的大小可能會有所不同,因此我最終將它們分為5類
因此,我做了第7列,名為type,它的整數范圍是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")
模型設置不理想。 也許應該將month作為類別變量( as.factor
)包括在內,並且您需要更多地考慮一天(每月的第31天,然后是下個月的第1天)。 預測變量“類型”也是可疑的,因為類型是直接從響應中得出的。
您的模型也高度分散。 這可能表明缺少預測變量或其他問題。
您還應該考慮使用混合效果模型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.