Python
线性回归实战分析
这篇文章主要介绍
Python
线性回归实战分析以及代码讲解,对此有兴趣的朋友学习下
吧。
一、线性回归的理论
1
)线性回归的基本概念
线性回归是一种有监督的学习算法,
它介绍的自变量的和因变量的之间的线性的相关关
系,
分为一元线性回归和多元的线性回归。
一元线性回归是一个自变量和一个因变量间的回
归,
可以看成是多元线性回归的特例。
线性回归可以用来预测和分类,
从回归方程可以看出
自变量和因变量的相互影响关系。
线性回归模型如下:
对于线性回归的模型假定如下:
(
1
)
误差项的均值为
0
,且误差项与解释变量之间线性无关
(
2
)
误差项是独立同分布的,即每个误差项之间相互独立且每个误差项的方差是相等的。
(
3
)
解释变量之间线性无关
(
4
)
正态性假设,即误差项是服从正态分布的
以上的假设是建立回归模型的基本条件,
所以对于回归结果要进行一一验证,
如果不满
足假定,就要进行相关的修正。
模型的参数求解
(
1
)矩估计
一般是通过样本矩来估计总体的参数,
常见是样本的一阶原点矩来估计总体的均值,
二
阶中心矩来估计总体的方差。
(
2
)最小二乘估计
一般最小二乘估计是适用于因变量是连续型的变量,最常用的是普通最小二乘法
(
Ordinary Least Square
,
OLS
)
,它的原理是所选择的回归模型应该使所有观察值的残差平
方和达到最小。
预测值用表示,
对应的实际值
,残差平方和
,最小二乘估计是求得参数的
值,使得
L
最小。对于线性回归求得的参数值是唯一的。
(
3
)极大似然估计
极大似然估计是基于概率的思想,
它要求样本的概率分布是已知的,
参数估计的值是使
得大量样本发生的概率最大,用似然函数来度量,似然函数是各个样本的密度函数的乘积,
为方便求解对其求对数,加负号求解极小值,得到参数的估计结果。
3
)模型的优缺点
优点:结果易于理解,计算上不复杂
缺点:对于非线性的数据拟合不好
二、用
Python
实现线性回归的小例子
数据来源于网络爬虫,
武汉市商品房价格为因变量和几个相关关键词的百度指数的搜索
量为自变量。
由于本文的自变量有
98
个,首先进行自变量的选择,先是通过相关系数矩阵筛选掉不
相关的变量,根据
Pearson
相关系数矩阵进行变量的选取,一般选取相关系数的值大于
0.3
的变量进行回归分析,由于本文的变量较多,先进行手动筛选然后利用相关系数进行选取,
本文选取相关系数大于
0.55
的变量进行回归分析。
经过相关系数的分析选取
8
个变量进行下一步的分析,分析的
Python
代码如下:
#
-
*
-
coding: utf
-
8
-
*
-