线性回归模型的应用"/>
Python——线性回归模型的应用
目录
- 1.简单线性回归模型
- 2.多元线性回归模型
- 2.1 应用F检验法完成模型的显著性检验
- 2.2应用t检验法完成回归系数的显著性检验
- 3.基于回归模型识别异常点
- 4.含有离散变量的回归模型
前言:
线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(即自变量)来预测某个连续的数值变量(即因变量)。例如餐厅根据媒体的营业数据(包括菜谱价格、就餐人数、预订人数、特价菜折扣等)预测就餐规模或营业额;网站根据访问的历史数据(包括新用户的注册量、老用户的活跃度、网站内容的更新频率等)预测用户的支付转化率;医院根据患者的病历数据(如体检指标、药物复用情况、平时的饮食习惯等)预测某种疾病发生的概率。
由于针对具体操作相关文档太多,所以本文内容涉及具体操作较少,主要是讲方法。
本文内所用到的包:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import scipy.stats as stats
import statsmodels.api as sm
from scipy.stats import chi2_contingency
1.简单线性回归模型
- 也被称为一元线性回归模型,是指模型中只含有一个自变量和一个因变量
- 一般可以通过散点图刻画两个变量之间的关系,并基于散点图绘制简单线性拟合线,进而使变量之间的关系体现地更加直观
以经典的刹车距离为例:
ccpp=pd.read_csv('cars.csv')
sns.set(font=getChineseFont(8).get_name())
sns.lmplot(x='speed',y='dist',data=ccpp,legend_out=False,#将图例呈现在图框内truncate=True#根据实际的数据范围,对拟合线做截断操作)
plt.show()
从散点图来看,自变量speed与因变量dist之间存在明显的正相关,即刹车速度越大,刹车距离越长。图内的阴影部分为拟合线95%的置信区间,每个散点都是尽可能地围绕在拟合线附近。
通过ols函数求得回归模型的参数解’y~s’表示简单线性回归模型
fit=sm.formula.ols('dist~speed',data=ccpp).fit()
print(fit.params)#Intercept:-17.579095,speed:3.932409
因此,关于刹车距离的简单线性模型为:
dist=-17.579095+3.932409speed
也就是说,刹车速度每提升一个单位,将促使刹车距离增加3.93个单位。
2.多元线性回归模型
- 实际应用中,简单线性回归模型并不多见,因为影响因变量的自变量往往不止一个
- 用于构建多元线性回归模型的数据实际上由两部分组成:一个是一维的因变量y;另一个是二维矩阵的自变量x
以利润表Profit为例,研究影响利润的因素
表结构如下:
profit=pd.read_csv(‘Profit.csv’,sep=",")
fit=sm.formula.ols('Profit~RD_Spend+Administration+Marketing_Spend',data=profit).fit()
print(fit.params)#Intercept:50122.192990,RD_Spend:0.805715,Administration:-0.026816,Marketing_Spend:0.027228
不考虑模型的显著性和回归系数的显著性,得到的回归模型可以表示为:
Profit=50122.192990+0.805715RD_Spend-0.026816Administration+0.027228Marketing_Spend
但是,在实际应用中,单纯的利用ols函数将偏回归系数计算出来,并构造一个多元线性回归模型,得到的结果往往不是理想的,这时候需要借助于统计学中的F检验法和t检验法,完成模型的显著性检验和回归系数的显著性检验。
2.1 应用F检验法完成模型的显著性检验
步骤如下:
- 提出问题的原假设和备择假设;
- 在原假设的条件下,构造统计量F;
- 根据样本信息,计算统计量F的值;
- 对比统计量的值和理论值,如果计算的统计量值超过理论的值,则拒绝原假设,否则需要接受原假设
假设认为模型的所有偏回归系数全为0(即认为没有一个自变量可以构成因变量的线性组合)
通常在实际的应用中将概率值p与0.05做比较,小于0.05则拒绝原假设,否则接受原假设
2.2应用t检验法完成回归系数的显著性检验
模型通过了显著性检验,只能说明模型关于因变量的线性组合是合理的,但不能说明每个自变量对因变量都具有显著意义,所以还要对模型的回归系数做显著性检验。
- 只有当回归系数通过了t检验,才可以认为模型的系数是显著的
- t检验的出发点就是验证每一个自变量是否能够成为影响因变量的重要因素
- t检验的原假设是假定第j变量的回归系数为0,即认为该变量不是因变量的影响因素
- t统计量大于理论的t分布值,则拒绝原假设,否则接受原假设;也可以根据概率值P判断是否需要拒绝原假设
#返回模型概览
print(fit.summary())
更多推荐
Python——线性回归模型的应用
发布评论