為什麼這些回歸方差分析表相同?
我有兩個相同 Y 和三個水平 X 的回歸。總體而言,n=15,每組或 X 水平 n=5。第一個回歸將 X 視為分類,將指標變量分配給水平 2 和 3一個是參考。指標/假人如下: X1 = 1 if level = 2, 0 if else X2 = 1 if level = 3, 0 if else
結果,我的擬合模型如下所示:y = b0 + b1(x1) + b2(x2)
我運行回歸,輸出包括這個方差分析表:
其餘的輸出在這裡無關緊要。
好的,現在我對相同的數據進行不同的回歸。我放棄了分類分析並將 X 視為連續的,但我在方程中添加了一個變量:X^2,X 的平方。所以現在我有以下模型:y = b0 + b1(X) + b2(X) ^2
如果我運行它,它會吐出與我在上面展示的完全相同的方差分析表。為什麼這兩個回歸會產生相同的表格?
[這個小難題歸功於加州大學洛杉磯分校生物統計學系的 Thomas Belin。]
在矩陣方面,您的模型採用通常的形式.
第一個模型按行表示第一組的一個元素在,對應於截距,2類指標,3類指標。按行表示第二組的一個元素和第三組的一個元素.
第二個模型改為使用行,, 和, 分別。
讓我們將生成的模型矩陣稱為和. 它們只是相關的:一個列是另一個列的線性組合。例如,讓
那麼自從
它遵循
因此,模型本身與
也就是說,係數第二個模型必須與第一個模型相關
因此,相同的關係適用於他們的最小二乘估計。這表明模型具有相同的擬合:它們只是以不同的方式表達它們。
由於兩個模型矩陣的第一列是相同的,任何分解第一列和其餘列之間方差的方差分析表都不會改變。但是,區分第二列和第三列的 ANOVA 表將取決於數據的編碼方式。
在幾何上(並且更抽像地),三維子空間由的列生成與由的列生成的子空間重合. 因此,模型將具有相同的擬合。擬合的表達方式不同,只是因為空間是用兩個不同的基數描述的。
為了說明,這裡有和你一樣的數據(但有不同的反應)和生成的相應分析
R
。set.seed(17) D <- data.frame(group=rep(1:3, each=5), y=rnorm(3*5, rep(1:3, each=5), sd=2))
適合兩個模型:
fit.1 <- lm(y ~ factor(group), D) fit.2 <- lm(y ~ group + I(group^2), D)
顯示他們的方差分析表:
anova(fit.1) anova(fit.2)
第一個模型的輸出是
Df Sum Sq Mean Sq F value Pr(>F) factor(group) 2 51.836 25.918 14.471 0.000634 *** Residuals 12 21.492 1.791
對於第二個模型是
Df Sum Sq Mean Sq F value Pr(>F) group 1 50.816 50.816 28.3726 0.0001803 *** I(group^2) 1 1.020 1.020 0.5694 0.4650488 Residuals 12 21.492 1.791
可以看到殘差平方和是一樣的。通過在第二個模型中添加前兩行,您將獲得相同的 DF 和平方和,從中可以計算相同的均方、F 值和 p 值。
最後,讓我們比較一下係數估計值。
beta.1.hat <- coef(fit.1) beta.2.hat <- coef(fit.2)
輸出是
(Intercept) factor(group)2 factor(group)3 0.4508762 2.8073697 4.5084944 (Intercept) group I(group^2) -3.4627385 4.4667371 -0.5531225
甚至截距也完全不同。 這是因為多元回歸中任何變量的估計值都取決於所有其他變量的估計值(除非它們都是相互正交的,這兩種模型都不是這種情況)。但是,看看乘以什麼完成:
合身真的和聲稱的一樣。