收藏 分享(赏)

R语言预测海藻数量.doc

上传人:HR专家 文档编号:11351856 上传时间:2020-04-02 格式:DOC 页数:8 大小:165.50KB
下载 相关 举报
R语言预测海藻数量.doc_第1页
第1页 / 共8页
R语言预测海藻数量.doc_第2页
第2页 / 共8页
R语言预测海藻数量.doc_第3页
第3页 / 共8页
R语言预测海藻数量.doc_第4页
第4页 / 共8页
R语言预测海藻数量.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、1. 读取数据:algae-read.table(C:/Users/shengjun/Desktop/Analysis.txt,col.names=c(season, size, speed, mxPH, mnO2, Cl, NO3, NH4, oPO4, PO4, Chla, a1, a2, a3, a4, a5, a6, a7),na.strings=c(XXXXXXX)head(algae)2.获取数据描述性统计摘要:summary(algae)3.做变量间的相关程度图:mydata - algae, c(4,5,6,7,8,9,10,11)head(mydata)cormat - ro

2、und(cor(mydata,use=plete),2)cormatinstall.packages(theme_minimal)install.packages(ggplot2)install.packages(reshape2) library(reshape2)melted_cormat - melt(cormat)head(melted_cormat) library(ggplot2)ggplot(data = melted_cormat, aes(x=X1, y=X2, fill=value) + geom_tile()由表和图比较直观看到但变量之间相关系数不大,但特殊的NH4和NO

3、3相关程度有0.72、变量PO4、oPO4 之间相关程度很大达到91.2%。这说明变量间从直观上也可以看出有可能存在着多重共线性的影响。4.判断数据是否服从正态:par(mfrow=c(2,4) library(car)qqPlot(algae$mxPH, main=Normal QQ plot of maximum pH)qqPlot(algae$mnO2, main=Normal QQ plot of mnO2)qqPlot(algae$Cl, main=Normal QQ plot of Cl)qqPlot(algae$NO3, main=Normal QQ plot of NO3)qq

4、Plot(algae$NH4, main=Normal QQ plot of NH4)qqPlot(algae$oPO4, main=Normal QQ plot of oPO4)qqPlot(algae$Chla, main=Normal QQ plot of Chla)qqPlot(algae$PO4, main=Normal QQ plot of PO4)从图上看到都不服从正态分布5.找数据确实值并填补:algae!complete.cases(algae),algae1-na.omit(algae)用书上第一种方法直接将确实部分剔除,因为200组数据剔除16组数据影响不大,用复杂的方法

5、填补缺失值,反而可能导致较大偏差。6.建模:用处理后的训练数据集algae1作为最终待处理的数据集。建立用于预测海藻频率的线性回归模型:lm.a1-lm(a1.,data=algae1,1:12)summary(lm.a1)进行方差分析:anova(lm.a1)剔除对模型拟合优度贡献最小的因子seasonlm.a2-update(lm.a1,.-season)summary(lm.a2)比较a1,a2两个模型lm.a1的R2=0.3379, lm.a2的R2=0.3343相差不大, lm.a2 和lm.a1 的方差比较,anova(lm.a1,lm.a2)误差平方和减少了271.06,显著性0

6、.8228,两个模型不同的可能性有17.72%,基本说明相同。用向后消元法:final.lm-step(lm.a1)得到新的线性模型为最后模型为:summary(final.lm)得到模型为:a1=24.74+3.77sizemedium+11.01sizesmall-0.04Cl-1.36NO3+0.0001NH4-0.06PO4 (7.766) (1.139) (3.151) (-1.411) (-2.726) (1.487) (-5.355)R2=0.32 P0.05通过检验,但是拟合效果欠佳。7.模型检验,看残差是否正态分布:shapiro.test(final.lm$residual

7、s)par(mfrow=c(1,2)hist(final.lm$residuals)qqnorm(final.lm$residuals)看到残差图不是正态分布,有信息没有提取充分,回归方程不是很好。8.建立回归树建模:library(rpart) algaetree-algae1-c(62,199),rt.a1 =7.2915 156 34825.470 10.026920 4) PO4=43.818 139 21611.510 7.546043 8) oPO4=51.118 82 3432.549 3.896341 * 9) oPO4=10.05 24 1276.510 6.770833 *

8、 19) mnO2 10.05 33 12733.700 17.178790 38) oPO4=24.917 25 11202.390 20.516000 78) mnO2=9.4 9 6244.202 30.744440 * 5) PO4 43.818 17 5363.378 30.311760 * 3) Cl 7.2915 27 10118.690 46.377780 6) season=spring,summer 16 4248.400 36.850000 * 7) season=autumn,winter 11 2305.165 60.236360 *printcp(rt.a1)Reg

9、ression tree:rpart(formula = a1 ., data = algaetree, 1:12)Variables actually used in tree construction:1 Cl mnO2 oPO4 PO4 seasonRoot node error: 75358/183 = 411.79n= 183 CP nsplit rel error xerror xstd1 0.403589 0 1.00000 1.00576 0.147702 0.104178 1 0.59641 0.73696 0.129563 0.047309 2 0.49223 0.6620

10、1 0.123004 0.035346 3 0.44492 0.59706 0.117655 0.019973 4 0.40958 0.54944 0.115156 0.017382 5 0.38960 0.56140 0.112647 0.010000 7 0.35484 0.56955 0.11371printcp(rt.a1)Regression tree:rpart(formula = a1 ., data = algaetree, 1:12)Variables actually used in tree construction:1 Cl mnO2 oPO4 PO4 seasonRo

11、ot node error: 75358/183 = 411.79n= 183 CP nsplit rel error xerror xstd1 0.403589 0 1.00000 1.00576 0.147702 0.104178 1 0.59641 0.73696 0.129563 0.047309 2 0.49223 0.66201 0.123004 0.035346 3 0.44492 0.59706 0.117655 0.019973 4 0.40958 0.54944 0.115156 0.017382 5 0.38960 0.56140 0.112647 0.010000 7 0.35484 0.56955 0.11371作为最终模型。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报