VIF可用于测量多重共线性问题,vifj=1rj2 quadmath RM { Vif } _ { j }=frac {1} {1- r _ { j } ^ {2} vifj=1rrj
式中,R j 2 R_{j}^{2} Rj2是第jj个变量回归到所有变量时的确定系数。
如果VIF过大,例如大于5或10,则表示存在多重共线性问题。 关于多重共线性的更多内容可参见既往文章https://blog.csdn.net/weixin _ 45288557/article/details/11769464
(因为没有VIF阈值表,所以对于VIF5,只能使用存在严重多重共线性的经验法则。 还建议使用VIF10作为存在严重多重共线性的标准,如果特别解释变量较多,则应如此。 )
#数据df=PD.read_excel(io='数据. xlsx ',sheet_name=0,usecols=range(1, 5 ) )必须将常数项相加,#请注意,如果没有常数项列,VIF将计算数千df['Constant Value']=1 # 常数项df.head () fromstatsmodels.stats.outliers _ influenceimportvariance _ inflance其中,想要判断的变量列df _ te Zheng=df [ ] 进行'常数值' ] # Vif检验Vif=[ ] foriinrange (df _ te Zheng.shape (1)-1 ) : # )计算第i 1个变量的)第i 1列) )的分散膨胀系数VII