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) 

 

如果您有任何疑问,请在下面发表评论。

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

?QQ:3025393450

?QQ交流群:186388004 

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

欢迎关注微信公众号,了解更多数据干货资讯!

欢迎选修我们的R语言数据分析挖掘必知必会课程!

原文地址:https://www.cnblogs.com/tecdat/p/12051523.html

时间: 2024-08-03 06:33:47

R语言对回归模型进行协方差分析的相关文章

2015lopdev生态联盟开发者大会:股市中的R语言量化算法模型

前言 记得10年前还在上学的时候,总是参加IBM的大会,看着各种新技术从实验室创造,特别地神奇.今天我也有机会站在了IBM大会的讲台上,给大家分享我所研究的R语言技术,对我来说也是一件非常有纪念意义的事情. 感谢IBM主办方的邀请,也真心希望有机会与IBM建立合作机会. 目录 我的演讲主题:股市中的R语言量化算法模型 会议体验和照片分享 整体文章:http://blog.fens.me/meeting-lopdev-20150922/

2015WOT移动互联网开发者大会:股市中的R语言量化算法模型

前言 大会历时两天,以"洞察移动互联网用户行为 分享移动应用研发实践"为主题,共设立"架构与设计"."平台与技术"."MDSA创新与创业"."移动游戏"."算法分析"."HTML5专场"."运维安全"."新浪微博技术"等八大技术专场,并垂直整合了技术和体验,深度服务于参会者与讲师.同时,在内容上也深度结合了目前移动互联网环境,通

R语言︱LDA主题模型——最优主题...

R语言︱LDA主题模型--最优主题...:https://blog.csdn.net/sinat_26917383/article/details/51547298#comments 原文地址:https://www.cnblogs.com/yijiaming/p/10148427.html

利用R语言+逻辑回归实现自动化运营

摘要 逻辑回归是最常见的二分类算法之一,由于是有监督学习,训练阶段需要输入标签,而同时在变量较多的情况下,需要先经过一些降维处理,本文主要讲解如果通过R语言来自动化实现变量的降维以及变量转换,训练,测试,覆盖率以及准确度效果评估,以及生成最终评分配置表,而在标签与训练数据在可以自动化生成的情况下,配置表是能自动生成的.其中每个步骤都有详细的实现代码. 主要步骤 实现细节 1.生成训练数据 如类似下面的格式 lable var1 var2 var3 var4 var5 var6 var7 var8

R语言使用Rasch模型分析学生答题能力

原文链接:http://tecdat.cn/?p=10175 几个月以来,我一直对序数回归与项目响应理论(IRT)之间的关系感兴趣. 在这篇文章中,我重点介绍Rasch分析. 最近,我花了点时间尝试理解不同的估算方法.三种最常见的估算方法是: 联合最大似然(JML) 条件逻辑回归,在文献中称为条件最大似然(CML). 标准多级模型,在测量文献中称为边际最大似然(MML). 阅读后,我决定尝试进行Rasch分析,产生多个Rasch输出. 示范 进行此演示之后,可能需要ggplot2和dplyr的知

R语言-逻辑回归建模

案例1:使用逻辑回归模型,预测客户的信用评级 数据集中采用defect为因变量,其余变量为自变量 1.加载包和数据集 library(pROC) library(DMwR)model.df <- read.csv('E:\\Udacity\\Data Analysis High\\R\\R_Study\\高级课程代码\\数据集\\第一天\\4信用评级\\customer defection data.csv',sep=',',header=T 2.查看数据集, dim(model.df) hea

R语言-文本挖掘 主题模型 文本分类

####需要先安装几个R包,如果有这些包,可省略安装包的步骤.#install.packages("Rwordseg")#install.packages("tm");#install.packages("wordcloud");#install.packages("topicmodels") 例子中所用数据 数据来源于sougou实验室数据. 数据网址:http://download.labs.sogou.com/dl/so

R语言之回归树

rpart包可实现回归树.通常分为两步建立回归树:1.生成一棵较大的树  2.通过统计估计删除一些结点来对树进行修剪. 回归树基础实现 library(rpart) rpart(y~.,data=data1)  参数形式与lm()函数的参数形式相同 图形化展示: plot(rm) text(rm) rpart()函数构建树时,满足下列条件,树构建过程将结束: 1.偏差的减少小于某一个给定界限值时: 2.当结点中的样本数量小于某个给定界限时: 3.当树的深度大于一个给定的界限值 这3个界限值由rp

R语言的ARIMA模型预测

R通过RODBC连接数据库 stats包中的st函数建立时间序列 funitRoot包中的unitrootTest函数检验单位根 forecast包中的函数进行预测 差分用timeSeries包中diff stats包中的acf和pacf处理自相关和偏自相关stats包中的arima函数模型