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

138 阅读4分钟

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

原文出处:拓端数据部落公众号

相关视频: 非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

,时长05:41

相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

逻辑回归Logistic模型原理和R语言分类预测冠心病风险实例

,时长06:48

视频:R语言广义相加模型(GAM)在电力负荷预测中的应用

拓端tecdat:R语言广义相加模型(GAM)在电力负荷预测中的应用

我根据泊松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

最高温度或最低温度

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

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

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

 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

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

而周日,我们有

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


最受欢迎的见解

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指标