R语言与回归

首先,先来一篇文章:回归分析的七种武器 ,这里详细地讲解了回归分析的各种类型,我就不要在这里啰嗦了。接下来,我先说说简单线性回归。
所用数据为R中基础安装中的数据集women,提供了15个年龄在30~39岁间女性的身高体重信息。

> women
   height weight
1      58    115
2      59    117
3      60    120
4      61    123
5      62    126
6      63    129
7      64    132
8      65    135
9      66    139
10     67    142
11     68    146
12     69    150
13     70    154
14     71    159
15     72    164

单从数字上看不出什么,我们先做一个图来看看它们之间到底有没有相关性,有相关性的话再开始进一步的回归分析。

plot(women)
Paste_Image.png

嗯,很好,明显的正相关,接下来,就可以欢欢喜喜地去做相关模型啦~
现在,我们要用R中的lm()函数进行回归。


lm()用法:

lm(formula, data,...)

参数是formula模型公式,例如y ~ x。公式中波浪号(~)左侧的是响应变量,右侧是预测变量。函数会估计回归系数β0和β1,分别以截距(intercept)和x的系数表示。


fit<-lm(weight~height,data=women)
 summary(fit)

Call:
lm(formula = weight ~ height, data = women)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.7333 -1.1333 -0.3833  0.7417  3.1167 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -87.51667    5.93694  -14.74 1.71e-09 ***
height        3.45000    0.09114   37.85 1.09e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.525 on 13 degrees of freedom
Multiple R-squared:  0.991, Adjusted R-squared:  0.9903 
F-statistic:  1433 on 1 and 13 DF,  p-value: 1.091e-14

以上,我们先用lm()拟合结果,然后用summary()对结果进行展示。

Coefficients列出了拟合模型的截距项(-87.51667)和斜率( 3.45000); 1.525为残差标准误,即模型用身高预测体重的平均误差; 0.991为R^2项,即实际和预测之间的相关系数,表明模型可以解释体重99.1%的方差;另从p值(1.09e-14<0.001)可以看出不可以拒绝回归系数为0的推断。

所以,可以得到回归模型为:

Weight=-87.52+3.45*Height

表明身高每增加1英寸,体重将预计增加3.45磅。

最后,我们列出由模型得到的预测值并画出曲线图:

fitted(fit)
       1        2        3        4        5        6        7        8        9       10 
112.5833 116.0333 119.4833 122.9333 126.3833 129.8333 133.2833 136.7333 140.1833 143.6333 
      11       12       13       14       15 
147.0833 150.5333 153.9833 157.4333 160.8833 
> plot(women$height,women$weight)
> abline(fit)
Paste_Image.png

从图中可以看出,模型基本很好地拟合了原始数据,但是并没有提供关于模型在多大程度满足统计假设的信息,我们需要对其进行回归诊断。
对返回的fit使用plot()函数,可以生成评价模型拟合情况的四幅诊断图。

par(mfrow=c(2,2))
plot(fit)
![Uploading Paste_Image_978641.png . . .]

以上四幅图分别为残差图与拟合图(判断线性)、正态QQ图(判断正态性)、位置R度图(判断同方差性)、残差与杠杆图(检验异常点)。

根据OLS回归的统计假设,我们对以上图形一次进行判断:

  • 正态性 :若满足正态性的要求,则图中的点应落在呈45度角的直线上
  • 独立性:根据题目要求,由于女性的身高体重相互独立,固满足要求
  • 线性:若因变量与自变量线性相关,则残差值与预测值就没有任何系统关联,很明显,图中呈现一条曲线关系。
  • 同方差性:若满足不变方差的假设,则图中水平线周围的点应随机分布。

根据上述分析,我们的模型并没有达到最优,还可以进行改良。
根据经验,选择在拟合模型上加一个二次项:

 fit2<-lm(weight~height+I(height^2),data=women)
 par(mfrow=c(2,2))
 plot(fit2)
第二次拟合诊断图

这一次的诊断效果明显比过去好了,那么我们就来看看这个模型的参数吧:

summary(fit2)

Call:
lm(formula = weight ~ height + I(height^2), data = women)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.50941 -0.29611 -0.00941  0.28615  0.59706 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 261.87818   25.19677  10.393 2.36e-07 ***
height       -7.34832    0.77769  -9.449 6.58e-07 ***
I(height^2)   0.08306    0.00598  13.891 9.32e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.3841 on 12 degrees of freedom
Multiple R-squared:  0.9995,    Adjusted R-squared:  0.9994 
F-statistic: 1.139e+04 on 2 and 12 DF,  p-value: < 2.2e-16

根据p值斜率与方差显著,R^2值99.95%,模型拟合的更好了。

Weight=261.88-7.35*Height+0.08*Height^2

最后,我们来总结一下简单线性回归的一般步骤吧:

Paste_Image.png

哦,对了,参考书就是那本评分很高的《R in Action》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容