虛擬變量(dummy variable)也叫啞變量熔吗,翻譯不同而已蚊惯。因為dummy的含義有假的愿卸、虛擬的、啞的等各種含義截型,所以國內(nèi)翻譯也不一樣趴荸。但是他們倆是一回事。
虛擬變量其實算不上一種變量類型(比如連續(xù)變量宦焦、分類變量等)发钝,確切地說,是一種將多分類變量轉(zhuǎn)換為二分變量的一種形式波闹。Dummy這個詞意思是虛擬的酝豪、假的,所以dummy variable意思就是假的變量精堕,不是真實的變量孵淘。那它到底虛擬在什么地方呢?我們通過一個例子來詳細解釋一下歹篓。
例:某研究者檢測了四種不同類型社區(qū)(分別用0瘫证、1、2庄撮、3表示)的SO2情況背捌。研究者欲分析社區(qū)類型是否與SO2水平有關(guān)系,或者說洞斯,不同社區(qū)類型的SO2水平是否不同毡庆。
該例子中,因變量SO2水平是一個定量資料,自變量社區(qū)類型是一個分類資料么抗,分析方法可以考慮一般線性模型毅否。
首先要強調(diào)一點,不管是一般線性模型還是廣義線性模型乖坠,它們都是“線性”的搀突,也就是說,只要你采用了這些模型熊泵,就已經(jīng)默認了自變量與因變量之間的關(guān)系是線性的仰迁。所以,對于例中的數(shù)據(jù)顽分,如果用一般線性模型徐许,其結(jié)果如下圖所示。
圖中的意思是卒蘸,隨著社區(qū)類型從0到3之間的改變雌隅,SO2水平是線性增加的,增加的幅度(斜率)是207.8缸沃。也就是說恰起,社區(qū)類型從0變?yōu)?,SO2增加207.8趾牧;社區(qū)類型從1變?yōu)?检盼,SO2增加207.8;社區(qū)類型從2變?yōu)?,SO2增加207.8。
但我們會發(fā)現(xiàn)揍堰,事實并非如此。從0到1時貌亭,似乎增加的幅度更大;而從1到2時认臊,似乎增加的幅度沒有這么大圃庭。也就是說,207.8這個幅度失晴,只是一個平均幅度冤议,是從0到3增加的平均幅度。如果我們想具體了解從0到1师坎、從1到2、從2到3真實的增加值堪滨,就需要用到虛擬變量了胯陋。
所謂虛擬變量,就是把原來的一個多分類變量轉(zhuǎn)化為多個二分變量,總的來說就是遏乔,如果多分類變量有k個類別义矛,則可以轉(zhuǎn)化為k-1個二分變量。如變量x為賦值1盟萨、2凉翻、3、4的四分類變量捻激,就可以轉(zhuǎn)換為3個賦值為0和1的二分類變量制轰。
在進一步解釋虛擬變量的含義之前,我們需要先了解一下“參照”的含義胞谭。分類結(jié)果的解釋一般是要有參照類別的垃杖。比如我們說男性肺癌發(fā)生率高,暗含了“相對女性”這樣的參照丈屹;50歲以上人群冠心病發(fā)生率更高调俘,暗含了“相對50歲以下人群”的參照。沒有參照旺垒,就沒法說高或低彩库。比如我們單獨說80%這個數(shù)字,它是高還是低呢先蒋?相對70%就是高的骇钦,相對90%就是低的。所以分類變量的結(jié)果需要結(jié)合參照來解釋鞭达。
當我們把k個類別的多分類變量轉(zhuǎn)化為k-1個二分變量后司忱,每一個二分類變量表示相對參照類的大小。例如畴蹭,多分類變量x用1坦仍、2、3叨襟、4表示繁扎,我們設(shè)定以1作為參照,那么生成的3個虛擬變量分別表示:2和1相比的大小糊闽、3和1相比的大小梳玫、4和1相比的大小。
通過生成虛擬變量右犹,就把原來的一個系數(shù)變成了多個系數(shù)提澎,這多個系數(shù)更詳細地顯示了自變量與因變量之間的關(guān)系,尤其在非線性關(guān)系的時候念链,尤其重要盼忌。因為當你在用線性回歸积糯、logistic回歸這些方法的時候,已經(jīng)默認了是線性關(guān)系了谦纱,你是不可能找出非線性關(guān)系的看成。
下圖比較了虛擬變量與原始變量的擬合效果。
藍色線是將其作為定量變量納入跨嘉,給出了直線的擬合效果川慌。紅色線是將其作為虛擬變量納入,給出了相對參照而言祠乃,每個類別的擬合效果梦重。不難看出,虛擬變量給出了真實的擬合效果跳纳,而定量變量在社區(qū)=0時高估忍饰,在社區(qū)=1時低估,結(jié)果很容易有偏寺庄。
在作為定量資料的時候艾蓝,我們計算的斜率只有一個,即207.8斗塘。而將其作為3個虛擬變量后赢织,便計算出3個系數(shù),分別為431馍盟、509.4于置、666.6,分別表示:社區(qū)=1與社區(qū)=0相比贞岭,SO2平均高431八毯;社區(qū)=2與社區(qū)=0相比,SO2平均高509.4瞄桨;社區(qū)=3與社區(qū)=0相比话速,SO2平均高666.6。
如何設(shè)置虛擬變量呢芯侥?目前大多數(shù)軟件都可以實現(xiàn)泊交,如SAS軟件在各種回歸分析的過程中,一般都會有class語句柱查,通過class語句的param=reference選項便可實現(xiàn)虛擬變量的設(shè)置廓俭。在SPSS中,在回歸分析界面可以點擊Categorical唉工,通過該按鈕可以設(shè)置虛擬變量研乒,并指定其參照類。
如果我們要手工來設(shè)定淋硝,其思路也比較簡單告嘲,設(shè)置過程如下所示:
社區(qū)類型是原始變量错维,社區(qū)1、社區(qū)2橄唬、社區(qū)3是生成的3個虛擬變量。方法是:第1個虛擬變量参歹,當社區(qū)類型=1時仰楚,變量社區(qū)1=1,否則社區(qū)1=0犬庇;第2個虛擬變量僧界,當社區(qū)類型=2時,變量社區(qū)2=1臭挽,否則社區(qū)3=0捂襟;第3個虛擬變量,當社區(qū)類型=3時欢峰,變量社區(qū)3=1葬荷,否則社區(qū)3=0。
最后強調(diào)一點:在模型分析時纽帖,虛擬變量都是同進同出宠漩,也就是說,要么都在模型中懊直,要么都不在模型中扒吁,不能只保留其中一個,否則它的含義就變了室囊。
轉(zhuǎn)載自知乎什么是啞變量(虛擬變量)雕崩,應用中應注意什么問題? - 知乎 (zhihu.com)