5、Python多重线性回归(代码案例)

目录

1、回归分析的步骤:

 2、需要满足的条件

3、矩阵数据绘制散点图

4、代码实践案例


多重线性回归:研究一个因变量与多个自变量间线性关系的方法

1、回归分析的步骤:

01 根据预测目标,确定自变量和因变量

02 绘制散点图,确定回归模型类型

03 估计模型参数,建立回归模型

04 对回归模型进行检验

回归方程的精度就是用来表示实际观测点和回归方程的拟合程度的指标,使用判定系数来度量。

判定系数=相关系数R平方=ESS/TSS=1-RSS/TSS

其中:具体公式见图

TSS   总离差平方和
ESS   回归平方和
RSS   残差平方和

05 利用回归模型进行预测


 2、需要满足的条件

总结起来可用四个词来描述:线性、独立、正态、齐性。

(1)自变量与因变量之间存在线性关系

这可以通过绘制”散点图矩阵”进行考察因变量随各自变量值的变化情况。如果因变量Yi 与某个自变量X i 之间呈现出曲线趋势,可尝试通过变量变换予以修正,常用的变量变换方法有对数变换、倒数变换、平方根变换、平方根反正弦变换等。

(2)各观测间相互独立
任意两个观测残差的协方差为0 ,也就是要求自变量间不存在多重共线性问题。对于如何处理多重共线性问题,请参考《多元线性回归模型中多重共线性问题处理方法》

(3)残差e 服从正态分布N(0,σ2) 。其方差σ2 = var (ei) 反映了回归模型的精度, σ 越小,用所得到回归模型预测y的精确度愈高。

(4) e 的大小不随所有变量取值水平的改变而改变,即方差齐性。

3、矩阵数据绘制散点图

pandas.tools.plotting.scatter_matrix(matrix,figsize,diagonal)

matrix 矩阵

figsize  图形大小

diagonal 为直方图

4、代码实践案例

import pandas;
import matplotlib;
from pandas.tools.plotting import scatter_matrix;

data = pandas.read_csv(
    'D:\\PDM\\4.2\\data.csv'
)

font = {
    'family' : 'SimHei'
}
matplotlib.rc('font', **font)

scatter_matrix(
    data[["店铺的面积", "距离最近的车站", "月营业额"]], 
    figsize=(10, 10), diagonal='kde'
)

data[["店铺的面积", "距离最近的车站", "月营业额"]].corr()

x = data[["店铺的面积", "距离最近的车站"]]
y = data[["月营业额"]]

from sklearn.linear_model import LinearRegression
#建模
lrModel = LinearRegression()
#训练模型
lrModel.fit(x, y)
#评分
lrModel.score(x, y)
#预测
lrModel.predict([10, 110])

lrModel.predict([[10, 110],[20, 110]])

#查看参数
lrModel.coef_

#查看截距
lrModel.intercept_

 

你可能感兴趣的:(数据挖掘实战)