📅  最后修改于: 2023-12-03 15:40:40.807000             🧑  作者: Mango
多元线性回归是一种常见的统计分析方法,用于研究多个自变量和一个因变量之间的关系。在实际应用中,有时候我们并不知道哪些自变量是有用的,哪些是无用的。反向消除技术就是一种用来确定模型中哪些自变量是有用的、哪些是无用的方法。
反向消除技术的实现方法分为以下步骤:
将所有自变量放入模型中。
对每个自变量求出t值,并找到其中绝对值最小的那个t值,即t值最小的自变量。
如果t值最小的自变量t值小于所选的显著性水平,将其从模型中移除。
重新对所有自变量进行t值的计算,并重复步骤2和步骤3,直到所有的t值都大于所选的显著性水平为止。
import pandas as pd
import statsmodels.api as sm
# 读取数据
df = pd.read_csv('data.csv')
# 将变量拆分为自变量和因变量
x = df.drop(['Y'], axis=1)
y = df['Y']
# 加入常量
x = sm.add_constant(x)
# 多元线性回归分析
model = sm.OLS(y, x).fit()
# 反向消除技术
while max(model.pvalues) > 0.05:
feature_max_pvalue = model.pvalues.idxmax()
if feature_max_pvalue == "const":
break
x = x.drop([feature_max_pvalue], axis=1)
model = sm.OLS(y, x).fit()
# 模型摘要
print(model.summary())
模型摘要提供了对模型的关键统计信息的汇总:
该模型的适配度:指模型的总体拟合优度。
该模型的回归系数:指每个自变量对因变量的影响大小。
该模型的显著性水平:指模型是否有效。
在反向消除技术过程中,我们删除了一些t值较小的自变量,只在模型中保留了一些较为显著的自变量。这样可以使模型更为简洁,同时也可以排除掉一些不显著的自变量对模型的干扰,从而提高模型的准确性。