線性回歸中虛擬變數和李克特量表的選擇
我想根據使用問卷收集的數據進行線性回歸。其中一些問題具有以下形式:
你一個月在xyz上花了多少錢?
一種。低於50美元
灣。50 美元到100美元以下
C。100 美元到200美元以下
d。200美元或更多
這是具有多個類別的序數數據。我不確定如何對它們進行編碼。
我應該像李克特量表一樣使用它們的程式碼(儘管李克特量表數據是區間數據):
a 為 0,b 為 1,c 為 2,d 為 3
或者我應該使用這樣的虛擬變數:
選項 b、c 和 d 的 3 個虛擬變數,如果選擇該選項,則相應的虛擬變數設置為 1,否則設置為 0。如果選擇選項 a,所有虛擬變數都設置為 0。
在這種情況下,我擔心失去所有的順序感,我將選項視為名義數據。在這種情況下,我想我無法評論您是否在 xyz 上花費的越多,例如,您體重增加的越多。
應該使用哪一個?還是應該使用一些完全不同的編碼?
我試圖僅將這些變數用作回歸量,我的回歸是一個比率尺度變數。
在您的問題中,您談到了編碼,所以我將主要解決編碼問題。
您絕對應該使用建議的方式對其進行編碼
a 為 0,b 為 1,c 為 2,d 為 3
無論您打算將其用作序數變數還是分類變數。
讓我解釋一下,現在幾乎任何語言或程序都可以選擇輕鬆地將序數或分類變數變成虛擬變數,而幾乎零努力。
您可以簡單地使用is.factor
R
() 函式將任何序數變數轉換為單獨的虛擬變數,以便您可以使用:lm( dep_var ~ ind_var + is.factor(variable), data = XY)
在 Stata 中,您可以使用 i.variable 將任何序數或分類變數轉換為虛擬變數,再次在 Stata 中,您將執行如下內容:
reg depvar independentvar i.variable
接下來,將其編碼為單獨的虛擬變數比僅將其編碼為一個變數更耗時(即使只是稍微需要更多的程式碼行)。
因此,無論在實際模型中您是否希望將其作為初始變數或一組虛擬變數包含在內,在大多數標準語言和程序中,如果您只是按照李克特量表進行編碼,它會更有效(即編碼時間更短)。
至於你是否應該從科學的角度去做,這取決於你的研究細節。我可以想像你將能夠保護包括變數作為獨立的序數尺度或單獨的假人。這兩種方法原則上都有效。我的感覺是,您可能希望將其作為虛擬變數包含在內,因為這樣會有更好的解釋,但如果您的數據很少且回歸量過多,那麼將其作為序數變數可能是值得的。