预测任务是建立一个模型来找到一个数值变量和一组解释变量的关系。预测模型既可以根据未来解释变量的值来预测目标变量,也可以帮助更好地理解问题中各个变量之间的相互联系。
本篇内容基于研究特征构建模型,而非基于严格的模型选择步骤。
缺失值处理
R中的线性回归不能使用有缺失值的数据集,而回归树模型可以很自然的处理这些带有缺失值的数据。在回归树模型中,可以直接应用原始的数据样本记录。
在建立模型之前,使用不同的方法来进行数据预处理的工作。
对缺失值处理,请参看本公众号数据处理专题内容。
多元线性回归
多元线性回归模型是最常见的统计方法。模型给出了一个有关目标变量与一组解释变量关系的线性函数。这个线性函数是形如:
ß * Xi的多项式的和,其中Xi是变量,ßi是常数
由于多元线性回归模型中没有处理缺失值的方法,因此应用相似性对数据(参看数据处理专题方法案例)进行填补。
缺失值填补
给出模型函数形式
lm()函数结果是一个含有线性模型信息的方法。函数的形式是用数据中其他所有变量来预测变量a1。在实际的预测模型中,需要预测每种样本中的n个结果,需要将模型分成n个不同的线性回归。
R为因子变量season生成了3个虚拟变量
seasonspring、seasonsummer、seasonwinter
每一个有k个水平的因子变量,R会生成(k-1)个虚拟变量。这些虚拟变量的值为0或者1,当虚拟变量的值为1,表明该因子值出现,同时表明所有其他虚拟变量的值为0。如果所有(k-1)个虚拟变量的取值都为0,则表明因子变量的取值为第k个剩余的值。
模型检验
1
t检验
对于每个多元线性回归方程的系数,R显示它的估计值和标准误差。通常使用t检验来验证这些假设。
当该值为0.0001,表明有99.99%的置信度认为这个系数并非为0.对于每个测试,R都给出一个标注来表示相应的测试置信度水平。
R提供一个拒绝原假设的置信度水平,通常如果一个模型不能通过这个检验,则单个系数的t检验没有意义。
2
多元R^2
调整系数更为严格,它考虑回归模型中参数的数量。R^2表明模型所能解释的数据偏差的比例。R^2越接近1,模型拟合越好;R^2越小,模型拟合越差。
3
绘图法
有些诊断信息也可以通过绘制线性模型来进行检验。使用plot( )函数绘制拟合的目标变量值和模型残差的散点图,当误差相对较大时,R通查在该散点图中添加该误差相应的行数。
也可以使用正态Q-Q图,来检测误差是否符合应有的正态分布。
4
F检验
F检验。检查某些变量的显著性,决定模型中是否存在无关因子,影响最终的建模。
精简线性模型
对建立的模型进行方差分析结果表明:season对减少模型拟合误差的贡献度最小,将它从模型中剔除。
anova()提供一个模型拟合的方差序贯分析。随着公式中项数的增加,模型的残差平方和减少。
更新后的模型
新模型的拟合指标R^2提高到了36.8%,但是仍然有较大偏差。
模型对照
误差平方和为(-448),但是两者显著值为0.674,说明两个模型不同的可能性为30%,差距并不显著。
通过F检验对两个模型进行方差分析,据此评估两个模型是否有显著差异。
按照这个原理,不断使用anova()函数检查是否有能够剔除的不相关影响因子。
对模型进行迭代分析
模型概要
使用summary()函数获取模型的最终信息
小结
模型的选取是一个复杂的过程——既涉及到数据处理,也涉及到实际应用的模型选择。在专业领域中,可选择的模型有许多个,哪一个是真正贴合实际结果的模型,需要通过大量不同的模型对比最终决定。仅使用一种模型定论,将会产生不可预估的偏差。
领取专属 10元无门槛券
私享最新 技术干货