我们在这里讨论所谓的“分段线性回归模型”,因为它们利用包含虚拟变量的交互项

读取数据

data=read.csv("artificial-cover.csv")

查看部分数据

head(data)

##   tree.cover shurb.grass.cover
## 1       13.2              16.8
## 2       17.2              21.8
## 3       45.4              48.8
## 4       53.6              58.7
## 5       58.5              55.5
## 6       63.3              47.2
###########用lm拟合,主要注意部分是bs(age,knots=c(...))这部分把自变量分成不同部分
fit =lm(tree.cover~bs(shurb.grass.cover ,knots
############进行预测,预测数据也要分区
pred= predict (fit , newdata =list(shurb.grass.cover =data$shurb.grass.cover),se=T)
#############然后画图
plot(fit)

可以构造一个相对复杂的 LOWESS 模型(span参数取小一些),然后和一个简单的模型比较,如:

qplot(x, y) + geom_smooth()  # 总趋势

r语言回归分析 r语言回归分析预测案例_r语言

相关视频

散点图分为两部分

r语言回归分析 r语言回归分析预测案例_r语言回归分析_02

我们可以将原始散点图分为两部分,并拟合两条单独但相连的线。估计的分段式函数连接,在描述数据趋势方面做得更好。

01

r语言回归分析 r语言回归分析预测案例_r语言回归分析_03

02

r语言回归分析 r语言回归分析预测案例_开发语言_04

03

r语言回归分析 r语言回归分析预测案例_r语言_05

04

r语言回归分析 r语言回归分析预测案例_回归_06

因此,让我们为这些数据建立一个分段线性回归模型并可视化:

0) + geom_smooth() + theme(panel.background = element_rect(fill = 'white', colour = 'black'))

r语言回归分析 r语言回归分析预测案例_开发语言_07