暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言分段线性回归分析预测车辆的制动距离

拓端数据部落 2022-09-05
425

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


分段回归( piecewise regression ),顾名思义,回归式是“分段”拟合的。其灵活用于响应变量随自变量值的改变而存在多种响应状态的情况,二者间难以通过一种回归模型预测或解释时,不妨根据响应状态找到合适的断点位置,然后将自变量划分为有限的区间,并在不同区间内分别构建回归描述二者关系。


相关视频



分段回归最简单最常见的类型就是分段线性回归( piecewise linear regression ),即各分段内的局部回归均为线性回归。
本文我们试图预测车辆的制动距离,同时考虑到车辆的速度。

> summary(reg)

Call:

Residuals:
Min 1Q Median 3Q Max
-29.069 -9.525 -2.272 9.215 43.201

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -17.5791 6.7584 -2.601 0.0123 *
speed 3.9324 0.4155 9.464 1.49e-12 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 15.38 on 48 degrees of freedom
Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438
F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12

要手动进行多个预测,可以使用以下代码(循环允许对多个值进行预测)

for(x in seq(3,30)){

+ Yx=b0+b1*x
+ V=vcov(reg)
+ IC1=Yx+c(-1,+1)*1.96*sqrt(Vx)
+ s=summary(reg)$sigma
+ IC2=Yx+c(-1,+1)*1.96*s


然后在一个随机选择的20个观测值的基础上进行线性回归。

lm(dist~speed,data=cars[I,])


目的是使观测值的数量对回归质量的影响可视化。

 Residuals:
Min 1Q Median 3Q Max
-23.529 -7.998 -5.394 11.634 39.348

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -20.7408 9.4639 -2.192 0.0418 *
speed 4.2247 0.6129 6.893 1.91e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 16.62 on 18 degrees of freedom
Multiple R-squared: 0.7252, Adjusted R-squared: 0.71
F-statistic: 47.51 on 1 and 18 DF, p-value: 1.91e-06

> for(x in seq(3,30,by=.25)){

+ Yx=b0+b1*x
+ V=vcov(reg)
+ IC=Yx+c(-1,+1)*1.96*sqrt(Vx)
+ points(x,Yx,pch=19


可以使用R函数进行预测,具有置信区间

 fit      lwr       upr
1 42.62976 34.75450 50.50502
2 84.87677 68.92746 100.82607
> predict(reg,
fit lwr upr
1 42.62976 6.836077 78.42344


当有多个解释变量时,“可视化”回归就变得更加复杂了

 > image(VX2,VX3,VY)
> contour(VX2,VX3,VY,add=TRUE)



点击标题查阅往期内容


样条曲线分段线性回归模型piecewise regression估计个股beta值分析收益率数据


左右滑动查看更多


01

02

03

04



这是一个回归三维曲面_图_

> persp(VX2,VX3,VY,ticktype=detailed)


我们将更详细地讨论这一点,但从这个线性模型中可以很容易地进行非线性回归。我们从距离对数的线性模型开始

> abline(reg1)


因为我们在这里没有任何关于距离的预测,只是关于它的对数......但我们稍后会讨论它

lm(sqrt(dist)~speed,data=cars)


还可以转换解释变量。你可以设置断点(阈值)。我们从一个指示变量开始

 Residuals:
Min 1Q Median 3Q Max
-29.472 -9.559 -2.088 7.456 44.412

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -17.2964 6.7709 -2.555 0.0139 *
speed 4.3140 0.5762 7.487 1.5e-09 ***
speed > s TRUE -7.5116 7.8511 -0.957 0.3436
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 15.39 on 47 degrees of freedom
Multiple R-squared: 0.6577, Adjusted R-squared: 0.6432
F-statistic: 45.16 on 2 and 47 DF, p-value: 1.141e-11


但是你也可以把函数放在一个分段的线性模型里,同时保持连续性。

 Residuals:
Min 1Q Median 3Q Max
-29.502 -9.513 -2.413 5.195 45.391

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.6519 10.6254 -0.720 0.47500
speed 3.0186 0.8627 3.499 0.00103 **
speed - s 1.7562 1.4551 1.207 0.23350
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 15.31 on 47 degrees of freedom
Multiple R-squared: 0.6616, Adjusted R-squared: 0.6472
F-statistic: 45.94 on 2 and 47 DF, p-value: 8.761e-12


在这里,我们可以想象几个分段

posi=function(x) ifelse(x>0,x,0)


Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.6305 16.2941 -0.468 0.6418
speed 3.0630 1.8238 1.679 0.0998 .
positive(speed - s1) 0.2087 2.2453 0.093 0.9263
positive(speed - s2) 4.2812 2.2843 1.874 0.0673 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 15 on 46 degrees of freedom
Multiple R-squared: 0.6821, Adjusted R-squared: 0.6613
F-statistic: 32.89 on 3 and 46 DF, p-value: 1.643e-11


正如目前所看到的,后两个系数的显著性测试并不意味着斜率为零,而是与左侧区域(在两个阈值之前)的斜率显著不同。


点击文末“阅读原文”

获取全文完整代码数据资料


本文选自《R语言分段线性回归分析预测车辆的制动距离》。



本文中的制动距离数据分享到会员群,扫描下面二维码即可加群!


点击标题查阅往期内容

生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言Lasso回归模型变量选择和糖尿病发展预测模型
【视频】Lasso回归、岭回归正则化回归数学原理及R软件实例
群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化
【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例
R语言Lasso回归模型变量选择和糖尿病发展预测模型
用LASSO,adaptive LASSO预测通货膨胀时间序列
MATLAB用Lasso回归拟合高维数据和交叉验证
群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
R使用LASSO回归预测股票收益
广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题)
广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题)
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
Python中的Lasso回归之最小角算法LARS
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
R语言实现LASSO回归——自己编写LASSO回归算法
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
R使用LASSO回归预测股票收益
R语言如何和何时使用glmnet岭回归
R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测
R语言arima,向量自回归(VAR),周期自回归(PAR)模型分析温度时间序列
【视频】Python和R语言使用指数加权平均(EWMA),ARIMA自回归移动平均模型预测时间序列
Python用ARIMA和SARIMA模型预测销量时间序列数据



文章转载自拓端数据部落,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论