R语言-预测海藻数量2(获取预测模型,提高模型准确性)

获取预测模型
因为海藻数量基本是数值型数据,所以考虑进行回归分析(多元线性回归模型),一个变量和一组解释变量的关系

 clean.algae <- knnImputation(algae,k = 10)
>lm.a1 <- lm(a1 ~ . ,data = clean.algae[,1:12])
#.的意思是求a1和其他所有的数据之间的线性关系;属性1+属性2的方法也行
> summary(lm.a1)
> #使用summary()查看结果

《R语言-预测海藻数量2(获取预测模型,提高模型准确性)》
查看结果之后发现系统生成了几个辅助变量seasonspring
seasonsummer
seasonwinter
sizemedium
sizesmall
等,这里以season举例说明,season一共有春夏秋冬四个取值,在生成辅助变量的时候回生成3(4-1)个辅助变量。size原本有大中小三种取值,同理,这里生成两个辅助变量。

  • R-squared 是评价模型好坏的一个指标取值在c(0:1),越接近1越好。

精简回归模型

之前我们将左右的变量都与a1的变化进行了绑定分析,但这是不一定科学的,因为存在变量不与a1有明显的线性关系。

下面我们要去除一些相关性不大的变量,使用 向后消元法anova() 来精简回归模型(根据模型残差平方和的变化),平时说的 分差分析

方差分析的基本思想:通过分析研究不同来源的变异对总变异的贡献大小,从而确定可控因素对研究结果影响力的大小。
方差分析主要用途:①均数差别的显著性检验,②分离各有关因素并估计其对总变异的作用,③分析因素间的交互作用,④方差齐性检验。

> anova(lm.a1)

《R语言-预测海藻数量2(获取预测模型,提高模型准确性)》

Sum Sq表示模型与数据的紧密匹配

> anova(lm.a1,lm.a2)

《R语言-预测海藻数量2(获取预测模型,提高模型准确性)》
可以看到去除掉变量season之后Sum of Sq(方差)已经减少了471.71,方差分析是一个逐步精化的过程,R语言也非常友好地提供了精化到最终结果的方法。

> final.lm <- step(lm.a1)
> #使用final.lm接受最后结果,step()可以看到每一步精化的过程

《R语言-预测海藻数量2(获取预测模型,提高模型准确性)》

    原文作者:i_jiebaby
    原文地址: https://blog.csdn.net/lovely_J/article/details/82188353
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞