ฉันรู้สึกว่าหลายคำตอบเหล่านี้พลาดจุดที่สมบูรณ์ คำตอบของไห่เทาตอบโจทย์ปัญหาการคำนวณด้วยคำพหุนามที่เหมาะสม แต่ชัดเจนว่า OP กำลังถามถึงความแตกต่างทางสถิติระหว่างสองแนวทาง นั่นคือถ้าเรามีคอมพิวเตอร์ที่สมบูรณ์แบบที่สามารถนำเสนอคุณค่าทั้งหมดได้อย่างแม่นยำทำไมเราถึงชอบวิธีหนึ่งมากกว่าอีกวิธี
R2XYX= 0X= 0X
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 จากความพอดีมุมฉากและความคลาดเคลื่อนมาตรฐานนั้นเท่ากับผลจากความพอดีพหุนามดิบ การใช้ชื่อโพลิโนเมียลแบบฉากฉากไม่ได้ช่วยปรับปรุงความแม่นยำของการประมาณปริมาณที่เท่ากันระหว่างทั้งสองรุ่น
ที่สำคัญคือต่อไปนี้: การใช้ชื่อโพลิโนเมียลแบบมุมฉากช่วยให้คุณสามารถแยกการมีส่วนร่วมของแต่ละคำเพื่ออธิบายความแปรปรวนในผลลัพธ์ ที่นี่ฉันกำลังพูดถึงความสัมพันธ์กึ่งภาคสองกำลังสอง หากคุณพอดีกับพหุนาม orthogonal ของคำสั่งที่ 3 ความสัมพันธ์ semipartial กำลังสองสำหรับแต่ละคำจะแสดงความแปรปรวนในผลลัพธ์ที่อธิบายโดยคำนั้นในแบบจำลอง ดังนั้นหากคุณต้องการตอบว่า "ความแปรปรวนในเท่าใดYXYX
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. จากโมเดลพหุนามแบบ orthogonal แต่ไม่ใช่แบบจำลองพหุนามแบบดิบเรารู้ว่าความแปรปรวนส่วนใหญ่ที่อธิบายในผลลัพธ์นั้นเกิดจากคำเชิงเส้นซึ่งน้อยมากที่มาจากเทอมสแควร์และแม้แต่น้อยจากเทอมลูกบาศก์ ค่าพหุนามดิบไม่ได้บอกเรื่องราวนั้น
ทีนี้ไม่ว่าคุณจะต้องการผลประโยชน์การตีความนี้มากกว่าผลประโยชน์ระหว่างกาลของความสามารถในการทำความเข้าใจสัมประสิทธิ์ของแบบจำลองคุณควรใช้พหุนามแบบมุมฉาก หากคุณต้องการดูค่าสัมประสิทธิ์และรู้ว่าพวกเขาหมายถึงอะไร (แม้ว่าฉันจะสงสัยว่าปกติแล้ว) คุณควรใช้พหุนามแบบดิบ หากคุณไม่สนใจ (เช่นคุณเพียงต้องการควบคุมให้เกิดความสับสนหรือสร้างคุณค่าที่ทำนายไว้) เท่านั้นมันก็ไม่สำคัญ ทั้งสองรูปแบบนำเสนอข้อมูลเดียวกันเกี่ยวกับเป้าหมาย ฉันจะโต้แย้งว่าพหุนาม orthogonal ควรเป็นที่นิยมในการทำให้เป็นระเบียบ (เช่น lasso) เนื่องจากการลบคำสั่งที่สูงกว่าไม่ส่งผลกระทบต่อสัมประสิทธิ์ของคำสั่งที่ต่ำกว่าซึ่งไม่เป็นความจริงกับพหุนามแบบดิบ
poly
มีบางอย่างที่เกี่ยวข้องกับชื่อโพลิโนเมียลแบบฉากและฉัน (x ^ 2) ไม่ได้ (แม้ว่าฉันจะไม่ทราบรายละเอียด) - แต่ถึงกระนั้นทำไมผู้เขียน ISLR จึงแนะนำวิธีที่ใช้ไม่ได้ ? ดูเหมือนว่าจะทำให้เข้าใจผิดมากหากคำสั่งทั้งคู่ดูเหมือนจะทำแบบเดียวกัน แต่เพียงคนเดียวก็ใช้ได้