如何對線性方程中的因子和交互項應用係數項?
使用 R,我已經為來自連續和離散預測變量的單個響應變量擬合了一個線性模型。這是超級基本的,但我無法掌握離散因子的係數是如何工作的。
**概念:**顯然,連續變量“x”的係數以表格形式應用,
y = coefx(varx) + intercept
但如果因子 z 是非數字的,那麼它如何工作?y = coefx(varx) + coefz(factorz???) + intercept
**具體:**我在 R 中擬合了一個模型,
lm(log(c) ~ log(d) + h + a + f + h:a)
其中h
和f
是離散的非數字因子。係數是:Coefficients: Estimate (Intercept) -0.679695 log(d) 1.791294 h1 0.870735 h2 -0.447570 h3 0.542033 a 0.037362 f1 -0.588362 f2 0.816825 f3 0.534440 h1:a -0.085658 h2:a -0.034970 h3:a -0.040637
我如何使用這些來創建預測方程:
log(c) = 1.791294(log(d)) + 0.037362(a) + h??? + f???? + h:a???? + -0.679695
還是我做錯了?
我認為這個概念是如果主題屬於類別
h1
和f2
,則等式變為:log(c) = 1.791294(log(d)) + 0.037362(a) + 0.870735 + 0.816825 + h:a???? + -0.679695
但我真的不清楚如何
h:a
解析交互式術語。謝謝你對我輕鬆。
這不是 R 特有的問題 。R 使用傳統的係數顯示。
當您閱讀此類回歸輸出(在論文、教科書或統計軟件中)時,您需要知道哪些變量是“連續的”,哪些是“分類的”:
- “連續的”是明確的數字,它們的數值在回歸擬合中按原樣使用。
- “分類”變量可以是任何類型,包括數字變量!使它們分類的是軟件將它們視為“因素”:也就是說,找到的每個不同值都被認為是不同事物的指標。
大多數軟件會將非數值(如字符串)視為因素。大多數軟件也可以被說服將數值視為因素。例如,郵政服務代碼(美國的郵政編碼)看起來像一個數字,但實際上只是一組郵箱的代碼;將郵政編碼與其他數字相加、相減和相乘是沒有意義的!(這種靈活性是一個常見錯誤的根源:如果您不小心或不知情,您的軟件可能會將您認為是分類的變量視為連續變量,反之亦然。小心!)
然而,為了應用擬合算法,分類變量必須以某種方式表示為數字。有很多方法可以對它們進行編碼。代碼是使用“虛擬變量”創建的。通過在此站點上搜索了解有關虛擬變量編碼的更多信息;細節在這裡無關緊要。
在問題中,我們被告知
h
並且f
是分類(“離散”)值。默認情況下,log(d)
和a
是連續的。這就是我們需要知道的。模型是這裡應用的規則是:
- “截距”項(如果出現)是一個加法常數(第一行)。
- 連續變量乘以它們的係數,即使在像 、 和 項這樣的“交互作用*”*中也是如此。(這回答了最初的問題。)
h1:a``h2:a``h3:a
- 任何分類變量(或因子)僅在出現該因子值的情況下才包括在內。
**例如,**假設,,, 和. 該模型中的擬合值為
請注意大多數模型係數如何根本沒有出現在計算中,因為
h
可以取三個值中的一個,,因此只有三個係數之一h
僅適用於三個係數之一a
會在h:a
互動中成倍增長;同樣,只有一個係數適用f
於任何特定情況。