多元线性回归分析模型的C语言实现,手把手教你如何用R实现多元线性回归分析...

横坐标是变量,纵坐标是Adjusted R2,可见除截距项以外,只选定Population和Illiteracy这两个变量,可以使线性模型有最大的Adjusted R2。

全子集回归比逐步回归范围更广,模型优化效果更好,但是一旦变量数多了之后,全子集回归迭代的次数就很多,就会很慢。

事实上,变量的选择不是机械式地只看那几个统计指标,更主要的是根据数据的实际意义,从业务角度上来选择合适的变量。

线性模型变量的选择在《统计学习》后面的第6章还会继续讲到,到时继续综合讨论。

(3)交互项

交互项《统计学习》中花了一定篇幅来描写,但在《R语言实战》是在方差分析章节中讨论。添加变量间的交互项有时可以改善线性关系,提高Adjusted R2。针对数据的实际意义,如果两个基本上是独立的,也很难产生交互、产生协同效应的变量,那就不必考虑交互项;只有从业务角度分析,有可能产生协同效应的变量间才考虑交互项。

涉及到交互项有一个原则:如果交互项是显著的,那么即使变量不显著,也要放在回归模型中;若变量和交互项都不显著,则可以都不放。

(4)交叉验证

Andrew Ng的Machine Learning中就提到了,模型对旧数据拟合得好不一定就对新数据预测得好。因此一个数据集应当被分两训练集和测试集两部分(或者训练集、交叉验证集、测试集三部分),训练好的模型还要在新数据中测试性能。

所谓交叉验证,即将一定比例的数据挑选出来作为训练样本,另外的样本作保留样本,先在训练样本上获取回归方程,然后在保留样本上做预测。由于保留样本不涉及模型参数的选择,该样本可获得比新数据更为精确的估计。

在k 重交叉验证中,样本被分为k个子样本,轮流将k-1个子样本组合作为训练集,另外1个子样本作为保留集。这样会获得k 个预测方程,记录k 个保留样本的预测表现结果,然后求其平均值。

bootstrap包中的crossval()函数可以实现k重交叉验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值