R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

原文链接:http://tecdat.cn/?p=18550 

 

我根据泊松Poisson回归、GAM样条曲线模型对一个十字路口的骑自行车者的数量进行预测,

str(base)
'data.frame':	214 obs. 
 $ 日期    : chr  "1-Apr" "2-Apr" "3-Apr7" "4-Apr" ...
 $ 最高温度  : num  46 62.1 63 51.1 63 48.9 48 55.9 66 73.9 ...
 $ 最低温度   : num  37 41 50 46 46 41 43 39.9 45 55 ...
 $ 降雨量  : num  0 0 0.03 1.18 0 0.73 0.01 0 0 0 ...
 $ 数量: int  606 2021 2470 723 2807 461 1222 1674 2375 3324 ...
 $ 温差  : num  9 21.1 13 5.1 17 7.9 5 16 21 18.9 ......

使用Poisson回归预测周日、周一有多少骑自行车的人,天气情况是温度85F-70F没有下雨。我们创建一个预测数据框。

newbase = data.frame(DAY=as.factor(
 最高温度=c(85,85),最低温度=c(70,70,
 降雨量=c(0,0))

让我们创建一个包含所有解释变量的模型。

我们还添加一个虚拟变量来指示不下雨的日子,

summary(reg) 
 
Coefficients:
                     Estimate Std. Error z value Pr(|z|)    
(Intercept)         6.8844970  0.0110463 623.241   2e-16 ***
最高温度              0.0210950  0.0003133  67.328   2e-16 ***
最低温度              -0.0114006  0.0003351 -34.024   2e-16 ***
降雨量            -0.6570450  0.0071899 -91.384   2e-16 ***
I(降雨量 == 0)TRUE  0.1303908  0.0033283  39.176   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: 70021  on 213  degrees of freedom
Residual deviance: 26493  on 203  degrees of freedom
AIC: 28580
 
Number of Fisher Scoring iterations: 4

所以变量似乎都显著。如果我们要检查非线性效应,可以将样条曲线放在所有连续变量上

gam(数量~bs(最高温度)+bs(最低温度)+bs(降雨量)+I(降雨量==0),poisson

 

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

最高温度或最低温度

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

以及下面的降雨量曲线,最大观测值(3)与之前观测值(1.8)之间的线性平滑

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

 

我们还可以回归最小温度,以及最大和最小温度之间的温差(在线性模型中,模型是等效的,但是通过非线性变换,可以更简单地给出差异)

 

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

现在,我们可以比较这四个模型及其预测。例如,对于线性模型(虚拟变量表示没有下雨),

 predict(reg,newdata=newbase,type="response se.fit=TRUE

对于星期一,我们获得λ的95%置信区间

P$fit[1]+c(-2,2)*P$se.fit[1]
[1] 3349.842 3401.395

对于星期日,95%置信区间为

[1] 2987.497 3033.861

我们可以可视化四个模型的置信区间

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

 

而周日,我们有

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

 

换句话说,通过更改模型,我们对预测的置信区间进行了更改(有时区间完全不相交)。


R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

 

上一篇:Qt5 使用lambda


下一篇:《Think Python 2e》作业实现(十二): 元组