1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

python的控制变量挑选(全部子集合重归,倒退法,逐步回归分析)

Python控制变量挑选方法

作为本际云服务器推荐网的小编小本本,今天为大家详细介绍一下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)
&nbsp

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6925.html