vif值判断多重共线性

 时间:2024-11-06 03:05:27

VI掂迎豢畦F的取值大于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])

#系数的均方误差MSE

print(((lr1.coef_-coef0)**2).sum()/8)

#测试集准确率(R2)

print(lr1.score(X1[~training],y[~training]))

vif值判断多重共线性

深度解析:

容忍度的值界于0至1之间,当容忍度值较小时,表示此自变量与其他自变量之间存在共线性。容忍度这个变量回归系数的估计值不够稳定,则回归系数的计算值也会有很大误差。方差膨胀系数是容忍度的倒数,VIF越大,表示自变量的容忍度越小,越有共线性问题。

通常以10作为判断边界。当VIF<10,不存在多重共线性;当10<=VIF<100,存在较强的多重共线性;当VIF>=100,存在严重多重共线性。



热门搜索
灯红酒绿图片 画眉鸟的图片 阳台装修图片 西塘图片 华丽的外出电影