R语言预测海藻数量.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
R语言预测海藻数量

读取数据: algae-read.table(C:/Users/shengjun/Desktop/Analysis.txt,,s=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 - round(cor(mydata,use=plete),2) cormat install.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和NO3相关程度有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) qqPlot(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组数据影响不大,用复杂的方法填补缺失值,反而可能导致较大偏差。 6.建模: 用处理后的训练数据集algae1作为最终待处理的数据集。 建立用于预测海藻频率的线性回归模型: lm.a1-lm(a1~.,data=algae1[,1:12]) summary(lm.a1) 进行方差分析: anova(lm.a1) 剔除对模型拟合优度贡献最小的因子season lm.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.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$residuals) par(mfrow=c(1,2)) hist(final.lm$residuals) qqnorm(final.lm$residuals) 看到残差图不是正态分

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档