最近做的项目要用到多元线性回归,小结一下用python做多元线性回归要用到的代码和步骤:
数据:因变量y,自变量x
1. 导入库
# 导入包
import os
import pandas as pd
import numpy as np
import seaborn as sns
import warnings
import matplotlib.pyplot as plt
from datetime import datetime
import math
import scipy.stats as stats
import statsmodels.api as sm
import statsmodels.formula.api as smf
# 这部分是超参数提前设置
sns.set(style='darkgrid')
warnings.filterwarnings('ignore')
2. 构建多元线性回归模型
# 模型: y = b0 + b1*X1 + b2*X2 + b3*X3
# ols为带截距项的多元线性回归模型,大写OLS为不带截距项的模型
lm = ols('y ~ x1+x2+x3', data=data).fit()
# 查看模型数据
lm.summary()
3. 变量共线性检验:
# 共线性检测
def vif(df, col_i):
"""
df: 整份数据
col_i:被检测的列名
"""
cols = list(df.columns)
cols.remove(c