Python控制变量挑选方法
作为本际云服务器推荐网的小编小本本,今天为大家详细介绍一下Python的控制变量挑选方法,包括全部子集合重归、倒退法和逐步回归分析。

为何要控制变量挑选?
一个优秀的线性回归模型,并不是控制变量数量愈多愈好。在创建线性回归模型时,挑选控制变量的最基本指导思想是专而精。丢掉了那些对自变量y有影响控制变量后,所付出代价便是估计量形成了有偏性,可是预测分析偏差标准差就会下降。因而,控制变量的选择正规极为重要的现实意义。
自变量选择的几个准则
1.自由度调整复决定系数达到最大
2.赤池信息量AIC达到最小
所有子集回归
1.算法思想
所有子集回归就是将总的自变量的所有子集进行考虑,查看哪一个子集是最优解。
2.数据集情况
3.代码部分:
import pandas as pd
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
from itertools import combinations
def allziji(df):
list1=[1,2,3]
n=18
R2=[]
names=[]
for a in range(len(list1)+1):
for b in combinations(list1,a+1):
p=len(list(b))
data1=pd.concat([df.iloc[:,i-1]for i in list(b)],axis=1)
name="y~"+("+".join(data1.columns))
data=pd.concat([df['y'],data1],axis=1)
result=smf.ols(name,data=data).fit()
r2=(n-1)/(n-p-1)
r2=r2*(1-result.rsquared**2)
r2=1-r2
R2.append(r2)
names.append(name)
finall={"公式":names,"R2a":R2}
data=pd.DataFrame(finall)
 
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6925.html
