R语言分段回归数据数据分析案例报告
原文:http://tecdat.cn/?p=3805
我们在这里讨论所谓的“分段线性回归模型”,因为它们利用包含虚拟变量的交互项。
读取数据
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() # 总趋势
散点图分为两部分
我们可以将原始散点图分为两部分,并拟合两条单独但相连的线。估计的分段式函数连接,在描述数据趋势方面做得更好。
因此,让我们为这些数据建立一个分段线性回归模型并可视化:
+ geom_smooth() + theme(panel.background = element_rect(fill = 'white', colour = 'black'))
赞 (0)