Regression
如果你不能正交地做,那就做原始的(多項式回歸)
當執行多項式回歸時到,人們有時使用原始多項式,有時使用正交多項式。但是當他們使用似乎完全任意的東西時。
這里和這裡使用原始多項式。但是在這里和這裡,正交多項式似乎給出了正確的結果。什麼,怎麼,為什麼?!
與此相反,當從教科書(例如ISLR)學習多項式回歸時,甚至沒有提到原始或正交多項式 - 只是給出了要擬合的模型。
那麼我們什麼時候必須使用什麼?
以及為什麼單個p 值是,等等這兩個值之間有很大不同嗎?
變量和不是線性獨立的。所以即使沒有二次效應,加模型將修改估計的效果.
讓我們看一個非常簡單的模擬。
> x <- runif(1e3) > y <- x + rnorm(length(x)) > summary(lm(y~x)) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.03486 0.06233 -0.559 0.576 x 1.05843 0.10755 9.841 <2e-16 ***
現在在模型中使用二次項來擬合。
> summary(lm(y~x+I(x^2))) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.03275 0.09528 0.344 0.731 x 0.65742 0.44068 1.492 0.136 I(x^2) 0.39914 0.42537 0.938 0.348
當然綜合測試仍然很重要,但我認為我們正在尋找的結果不是這個。解決方案是使用正交多項式。
> summary(lm(y~poly(x,2))) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.49744 0.03098 16.059 <2e-16 *** poly(x, 2)1 9.63943 0.97954 9.841 <2e-16 *** poly(x, 2)2 0.91916 0.97954 0.938 0.348
注意
x
第一個模型和poly(x,2)1
第二個模型中的係數不相等,甚至截距也不同。這是因為poly
提供正交向量,它們也與向量正交rep(1, length(x))
。所以poly(x,2)1
不是x
,而是(x -mean(x))/sqrt(sum((x-mean(x))**2))
…重要的一點是,在最後一個模型中,Wald 檢驗是獨立的。您可以使用正交多項式來決定您想要達到的程度,只需查看 Wald 測試:在這裡您決定保留但不是. 當然,通過比較前兩個擬合模型,您會發現相同的模型,但這種方式更簡單——如果您考慮提升到更高的度數,它真的會簡單得多。
一旦你決定保留哪些項,你可能想回到原始多項式和為了可解釋性或預測。