Python学习笔记
—线性回归预测模型
目录
1、一元线性回归
(1)一元线性回归图
(2)一元线性回归参数
2、多元线性回归
(1)分类变量的处理
3、回归模型的假设性检验
(1)模型的显著性检验—F检验
(2)回归系数的显著性检验—t检验
4、回归模型的诊断
(1)正态性检验
•直方图法
•PP图与QQ图
•Shapiro检验和K-S检验
(2)多重共线性检验
(3)线性相关检验
(4)独立性检验
(5)方差齐性
•BP检验
python作为数据分析的常客一直以来在数据分析与挖掘等领域广泛应用,今天让我们来看看python该如何实现数学模型。同样的,关于数学模型的数学原理部分我们不做推导,有兴趣的同学可以自行查阅相关资料。今天仍然是从我们的老朋友——回归分析模型开始说起。
Reference:《从零开始学习Python数据分析与挖__掘》
01
一元线性回归
The first part
一元线性回归图
最基础的线性模型固然是一元线性回归。其基本形式想必都无比熟悉,则不做过多的叙述。先看下面这段代码:
import pandas as pd` `import seaborn as sns`` ``# 拟合图象的绘制``income = pd.read_csv(r'Salary_Data.csv')``sns.set(color_codes=True)``sns.lmplot(x = 'YearsExperience', y = 'Salary', data = income)``
输出结果:
显然,这是一个一元线性回归方程的拟合图象,图像内包括了数据散点、置信区间以及一元线性回归的直线图。接下来让我们解析一下这段代码:
①首先是包的导入,本段代码用到的包有:基本的数据操作pandas包,以及一元线性回归可视化所使用的seaborn库。前者主要用于导入数据,后者用于回归关系的可视化面图。
②pandas导入数据自不多说,重点看看回归分析可视化lmplot为seaborn库中进行绘制回归图的函数,其中x,y分别规定横纵坐标的标签,data为指定的数据。这里的数据是两组数据集,分别是自变量和因变量。
*注意:若无需执行区间,可再/mplot()函数中加入参数:ci= None。
一****元线性回归参数
import statsmodels.api as sm``fit = sm.formula.ols('Salary ~ YearsExperience', data = income).fit()``print(fit.params)
输出结果:
Intercept 25792.200199``YearsExperience 9449.962321``dtype: float64
求解一元线性回归方程的参数的方法有很多,可以从最基本的最小二乘拟合入手,即从公式层面上对参数进行计算,但这在编程上会比较麻烦。python为我们提供的众多库可以使得我们更加方便地进行计算参数。下面让我们来解释一下开头的代码:
①仍然先看导入的库:statsmodels.api是python提供的用于回归分析的库。我们接着往下看。
② fit= sm.formula.ols().fit():这里相当于通过最小二乘法拟合出了一元回归模型,总体来看它是一个对象(关于对象的概念可查阅关于面向对象编程相关资料),ols()函数内需要指定自变量和因变量,以及数据的来源。
③输出结果:从上至下分别是:常数项,自变量YearsExperience的系数。
02
多元线性回归
The second part
相比于一元线性回归,在实际的项目中