打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R语言对回归模型进行协方差分析

原文链接:http://tecdat.cn/?p=9529



目录

怎么做测试

协方差分析

拟合线的简单图解

模型的p值和R平方

检查模型的假设

具有三类和II型平方和的协方差示例分析

协方差分析

拟合线的简单图解

组合模型的p值和R平方

检查模型的假设


怎么做测试

具有两个类别和II型平方和的协方差示例的分析

本示例使用II型平方和 。参数估计值在R中的计算方式不同, 



Data = read.table(textConnection(Input),header=TRUE)
plot(x = Data$Temp, y = Data$Pulse, col = Data$Species, pch = 16, xlab = "Temperature", ylab = "Pulse")
legend('bottomright', legend = levels(Data$Species), col = 1:2, cex = 1, pch = 16)

协方差分析





Anova Table (Type II tests)

Sum Sq Df F value Pr(>F)
Temp 4376.1 1 1388.839 < 2.2e-16 ***
Species 598.0 1 189.789 9.907e-14 ***
Temp:Species 4.3 1 1.357 0.2542

### Interaction is not significant, so the slope across groups
### is not different.


model.2 = lm (Pulse ~ Temp + Species, data = Data)
library(car)
Anova(model.2, type="II")

Anova Table (Type II tests)

Sum Sq Df F value Pr(>F)
Temp 4376.1 1 1371.4 < 2.2e-16 ***
Species 598.0 1 187.4 6.272e-14 ***

### The category variable (Species) is significant,
### so the intercepts among groups are different


Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.21091 2.55094 -2.827 0.00858 **
Temp 3.60275 0.09729 37.032 < 2e-16 ***
Speciesniv -10.06529 0.73526 -13.689 6.27e-14 ***


### but the calculated results will be identical.
### The slope estimate is the same.
### The intercept for species 1 (ex) is (intercept).
### The intercept for species 2 (niv) is (intercept) + Speciesniv.
### This is determined from the contrast coding of the Species
### variable shown below, and the fact that Speciesniv is shown in
### coefficient table above.


niv
ex 0
niv 1

拟合线的简单图解


plot(x = Data$Temp, y = Data$Pulse, col = Data$Species, pch = 16, xlab = "Temperature", ylab = "Pulse")

 

模型的p值和R平方



Multiple R-squared: 0.9896, Adjusted R-squared: 0.9888
F-statistic: 1331 on 2 and 28 DF, p-value: < 2.2e-16

检查模型的假设

 

线性模型中残差的直方图。这些残差的分布应近似正态。

 

残差与预测值的关系图。残差应无偏且均等。 

### additional model checking plots with: plot(model.2)### alternative: library(FSA); residPlot(model.2)

具有三类和II型平方和的协方差示例分析

本示例使用II型平方和,并考虑具有三个组的情况。 

### --------------------------------------------------------------### Analysis of covariance, hypothetical data### --------------------------------------------------------------

Data = read.table(textConnection(Input),header=TRUE)



plot(x = Data$Temp, y = Data$Pulse, col = Data$Species, pch = 16, xlab = "Temperature", ylab = "Pulse")
legend('bottomright', legend = levels(Data$Species), col = 1:3, cex = 1, pch = 16)

协方差分析

options(contrasts = c("contr.treatment", "contr.poly")) ### These are the default contrasts in R
Anova(model.1, type="II")

Sum Sq Df F value Pr(>F)
Temp 7026.0 1 2452.4187 <2e-16 ***
Species 7835.7 2 1367.5377 <2e-16 ***
Temp:Species 5.2 2 0.9126 0.4093

### Interaction is not significant, so the slope among groups
### is not different.



Anova(model.2, type="II")

Sum Sq Df F value Pr(>F)
Temp 7026.0 1 2462.2 < 2.2e-16 ***
Species 7835.7 2 1373.0 < 2.2e-16 ***
Residuals 125.6 44

### The category variable (Species) is significant,
### so the intercepts among groups are different


summary(model.2)

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.35729 1.90713 -3.333 0.00175 **
Temp 3.56961 0.07194 49.621 < 2e-16 ***
Speciesfake 19.81429 0.66333 29.871 < 2e-16 ***
Speciesniv -10.18571 0.66333 -15.355 < 2e-16 ***

### The slope estimate is the Temp coefficient.
### The intercept for species 1 (ex) is (intercept).
### The intercept for species 2 (fake) is (intercept) + Speciesfake.
### The intercept for species 3 (niv) is (intercept) + Speciesniv.
### This is determined from the contrast coding of the Species
### variable shown below.


contrasts(Data$Species)

fake niv
ex 0 0
fake 1 0
niv 0 1

拟合线的简单图解

 

组合模型的p值和R平方




Multiple R-squared: 0.9919, Adjusted R-squared: 0.9913
F-statistic: 1791 on 3 and 44 DF, p-value: < 2.2e-16

检查模型的假设

hist(residuals(model.2), col="darkgray")

 

线性模型中残差的直方图。这些残差的分布应近似正态。

plot(fitted(model.2), residuals(model.2))

 

残差与预测值的关系图。残差应无偏且均等。 



### additional model checking plots with: plot(model.2)### alternative: library(FSA); residPlot(model.2)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
R语言分层线性模型
kaggle实战:6大回归模型预测航班票价
协方差分析的基本思想和应用前提(中)
Python之sklearn2pmml:sklearn2pmml库函数的简介、安装、使用方法之详细攻略
等直与圆弧动点平方和模型
一个用R语言进行Kmeans聚类分析的例子
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服