为什么不是普通线性回归?
使用普通线性回归技术,我们必须确保回归技术对于研究问题的适用性,才能相信回归结果是可靠的。识别回归技术的适用性,我们需要对回归分析进行诊断,诊断内容是线性回归最基本的六个假设是否成立,即
误差项是一个期望为0的随机变量;
对于解释变量的所有观测值,随机误差项有相同的方差;
随机误差项彼此不相关;
解释变量是确定性变量,不是随机变量,与随机误差项彼此之间相互独立;
解释变量之间不存在精确的(完全的)线性关系,即解释变量的样本观测值矩阵是满秩矩阵;
随机误差项服从正态分布。
那么,当我们遇到被解释变量为分类变量这一特殊的情境时,如果能够使用普通线性回归技术,就必须要满足以上所提到的六个基本假设,我们来进行一个简单的模拟。
我使用一个火箭发射成功与否的数据集来进行接下来的测试,首先我们读取数据集。
import numpy as np
import pandas as pd
data = pd.read_csv("challenger.csv")
data.drop(columns=['Unnamed: 0'], inplace=True)
数据集如下:
num_at_riskdistresslaunch_templeak_check_pressureorder
06170502
16069503
26068504
36067505
46072506
560731007
660701008
761572009
8616320010
9617020011
10607820012
11606720013
13606720015
14607520016
15607020017
16608120018
17607620019
18607920020
19607520021
20607620022
21615820023
我们使用statsmodels提供的线性回归分析API来完成回归,然后进行简单的可视化
import statsmodels.formula.api as smf
model = sm