R语言之简单回归分析
数据指标建模指的是,使用若干自变量并建立公式,以预测目标变量。
如果研究的目标变量是连续型的,则称其为回归分析;如果是分类型,则称其为分类分析。
一、一元线性回归分析
data.lm<- lm(height~weight,women) 计算模型 summary(data.lm) 列出模型详细信息
结果:
其他信息: 1、相关系数r、r^2 Multiple R-squared 获取:summary(data.lm)$r.squared 判定:r^2 >0.64 高度相关 2、修正相关系数r^2,消除自变量数的影响 Adjusted R-squared 获取:summary(data.lm)$adj.r.squared 判定:r^2 >0.64 高度相关 3、回归系数的显著性检验 (1)T检验:检验各个模型参数是否等于0,并计算其等于0时的概率 判定:对每个模型参数使用T检验后计算得到的p.value值越小,其值等于0的概率越小。一般,当p.value<0.05时,可以认定k不会等于0,即模型结果可用并通过了检验。 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 25.723456 1.043746 24.64 2.68e-12 *** weight 0.287249 0.007588 37.85 1.09e-14 *** 获取:summary(data.lm)$coefficients[,4] summary(data.lm)$coefficients[1,4]是参数b的p.value值 summary(data.lm)$coefficients[2,4]是参数k的p.value值 (2)F检验:在整体上检验模型参数是否为0,并计算等于0的概率 判定:当p.value<0.05时,检验通过 F-statistic: 1433 on 1 and 13 DF, p-value: 1.091e-14 获取: f<- summary(data.lm)$fstatistic[1] df1<- summary(data.lm)$fstatistic[2] df2<- summary(data.lm)$fstatistic[3] pf(f,df1,df2,lower.tail=F)
4、模型误差(残差)
可用于体现样本点模型预测值与实际数据的差异程度。对于一个正确的回归模型,其误差要服从正态分布性。
Residual standard error
获取:summary(data.lm)$sigma
判定:norm.test(data.lm$residuals)
![](http://images0.cnblogs.com/blog/709220/201502/091200089172497.png)
预测:
1、对原始数据预测 predict(data.lm) 2、对新数据进行预测 new.data<- data.frame(weight=c(111,129)) data.pre<- predict(data.lm,new.data,level=0.95,interval="prediction") data.pre leve用于设置置信度取值 interval设置为“prediction”表示结果要计算出取值区间
二、多元线性回归分析
1、多元线性回归分析建模
data.lm<- lm(Population~.,states) summary(data.lm) data.lm<- lm(Population~Income+Illiteracy+Frost,states) 选择自变量 data.lm<- lm(Population~Income+Illiteracy:Frost,states) 交互项
2、模型修正函数update()
update函数可以在lm模型结果的基础上任意添加或减少自变量,或对目标变量做取对数及开方等建模。
lm.new<- update(data.lm,.~.+I(Area^2)) 在模型中增加Area的平方变量 lm.new<- update(data.lm,.~.-Frost) 在模型中删除Frost变量 lm.new<- update(data.lm,.~.+Frost*Area) 在模型中增加交互项 lm.new<- update(data.lm,sqrt(.)~.) 在模型中对y开方
3、逐步回归分析函数step()
lm.step<- step(data.lm)
结果:
注:模型的AIC是逐步回归效果衡量指标。AIC越小,模型越好。