您如何處理回歸模型中的“嵌套”變量?
考慮一個統計問題,其中您有一個
response
變量,您想以一個explanatory
變量和一個nested
變量為條件來描述,其中嵌套變量僅作為解釋變量的特定值的有意義變量出現。在解釋變量不允許有意義的嵌套變量的情況下,後者通常NA
在數據集中進行編碼,或者如果使用值進行編碼,則該值只是一個沒有任何有意義解釋的佔位符。當你有一個解釋變量表明一個事物的存在,以及一個或多個描述該事物特徵的嵌套變量時,就會出現這種情況。統計問題中這種情況的一些例子如下:
- 解釋變量是調查參與者是否是的指標,
married
嵌套變量是一些characteristic of the spouse
(如教育、年齡等);- 解釋變量是
presence of an item
空間中的一個指標,嵌套變量是一些characteristic of the item
(如大小、距離等)的度量;- 解釋變量是an發生的指標,
event
嵌套變量是對一些characteristic of the event
(例如,持續時間、幅度等)的描述。在這種情況下,我們通常希望建立一個回歸類型的模型(廣義上包括 GLM、GLMM 等)來描述響應變量與其他變量之間的關係。在這種類型的模型中如何處理嵌套變量並不明顯。
**問題:**我們如何處理
nested
這種模型中的變量?
**注意:**此問題旨在對CV.SE上關於回歸中的嵌套變量的反復出現的問題給出一般性答案(參見例如,here、here、here和here)。這個問題旨在給出這個問題的一個通用的獨立於上下文的例子。
**嵌套變量的無意義值不得影響您的模型:此類數據分析 的關鍵要求是,如果原始變量不承認它是有意義的變量,則該
nested
變量不得影響模型。explanatory
換句話說,模型必須是忽略嵌套變量的無意義值的形式。這是具有嵌套變量的有效模型的關鍵要求,因為它確保模型輸出不受任意編碼選擇的影響。
**使用嵌套變量建模:**此要求是通過創建一個指示變量來實現的,該變量確定您的嵌套變量何時有意義,並將
nested
變量放入模型中僅作為與該指標的交互,而不將其作為主要影響。請注意,這是一般規則的一個例外,即不應將術語作為沒有主效應術語的交互包含在內。考慮一般情況下,變量僅在變量位於某些值集中
nested
時才有意義。在這種情況下,您將使用這樣的模型形式:explanatory``A
response ~ 1 + explanatory + (explanatory %in% A) + (explanatory %in% A):nested + ...
這假設解釋變量是連續的;如果它已經是一個因子變量,那麼該
(explanatory %in% A)
術語將是多餘的,並且可以刪除。explanatory
在您的變量是指示變量(值為 1 產生有意義的嵌套變量)的常見情況下,此模型形式簡化為:
response ~ 1 + explanatory + explanatory:nested + ...
請注意,在這些模型陳述中,變量沒有主效應項。
nested
這是設計使然 — 嵌套變量不應具有主效應項,因為在解釋變量沒有條件的情況下,它不是有意義的變量。使用這種類型的模型形式,您將獲得解釋變量效應的估計值和嵌套變量效應的另一個估計值。
**在數據中編碼嵌套變量:**在處理列出回歸變量的數據框時,最好對
nested
變量的值進行編碼,NA
因為它沒有有意義地來自解釋變量。這告訴讀者這裡沒有有意義的變量。一些分析師用其他值(例如零)對這些變量進行編碼,但這通常是不好的做法,因為它可能被誤認為是有意義的數量。在數學上,如果你將任何實數乘以零,你就會得到零。但是,如果您正在編碼,則
R
必須在這裡小心,因為程序乘以0:NA
給出NA
而不是0
. 這意味著您可能需要將這些NA
值重新編碼為零以進行模型擬合,或者為模型構建設計矩陣,以便將這些值設置為零。
基礎變量是嵌套變量的函數的情況:在涉及嵌套變量的回歸分析中偶爾會出現一種情況,即嵌套變量具有足夠的詳細信息,可以完全確定它產生的初始解釋變量 - – 即原始解釋變量是嵌套變量的函數。這方面的一個例子出現在這個問題中,分析師有一個指示變量
DrugA
表示是否服用了藥物,還有一個嵌套變量DrugA_Conc
表示藥物的濃度。在此示例中,後一個變量允許濃度值為零,這相當於未服用藥物,因此DrugA
相當於DrugA_Conc != 0
。在這些類型的情況下,解釋變量和嵌套變量之間的交互項在功能上等同於嵌套變量,因此可以(並且通常需要)從模型中完全刪除初始解釋變量,並簡單地使用嵌套變量本身。在這種情況下這是合法的,因為嵌套變量中的值決定了初始解釋變量的值。我們在上面已經註意到,
NA
當嵌套變量的條件不適用時,編碼嵌套變量通常是合適的。如果條件來自作為指示符的解釋變量,並且指示符對應於嵌套變量的使用,則事件nested != NA
等價於explanatory
. 在這種情況下,可以重新編碼嵌套變量,以便模型中根本不需要初始解釋變量。請注意,在查看這種情況時必須小心。即使在您使用作為指示變量的初始解釋變量的情況下,不合併解釋變量和嵌套變量也可能有助於解釋目的。此外,在解釋變量不是指示變量的情況下,它通常會包含嵌套變量中不包含的信息,因此無法刪除。
**您應該考慮分層或線性混合模型:**上述方法可確保您的嵌套變量在它們無意義的情況下不會對回歸做出貢獻。然而,使用標準回歸模型的 OLS 估計仍然假設模型中的“誤差項”是不相關的。在您有嵌套變量的情況下,這可能會產生相關錯誤,這些錯誤最好由分層模型或線性混合模型表示。因此,當您在回歸中有嵌套變量時,您應該考慮同一嵌套“組”中數據點的結果是否具有相關的結果(以其他回歸量為條件)。
目前的答案不會詳細介紹層次模型和線性混合模型。它們都是具有大量統計文獻的廣泛模型類。 Gelman 和 Hill (2007)很好地概述了該主題,從標準線性回歸開始,然後進入多級層次建模。它還提供了在
R
.