码迷,mamicode.com
首页 > 编程语言 > 详细

R语言之线性回归分析

时间:2017-03-09 19:46:11      阅读:3521      评论:0      收藏:0      [点我收藏+]

标签:step   lib   实现   std   计算   对象   失效   summary   接受   

一、建立简单线性回归模型
可使用函数lm实现,函数是围绕公式展开的,lm接受一个公式对象作为试图建立的模型,可以通过?formula来查询通用格式,data.frame也可以被明确指定,它包括所需的数据
> library(RSADBE)
> data(IO_Time)
> IO_lm = lm(CPU_Time ~ No_of_IO,data=IO_Time)
> class(IO_lm)
> summary(IO_lm)
结果中:
F-statistic: 635.4 on 1 and 8 DF,  p-value: 6.569e-09为模型的整体检验,也就是F检验

Multiple R-squared:  0.9876,    Adjusted R-squared:  0.986 为决定系数和校正的决定系数

            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 0.050933   0.010033   5.077 0.000957 ***
No_of_IO    0.040758   0.001617  25.207 6.57e-09 ***
为自变量和截距的估计值和检验结果,*越多表示越显著

Residuals:
      Min        1Q    Median        3Q       Max
-0.016509 -0.011592 -0.001327  0.005279  0.024006

为残差的统计量,中位数接近0表示接近标准正态分布,因为标准正态分的中位数为0

二、多元线性回归

也使用lm函数,但是公式格式有所改变

> data(Gasoline)
> gasoline_lm = lm(y~., data=Gasoline)
> summary(gasoline_lm)

这里公式y~.表示因变量为y,其余所有变量都为自变量

三、四种残差
1.标准化残差
就是将残差进行标准化后的结果

2.半学生化残差
对标准化残差的修正

3.预测残差
是真实值与预测值之差

4.R-学生化残差
对异常值的检测很有用

通过resid函数提取残差,并进行标准化,就得到标准化残差;
通过rstandard函数得到预测残差
通过rstudetn函数得到R-学生化残差

五、异常值

异常值分为杠杆点和影响点,针对自变量的称为杠杆点,针对因变量的称为影响点
1.杠杆点
杠杆点对回归系数没有影响,但是会影响决定系数,可以通过观察帽子矩阵来识别,杠杆作用的平均值为h=p/n,p为自变量个数,n为样本量,如果一个观测值的杠杆值>2h,则应考虑为杠杆点,考虑剔除或采取措施。R中可以通过hatvalues函数计算杠杆值。
> data(Gasoline)
> gasoline_lm = lm(y~., data=Gasoline)
> hatvalues(gasoline_lm)
> which(hatvalues(gasoline_lm) > length(gasoline_lm$coefficients)/nrow(Gasoline))

2.影响点
影响点有将回归线拉向它的趋势,因此会影响回归系数的值,可以通过COOK距离来判断,R中可以通过cooks.distance函数计算每个观测值的COOK距离。根据经验,如果距离大于1,则说明观测点为影响点。

此外,还可以通过dffits函数和dfbetas函数计算相应的值,如果dffits>2/根号p/n,那么可认为是影响点,如果dfbetas>2/根号n,也可认为是影响点,p为自变量个数,n为样本量

六、多重共线性
多重共线性可能会引起的问题有
1、回归系数不可信,并且可能符号出现错误
2.t检验和F检验失效
3.某些预测值的重要性会削弱
可以通过car包和faraway包的VIF函数计算VIF值

七、模型选择
函数step可以实现基于AIC准则的模型选择,最优模型为AIC值最小的
> data(Gasoline)
> gasoline_lm = lm(y~., data=Gasoline)
> step(gasoline_lm)

R语言之线性回归分析

标签:step   lib   实现   std   计算   对象   失效   summary   接受   

原文地址:http://www.cnblogs.com/xmdata-analysis/p/6526996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!