R语言—数据分析3

Posted 三只产品数据汪1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言—数据分析3相关的知识,希望对你有一定的参考价值。

上篇文章给大家留了个作业,那么答案现在揭晓:

缺失值数据里,通过变量的相关性填补缺失值:

  : > cor(algae[,4:18],use ="complete.obs") 命令得出函数间的相关之,知识点函数cor()

  :>symnum(cor(algae[,4:18],use = "complete.obs"))函数symnum改善输出结果

  : > lm(PO4~oPO4,data =algae) 通过模型得出相关函数,填充缺失值

以上是上次课余答案。今天将如何根据数据建立模型:通过多元线性回归,和回归树模型两种不同的模型;

线性回归:R预言中,线性回归不能使用有缺失值的数据集;通过如下命令,我们得到不含缺失值的数据集;

通过lm()建立一个回归模型,用其他所有变量来预测变量a1,其中第一个参数点“.”代表数据框a1之外的所有变量。

通过summary()获取多元线性模型的信息。

对得到的线性模型对象用summary()函数得到一些诊断信息,:

  拟合残差:残差应该是均值为0,且正态分布(显然残差尽可能的小)

  为了检验系数的重要性,通过t检验(假设系数为0,被拒绝的概率)来验证,Pr(>|t|) 显示与系数相关的一列 

  R2表示模型与数据的吻合度,越接近于1,越好。

由此可知该模型的方差不好(32%),目标变量不依赖预测变量假设。检查某些系数的显著性,会得出有些变量不应该进入模型。

R语言—数据分析3

用anova()精简线性模型。函数anova(lm.a1),提供线性拟合的方差分析。

由上面可知season对线性拟合的方差贡献非常小,可以剔除。

用update()将变量season删除

R语言—数据分析3

新模型R2提高到了32.8%,依然不好。

用anova比较两个模型,但是Pr(>F)是0.69,不显著,区别不大。

接下来还需要重复删除变量步骤。你觉得是人工一直这样手动删除检验么~~~

当然不是啦,R提供了函数,可以直接自动完成。

如下,只需要step这一步,就可以自动完成向后消元过程。

向后消元完成后,还需要用summary()检验;从如下检验结果看, R2依然不是很理想33.24%,此时我们就需要考虑更换模型了。

利用回归树??这个问题小编先留给大家思考,下期内容更新实现方法。

 

知识点:1:多元线性回归lm()

       2:summary()函数

       3:anova()函数

       4:step()函数

 


以上是关于R语言—数据分析3的主要内容,如果未能解决你的问题,请参考以下文章

r语言 主成分分析 图上怎么加图形框起来

R语言数据分析和画图基础讲解

R语言系列3:高级数据管理

R语言—数据分析3

【R语言 第3篇】用R进行主成分分析

【系列】主成分分析(3)案例(R语言)