Python 回归分析


回归分析

在现实生活中变量之间的关系往往不仅限相关关系这种相互影响,多个变量可能都会对所研究的因变量产生影响。而现实生活中人们大多都会对所关注的问题分析其原因,试图找出产生结果的根源所在,如春秋时期的《道德经》便说到:“合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。”说的就是由因生果的关系。因而这种变量之间的因果关系及其具体的影响便成为人们生活中考虑问题的基本方式之一。将要介绍的回归分析不仅可以分析两个变量的因果影响,还可以分析多个变量之间的统计关系。

回归分析是统计分析中最为重要的方法之一,将在结合实际问题的基础上,对一些最为常用的回归分析方法进行介绍。

1、线性回归

当变量之间存在相互依存的关系时,还可以进行回归分析( regression)。“回归”一词来源于高尔顿研究人类身高遗传问题的过程。十九世纪中叶,高尔顿在研究人类身高的遗传问题时,发现高个子父母的子女,其身高有低于其父母身高的趋势,而矮个子父母的子女,其身高有高于其父母的趋势,即有“退回”(即regression的原意)到身高均值的趋势。高尔顿首次引入了回归直线等概念,始创了回归分析。回归分析的研究领域非常多,有线性回归、非线性回归、定性自变量回归、离散因变量回归等。在社会经济领域的实际应用中,线性回归分析应用非常广泛。

2、非线性回归

现实生活中,很多变量之间的关系并不一定就像是第1点描述的线性关系一样,变量之间可能还存在非线性关系。如人的生长曲线,经济增长会随着时间的推移而发生周期性的波动等。如果在存在非线性关系的情况下去使用线性回归拟合曲线,则会丢失数据之间的大量有用信息,甚至会得出错误的结论。这种情况下,可以使用非线性回归分析来对数据之间的统计关系进行考察。

3、多项式回归

理论上可以以上的方法拟合任何曲线,但前提条件是要事先对模型的形式进行判断,即知道非线性模型的参数设置。在一般情况下, 通过绘制散点图的形式可以做到这一点。但是在更一般的情况下,如有多个自变量的情况下,无法绘制散点图,同时也很难对模型形式进行预估,这个时候可以使用本小节所介绍的方法。根据数学的相关理论,任何曲线均可以使用多项式进行逼近,这种逼近的分析过程即多项式回归。

多项式回归类似于可线性化的非线性模型,可通过变量代换的方式使用普通最小二乘对参数进行估计。

设有因变量y和自变量x,它们之间的关系为n次多项式的关系,则有如下模型:

令,则多项式模型就转化为如下的多元线性模型:

这样就可以按照多元线性回归模型进行分析了。对于多元的多项式模型:

同样做变量代换,令:

则有:

转化之后的模型同样可以按照多元线性回归模型进行分析。

多项式回归当阶数过高时,待估参数过多,在样本量不大的情况下会比较困难,这是多项式回归的一大缺陷。因此,一般的多项式回归模型很少应用到三阶以上。