回归
回归概念:回归是一个广义的概念,通常指的是用一个或者多个预测变量来预测响应变量(因变量,结果变量)的方法。
回归分析存在多种变体,回归按照类型来划分的话可以分为以下几种类型:
![]()
OLS回归:OLS回归是通过预测变量的加权来预测量化的因变量,其中权重是通过数据估计而得到的参数。
![]()
使用lm()拟合回归模型
在R语言中,拟合线性模型最基本的函数就是lm(),格式为:myfit<-lm(formula,data)
其中,formula是要拟合的模型形式,data是一个数据框,包括了拟合模型的数据。结果对象为一个存储列表,并且存储在myfit中,里面包含了模型的多数信息。
Y~X1+X2+…+Xk
~左边为响应变量,右边为各个预测的变量,预测的变量之间用+号分割。
在R语言中,表达式里常用的一些符号可以归结如下:
![]()
拟合线性模型中常用的一些函数:
![]()
包含一个因变量和一个自变量,可以称之为简单线性回归,只有一个预测变量但是包含该变量的幂,可以成为多项式回归,不止一个预测变量可以称之为多元线性回归。
如下是一个简单线性回归的实现:
![]()
多项式回归
可以通过添加一个二次项来提高回归的精度,比如通过如下方式:
fit2<-lm(weight~hegiht+I(height^2),data=women),其中I(heigh^2)表示向预测等式添加一个身高的平方项,
![]()
拟合后的曲线如下;
![]()
可见,加了一个二次项以后,拟合效果非常好。
线性模型和非线性模型:
![]()
多元线性回归
当预测的变量不止一个的时候,简单的线性回归简单的线性回归就变成了多元线性回归,以下的数据分析会分析一个州的犯罪率和其他因素的关系,比如人口,文盲率,平均收入和结霜的天数等因素。
![]()
![]()
![]()
有交互项的多元线性回归
![]()
![]()
回归诊断
回归诊断技术提供了评价回归模型适应性的必要工具,能够帮助人们发现并且诊断问题。
如下示例:
![]()
![]()
以上是体重对于身高的诊断图,以下是部分解释:
![]()
当然,R还有更好用的工具可以用来评估诊断模型,以下是car包中常用的回归诊断函数:
![]()
异常观测值
一个较为全面的回归分析一定会涉及对于异常值的分析,包括离群点,高杠杆值和强影响点。
离群点:离群点指的是那些模型预测效果不佳的观测点,他们通常有很大,或正或负的残差(Y-Y*),正的残差说明模型低估了影响值,负的残差说明高估了影响值。
高杠杆值点
高杠杆值观测点,即是与其他变量有关的离群点,也就是说它是由许多异常的预测变量值组合起来的,与影响变量值没有关系。
通常,对于异常值,一般采取如下方法:
1、删除观测点
2、变量变换
3、添加或者删除变量
4、使用其他回归方法
relweights()函数可以判断,各个因素对于结果的影响权重。
如下:
![]()
下一节开始分析方差