R语言与回归分析_第1页
R语言与回归分析_第2页
R语言与回归分析_第3页
R语言与回归分析_第4页
R语言与回归分析_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、R 语言与回归分析回归模型是计量里最基础也最常见的模型之一。究其原因,我想是因为在实际问题中我们并不知道总体分布如何,而且只有一组数据,那么试着对数据作回归分析将会是一个不错的选择。一、简单线性回归简单的线性回归涉及到两个变量:一个是解释变量,通常称为X;另一个是被解释变量,通常称为y。回归会用常见的最小二乘算法拟合线性模型:yi=B0+B1xi+si其中BO和Bl是回归系数,表示误差。在R中,你可以通过函数lm()去计算他。Lm()用法如下:lm(formula,data,subset,weights,na.action,method=qr,model=TRUE,x=FALSE,y=FALS

2、E,qr=TRUE,singular.ok=TRUE,contrasts=NULL,offset,.)参数是formula模型公式,例如yx。公式中波浪号()左侧的是响应变量,右侧是预测变量。函数会估计回归系数B0和B1,分别以截距(intercept)和x的系数表示。有三种方式可以实现最小二乘法的简单线性回归,假设数据wagel(可以通过names函数查看数据框各项名称)(1)lm(wage1$wagewage1$educ+wage1$exper)lm(wageeduc+exper,data=wage1)(3)attach(wage1)lm(wageeduc+exper)#不要忘记处理完后用

3、detach()解出关联我们以数据wagel为例,可以看到工资与教育水平的线性关系:运行下列代码:library(foreign)Alm(wageeduc,data=A)Call:lm(formula=wageeduc,data=A)Coefficients:(Intercept)educ-0.90490.5414当然得到这些数据是不够的,我们必须要有足够的证据去证明我们所做的回归的合理性。那么如何获取回归的信息呢?尝试运行以下代码:result|t|)(Intercept)-0.904850.68497-1.3210.187educ0.541360.0532510.1672e-16*Sign

4、if.codes:0*0.001*0.010.05.0.11Residualstandarderror:3.378on524degreesoffreedomMultipleR-squared:0.1648,AdjustedR-squared:0.1632F-statistic:103.4on1and524DF,p-value:2.2e-16解读上述结果,我们不难看出,单从判决系数R-squared上看,回归结果是不理想的, 但是, 从p值来看, 我们还是可以得到回归系数是很显著地 (注意, 这里的P0.05就可以认为拒绝回归系数为0,即回归变量与被解释变量无关的原择假设,选择备择假设)所以说我

5、们的回归的效果不好但还是可以接受的。当然,这一点也可以通过做散点图给我们直观的印象:2gCDOJ4Dg8ooczS3-8Omws0IHi80HB00Omws0IHi80HB0000o800o8Q20O8BQ20O8BQ1012141618educ但是影响薪酬的因素不只是education,可能还有其他的,比如工作经验,工作任期。为了更好地解释影响薪酬的因素,我们就必须用到多元线性回归二、多元线性回归还是使用lm函数。在公式的右侧指定多个预测变量,用加号(+)连接:lm(yu+v+w)显然,多元线性回归是简单的线性回归的扩展。可以有多个预测变量,还是用OLS计算多项式的系数。三变量的回归等同于这

6、个线性模型:yi=B0+B1ui+B2vi+B3wi+si在R中,简单线性回归和多元线性回归都是用lm函数。只要在模型公式的右侧增加变量即可。输出中会有拟合的模型的系数:result1summary(result1)Call:lm(formula=wageeduc+exper+tenure,data=A)Residuals:Min1QMedian3QMax-866.29-249.23-51.07189.622190.01Coefficients:EstimateStd.ErrortvaluePr(|t|)(Intercept)-276.240106.702-2.5890.009778*Sign

7、if.codes:0*0.001*0.01*0.05Residualstandarderror:374.3on931degreesoffreedomMultipleR-squared:0.1459,AdjustedR-squared:0.1431F-statistic:53on3and931DF,p-value:2.2e-16educ74.415exper14.892tenure8.2576.28711.8363.2534.5782.4983.306plot(wageeduc,data=A)A$logwageresult1summary(result1)Call:lm(formula=logw

8、ageeduc+exper+tenure,data=A)Residuals:Min1QMedian3QMax-2.05802-0.29645-0.032650.287881.42809Coefficients:EstimateStd.ErrortvaluePr(|t|)(Intercept)0.2843600.1041902.7290.00656*educ0.0920290.00733012.5552e-16*exper0.0041210.0017232.3910.01714*tenure0.0220670.0030947.1333.29e-12*Signif.codes:0*0.001*0.

9、010.05.0.11Residualstandarderror:0.4409on522degreesoffreedomMultipleR-squared:0.316,AdjustedR-squared:0.3121F-statistic:80.39on3and522DF,p-value:2.2e-16看得出,平稳化后的数据线性性是更加好的。下面我们来提取回归分析的各项统计数据:一些统计量和参数都被存储在lm或者summary中outputv-summary(result1)SSR-deviance(result1)#残差平方和;(另一种方法:RSquared-output$r.squared

10、)LL-logLik(result1)#对数似然统计量DegreesOfFreedom-result1$df#自由度Yhat-result1$fitted.values#拟合值向量Resid-result1$residualss-output$sigma#误差标准差的估计值(假设同方差)CovMatrix-sA2*output$cov#系数的方差一协方差矩阵(与vcov(resultl)同)ANOVA-anova(result1)confidentinterval-confint(result1)#回归系数的置信区间,level=0.95effects(result1)#计算正交效应向量(Vectoroforthogonaleffects)三、检查结果通过图形我们可以以一种十分直观的办法检测我们的拟合效果:plot(result1)NormalCVQ通过扩展包car中的函数来检测异常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论