导语:线性回归作为数据分析的一项基本操作,是非常关键的,也是初学者必须掌握的内容,
针对线性回归,本篇主要阐述如果用Python 实现线性回归。
一、理解什么是线性回归
线性回归也被称为最小二乘法回归。它的数学模型是这样的:y = a+ b* x +e
其中,a 被称为常数项或截距;b 被称为模型的回归系数或斜率;e 为误差项。a 和b 是
模型的参数。当然,模型的参数只能从样本数据中估计出来:y'= a' + b'* x
我们的目标是选择合适的参数,让这一线性模型最好地拟合观测值。拟合程度越高,模
型越好。
那么,接下来的问题就是,我们如何判断拟合的质量呢?
高斯和勒让德找到的方法是:被选择的参数,应该使算出来的回归线与观测值之差的平
房和最小。用函数表示为:
这就是通常我们说的最小二乘法,其原理为:当预测值和实际值距离的平方和最小时,
就选定模型中的两个参数 a、b 。
python 的statsmodels 包已经有进行最小二乘法的函数,我们只要会用就行,想详细了解其
数学推导过程的同学可以自己翻阅计量经济学相关书籍。
二、利用 statsmodels 进行线性回归
首先我们创造一条线
import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
# 创找一列从 0 到10 等步长的array ,共100 个值
x = np.linspace(0, 10, 100)
x[:20]
array([ 0. , 0.1010101 , 0.2020202 , 0.3030303 , 0.4040404 ,
针对线性回归,本篇主要阐述如果用Python 实现线性回归。
一、理解什么是线性回归
线性回归也被称为最小二乘法回归。它的数学模型是这样的:y = a+ b* x +e
其中,a 被称为常数项或截距;b 被称为模型的回归系数或斜率;e 为误差项。a 和b 是
模型的参数。当然,模型的参数只能从样本数据中估计出来:y'= a' + b'* x
我们的目标是选择合适的参数,让这一线性模型最好地拟合观测值。拟合程度越高,模
型越好。
那么,接下来的问题就是,我们如何判断拟合的质量呢?
高斯和勒让德找到的方法是:被选择的参数,应该使算出来的回归线与观测值之差的平
房和最小。用函数表示为:
这就是通常我们说的最小二乘法,其原理为:当预测值和实际值距离的平方和最小时,
就选定模型中的两个参数 a、b 。
python 的statsmodels 包已经有进行最小二乘法的函数,我们只要会用就行,想详细了解其
数学推导过程的同学可以自己翻阅计量经济学相关书籍。
二、利用 statsmodels 进行线性回归
首先我们创造一条线
import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
# 创找一列从 0 到10 等步长的array ,共100 个值
x = np.linspace(0, 10, 100)
x[:20]
array([ 0. , 0.1010101 , 0.2020202 , 0.3030303 , 0.4040404 ,