多语言展示
当前在线:286今日阅读:91今日分享:37

vif值判断多重共线性

VIF的取值大于1。VIF值越接近于1,多重共线性越轻,反之越重。当多重共线性严重时,应采取适当的方法进行调整。coef0=np.array([5,6,7,8,9,10,11,12])X1=np.random.rand(100,8)y=np.dot(X1,coef0)+np.random.normal(0,1.5,size=100)training=np.random.choice([True,False],p=[0.8,0.2],size=100)lr1=LinearRegression()lr1.fit(X1[training],y[training])# 系数的均方误差MSEprint(((lr1.coef_-coef0)**2).sum()/8)# 测试集准确率(R2)print(lr1.score(X1[~training],y[~training]))深度解析:容忍度的值界于0至1之间,当容忍度值较小时,表示此自变量与其他自变量之间存在共线性。容忍度这个变量回归系数的估计值不够稳定,则回归系数的计算值也会有很大误差。方差膨胀系数是容忍度的倒数,VIF越大,表示自变量的容忍度越小,越有共线性问题。通常以10作为判断边界。当VIF<10,不存在多重共线性;当10<=VIF<100,存在较强的多重共线性;当VIF>=100, 存在严重多重共线性。
推荐信息