最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用VIF實(shí)現(xiàn)檢測(cè)多重共線性

 更新時(shí)間:2023年12月26日 11:37:13   作者:python收藏家  
多重共線性是指多元回歸模型中有兩個(gè)或兩個(gè)以上的自變量,它們之間具有高度的相關(guān)性,本文主要介紹了如何使用VIF實(shí)現(xiàn)檢測(cè)多重共線性,需要的可以參考下

多重共線性是指多元回歸模型中有兩個(gè)或兩個(gè)以上的自變量,它們之間具有高度的相關(guān)性。當(dāng)某些特征高度相關(guān)時(shí),我們可能很難區(qū)分它們對(duì)因變量的個(gè)體影響。多重共線性可以使用各種技術(shù)來檢測(cè),其中一種技術(shù)是方差膨脹因子(VIF)。

在VIF方法中,我們選擇每個(gè)特征并將其與所有其他特征進(jìn)行回歸。對(duì)于每個(gè)回歸,因子計(jì)算如下:

其中,R平方是線性回歸中的決定系數(shù)。它的值介于0和1之間。

正如我們從公式中看到的,R平方的值越大,VIF越大。因此,VIF越大,相關(guān)性越強(qiáng)。這與較高的R平方值表示較強(qiáng)的共線性的事實(shí)一致。通常,VIF高于5表示高多重共線性。

使用statmodels實(shí)現(xiàn)VIF

statsmodels提供了一個(gè)名為variance_inflation_factor()的函數(shù)來計(jì)算VIF。

語法:statmodels.stats.outliers_influence.variance_inflation_factor(exog,exog_idx)

主要參數(shù):

exog:一個(gè)數(shù)組,包含對(duì)其執(zhí)行線性回歸的特征。

exog_idx:要測(cè)量其對(duì)其他特征的影響的附加特征的索引。

示例

下例中使用的數(shù)據(jù)集包含500人的身高、體重、性別和體重指數(shù)。這里的因變量是指數(shù)。

import pandas as pd  
  
# the dataset   
data = pd.read_csv('BMI.csv') 
  
# printing first few rows 
print(data.head())

輸出

   Gender  Height  Weight  Index
0    Male     174      96      4
1    Male     189      87      2
2  Female     185     110      4
3  Female     195     104      3
4    Male     149      61      3

方法

每個(gè)特征索引都被傳遞給variance_inflation_factor()以找到相應(yīng)的VIF。

這些值以Pandas DataFrame的形式存儲(chǔ)。

from statsmodels.stats.outliers_influence import variance_inflation_factor 

# creating dummies for gender 
data['Gender'] = data['Gender'].map({'Male':0, 'Female':1}) 

# the independent variables set 
X = data[['Gender', 'Height', 'Weight']] 

# VIF dataframe 
vif_data = pd.DataFrame() 
vif_data["feature"] = X.columns 

# calculating VIF for each feature 
vif_data["VIF"] = [variance_inflation_factor(X.values, i) 
						for i in range(len(X.columns))] 

print(vif_data)

輸出

  feature        VIF
0  Gender   2.028864
1  Height  11.623103
2  Weight  10.688377

正如我們所看到的,身高和體重具有非常高的VIF值,表明這兩個(gè)變量高度相關(guān)。這是預(yù)料之中的,因?yàn)橐粋€(gè)人的身高確實(shí)會(huì)影響他們的體重。因此,將這兩個(gè)特征一起考慮會(huì)導(dǎo)致具有高多重共線性的模型。

到此這篇關(guān)于Python使用VIF實(shí)現(xiàn)檢測(cè)多重共線性的文章就介紹到這了,更多相關(guān)Python檢測(cè)多重共線性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

克拉玛依市| 延吉市| 龙海市| 体育| 治多县| 巴彦淖尔市| 大英县| 白银市| 巴青县| 宁都县| 逊克县| 顺昌县| 莎车县| 临清市| 房山区| 蒙山县| 太仆寺旗| 盐池县| 渭南市| 罗源县| 迭部县| 合山市| 苏尼特左旗| 九龙坡区| 齐齐哈尔市| 隆德县| 长春市| 临泉县| 增城市| 堆龙德庆县| 陆川县| 泽普县| 离岛区| 和平区| 三河市| 盐城市| 临安市| 阿城市| 临猗县| 霍州市| 临西县|