虛擬變量陷阱(Dummy Variable Trap)


虛擬變量陷阱(Dummy Variable Trap):指當原特征有m個類別時,如果將其轉換成m個虛擬變量,就會導致變量間出現完全共線性的情況。

 

假設我們有一個特征“性別”,包含男性和女性兩個類別,如果將此特征轉換為2個虛擬變量,就是:男x1=[1,0],女x2=[0,1],意思就是:變量x1,當性別為男時,x1=1,否則x1=0;變量x2,當性別為女時,x2=1,否則x2=0。這樣,目標y=w1x1+w2x2+b。因為x1+x2=1,因此,變量x1和變量x2之間存在線性關系,同時使用這兩個變量將會導致共線性問題,使得模型參數無法估計。

 

解決的辦法是:把目標y變成y=w1(x1+x2)+(w2-w1)x2+b=(w2-w1)x2+w1+b,意思就是把其中一個變量作為基准(這里是把“男”作為基准),將其從目標方程式中刪去,這樣只通過一個變量x2就能推導出所有信息,x2=1就表示性別為女,x2=0則表示性別為男。

 

需要注意的是,針對二元定性變量到虛擬變量的轉換,直接對類別進行數字編碼(男:0,女:1)和將其轉換為虛擬變量(男:[0],女:[1])看似一樣,但這只是一個巧合而已,這兩種方法有本質的區別。前者是直接將類別型變量轉變成離散值進行表示,后者是減少一個變量(作為基准),只留取一個變量,在此基礎上對另一個變量進行推論。一定要注意不要搞混了。

 

總結來說就是:當原特征有m個類別時,我們需要將其轉換成m-1個虛擬變量。

 

還有一點需要注意的是,基准類別該如何選擇?如果基准類別選擇不合理,虛擬變量之間仍然會存在共線性的問題。這里直接給出結論:選擇占比最大的類別作為基准類別。假設有a,b,c三個類別,如果基准類別a占比太少,那么即使把a去除,b和c之和也會接近於1。

 

參考:https://cloud.tencent.com/info/a018bd66948cd1ac84665f6fafc2082a.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM