이 답변 중 몇 가지가 요점을 완전히 놓친 것 같습니다. Haitao의 답변은 원시 다항식을 피팅 할 때 발생 계산 문제를 해결하지만 OP가 두 가지 접근 방식 간의 통계적 차이 에 대해 묻는 것은 분명합니다 . 즉, 모든 값을 정확하게 표현할 수있는 완벽한 컴퓨터가 있다면 왜 다른 방법보다 다른 방법을 선호할까요?
사용자 5957401은 직교 다항식이 다항식 함수들 사이의 공선 성을 감소 시키므로 추정이보다 안정적이라고 주장합니다. Jake Westfall의 비판에 동의합니다. 직교 다항식의 계수는 원시 다항식의 계수와 완전히 다른 양을 나타냅니다. 모형 내성 선량 반응 함수, 아르 자형2 , MSE, 예측 값 및 예측 값의 표준 오차는 직교 또는 원시 다항식의 사용 여부에 관계없이 모두 동일합니다. 차수 2의 원시 다항식 회귀 분석 에서 엑스 의 계수 는 " X 일 때 와이 의 순간 변화"에 대한 해석을 갖습니다 . 직교 다항식에 대해 한계 효과 절차를 수행 한 경우엑스= 0엑스=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
2019-10-25에 의해 만들어진 reprex 패키지 (v0.3.0)로
Petal.Width
직교 피팅에서 0 의 한계 효과 와 표준 오차는 원시 다항식 피팅에서와 동일합니다. 직교 다항식을 사용한다고해서 두 모형간에 동일한 수량의 추정 정밀도가 향상되지는 않습니다.
와이엑스와이엑스
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
2019-10-25에 의해 만들어진 reprex 패키지 (v0.3.0)로
0.0010.0030.0050.9270.9270.0200.0050.927. 우리는 원시 다항식 모델이 아닌 직교 다항식 모델에서 결과에 설명 된 대부분의 편차가 선형 항에 기인한다는 것을 알고 있습니다. 원시 다항식 값은 그 이야기를 말하지 않습니다.
이제 모형의 계수를 실제로 이해할 수 있다는 간헐적 이점에 대한이 해석상의 이점을 원하든 직교 다항식을 사용해야합니다. 계수를보고 그것이 의미하는 바를 정확히 알고 싶다면 (일반적으로 어떤 것이 옳은지 의심 스럽지만), 원시 다항식을 사용해야합니다. 신경 쓰지 않으면 (즉, 혼란을 피하거나 예측 값을 생성하려는 경우) 실제로 중요하지 않습니다. 두 형태 모두 해당 목표와 관련하여 동일한 정보를 가지고 있습니다. 또한 고차원 항을 제거해도 하위 항의 계수에는 영향을 미치지 않기 때문에 직교 다항식은 정규화 (예 : 올가미)에서 선호되어야한다고 주장합니다.
poly
직교 다항식과 관련이 있으며 I (x ^ 2)는 (세부 사항을 알지 못하지만) 관련이 없다는 것을 알고 있습니다. 그러나 여전히 ISLR 작성자가 작동하지 않는 방법을 권장하는 이유는 무엇입니까? ? 두 명령이 모두 같은 것으로 보이지만 실제로는 하나만 괜찮습니다.