これらの答えのいくつかは、ポイントを完全に見逃しているように感じます。Haitaoの答えは、生の多項式を当てはめることによる計算上の問題に対処していますが、OPが2つのアプローチの統計的な違いについて尋ねていることは明らかです。つまり、すべての値を正確に表すことができる完璧なコンピューターがあれば、なぜあるアプローチを他のアプローチよりも好むのでしょうか?
user5957401は、直交多項式が多項式関数間の共線性を低下させ、推定をより安定させると主張しています。私はジェイク・ウェストフォールの批判に同意します。直交多項式の係数は、生の多項式の係数とはまったく異なる量を表します。モデルで暗示された用量反応関数、、MSE、予測値、および予測値の標準誤差は、直交多項式を使用するか生の多項式を使用するかに関係なく、すべて同一になります。2次の生の多項式回帰におけるの係数は、「ときのの瞬間的な変化」の解釈を持ち。直交多項式で限界効果手順を実行した場合R2XYX=0X=0、直交多項式回帰の1次項の係数と標準誤差は生の多項式回帰の値とは完全に異なりますが、まったく同じ勾配と標準誤差が得られます。つまり、両方の回帰から同じ量(つまり、同じように解釈できる量)を取得しようとすると、推定値と標準誤差は同じになります。直交多項式を使用しても、任意のポイントでの勾配を魔法のように確実にできるわけではありません。モデルの安定性は同じです。下記参照:X
data("iris")
#Raw:
fit.raw <- lm(Petal.Length ~ Petal.Width + I(Petal.Width^2) +
I(Petal.Width^3), data = iris)
summary(fit.raw)
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 1.1034 0.1304 8.464 2.50e-14 ***
#> Petal.Width 1.1527 0.5836 1.975 0.05013 .
#> I(Petal.Width^2) 1.7100 0.5487 3.116 0.00221 **
#> I(Petal.Width^3) -0.5788 0.1408 -4.110 6.57e-05 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Residual standard error: 0.3898 on 146 degrees of freedom
#> Multiple R-squared: 0.9522, Adjusted R-squared: 0.9512
#> F-statistic: 969.9 on 3 and 146 DF, p-value: < 2.2e-16
#Orthogonal
fit.orth <- lm(Petal.Length ~ stats::poly(Petal.Width, 3), data = iris)
#Marginal effect of X at X=0 from orthogonal model
library(margins)
summary(margins(fit.orth, variables = "Petal.Width",
at = data.frame(Petal.Width = 0)))
#> Warning in check_values(data, at): A 'at' value for 'Petal.Width' is
#> outside observed data range (0.1,2.5)!
#> factor Petal.Width AME SE z p lower upper
#> Petal.Width 0.0000 1.1527 0.5836 1.9752 0.0482 0.0089 2.2965
reprexパッケージ(v0.3.0)によって2019-10-25に作成
Petal.Width
直交近似とその標準誤差による0 の限界効果は、生の多項式近似による効果と正確に等しくなります。直交多項式を使用しても、2つのモデル間で同じ量の推定の精度は向上しません。
重要な点は次のとおりです。直交多項式を使用すると、結果の分散の説明に対する各項の寄与を分離できます。ここでは、二乗された半部分相関について話しています。3次の直交多項式を近似する場合、各項の半部分相関の二乗は、モデル内のその項によって説明される結果の分散を表します。したがって、「の分散のどれだけが線形成分として説明されるか」と答えたい場合は、YX直交多項式回帰を当てはめることができ、線形項の二乗半部分相関はこの量を表します。これは生の多項式ではそうではありません。同じ次数の生の多項式モデルを当てはめると、線形項は、の線形成分によって説明されるの分散の割合を表しません。以下を参照してください。YX
library(jtools)
data("iris")
fit.raw3 <- lm(Petal.Length ~ Petal.Width + I(Petal.Width^2) +
I(Petal.Width^3), data = iris)
fit.raw1 <- lm(Petal.Length ~ Petal.Width, data = iris)
round(summ(fit.raw3, part.corr = T)$coef, 3)
#> Est. S.E. t val. p partial.r part.r
#> (Intercept) 1.103 0.130 8.464 0.000 NA NA
#> Petal.Width 1.153 0.584 1.975 0.050 0.161 0.036
#> I(Petal.Width^2) 1.710 0.549 3.116 0.002 0.250 0.056
#> I(Petal.Width^3) -0.579 0.141 -4.110 0.000 -0.322 -0.074
round(summ(fit.raw1, part.corr = T)$coef, 3)
#> Est. S.E. t val. p partial.r part.r
#> (Intercept) 1.084 0.073 14.850 0 NA NA
#> Petal.Width 2.230 0.051 43.387 0 0.963 0.963
fit.orth3 <- lm(Petal.Length ~ stats::poly(Petal.Width, 3),
data = iris)
fit.orth1 <- lm(Petal.Length ~ stats::poly(Petal.Width, 3)[,1],
data = iris)
round(summ(fit.orth3, part.corr = T)$coef, 3)
#> Est. S.E. t val. p partial.r part.r
#> (Intercept) 3.758 0.032 118.071 0 NA NA
#> stats::poly(Petal.Width, 3)1 20.748 0.390 53.225 0 0.975 0.963
#> stats::poly(Petal.Width, 3)2 -3.015 0.390 -7.735 0 -0.539 -0.140
#> stats::poly(Petal.Width, 3)3 -1.602 0.390 -4.110 0 -0.322 -0.074
round(summ(fit.orth1, part.corr = T)$coef, 3)
#> Est. S.E. t val. p partial.r part.r
#> (Intercept) 3.758 0.039 96.247 0 NA NA
#> stats::poly(Petal.Width, 3)[, 1] 20.748 0.478 43.387 0 0.963 0.963
reprexパッケージ(v0.3.0)によって2019-10-25に作成
オーダー3の多項式が適合している生の多項式のための二乗semipartial相関関係がある、、および。線形項のみが当てはまる場合、二乗された半部分相関はです。オーダー3の多項式が適合している直交多項式のための二乗semipartial相関関係がある、、および。線形項のみが当てはまる場合、二乗された半部分相関はまだ0.0010.0030.0050.9270.9270.0200.0050.927。生の多項式モデルではなく、直交多項式モデルから、結果で説明される分散のほとんどは線形項によるものであり、平方項からはほとんど発生せず、3次項からはさらに少ないことがわかります。生の多項式値はその話をしません。
ここで、実際にモデルの係数を理解できるという相互利益よりもこの解釈上の利益が必要かどうかにかかわらず、直交多項式を使用する必要があります。係数を見て、それらが何を意味するのかを正確に知りたい場合は(通常はそうではないでしょうが)、生の多項式を使用する必要があります。気にしない場合(つまり、交絡の制御または予測値の生成のみが必要な場合)、それは本当に重要ではありません。両方のフォームは、それらの目標に関して同じ情報を伝えます。高次項を削除しても低次項の係数には影響しないため、正則化(たとえば、投げ縄)では直交多項式を優先する必要があると主張しますが、これは生の多項式では当てはまりません。
poly
が直交多項式と関係があり、I(x ^ 2)はそうではないことを知っています(詳細はわかりませんが)-それでも、ISLRの作者はなぜ機能しない方法を推奨するのでしょうか? ?両方のコマンドが同じように見える場合、それは非常に誤解を招くように見えますが、実際には1つだけが大丈夫です。