当执行多项式回归在,人们有时会使用原始多项式,有时正交多项式。但是当他们使用似乎完全武断的东西时。X
在这里和这里使用原始多项式。但是在这里和这里,正交多项式似乎给出了正确的结果。什么,怎么,为什么?!
与此相反,当从教科书(例如ISLR)中学习多项式回归时,甚至没有提到原始多项式或正交多项式-只是给出了要拟合的模型。
那么我们什么时候必须使用什么呢?
为什么,等的各个 p值在这两个值之间相差很多?X 2
当执行多项式回归在,人们有时会使用原始多项式,有时正交多项式。但是当他们使用似乎完全武断的东西时。X
在这里和这里使用原始多项式。但是在这里和这里,正交多项式似乎给出了正确的结果。什么,怎么,为什么?!
与此相反,当从教科书(例如ISLR)中学习多项式回归时,甚至没有提到原始多项式或正交多项式-只是给出了要拟合的模型。
那么我们什么时候必须使用什么呢?
为什么,等的各个 p值在这两个值之间相差很多?X 2
Answers:
变量和不是线性独立的。因此,即使没有二次效应,将添加到模型中也会修改的估计效应。X 2 X 2 X
让我们看一个非常简单的模拟。
> 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检验,就可以使用正交多项式决定要达到的程度:在这里,您决定保留而不是。当然,您可以通过比较前两个拟合的模型来找到相同的模型,但是这种方法更简单-如果考虑升至更高的程度,则实际上要简单得多。X 2
一旦确定了要保留的项,就可能需要返回原始多项式和以获得可解释性或预测性。X 2
要对情况进行天真评估:
通常:假设您有两个不同的基本函数系统,以及某些功能的(hilbert-)空间,通常为,即所有平方可积函数的空间。 { 〜p } ∞ Ñ = 1大号2([ 一,b ] )
这意味着两个基数中的每一个都可以用来解释每个元素,即对于,对于某些系数和,(在 -sense中): ý ∈ 大号2([ 一,b ] )θ
但是,另一方面,如果您以一定的数截断两组基础函数,即,您将 以及 这些基函数的截断集很可能两个描述了 “不同部分” 。
但是,在这种特殊情况下,一个基础只是另一个基础的正交化,整体预测将为每个截短的模型相同的(及其正交化对方将描述相同的维子空间)。
但是,来自两个“不同”基数的每个基函数将对该精度产生不同的贡献(显然,因为函数/预测变量不同!),导致和系数不同。
因此,就预测而言(在这种情况下)没有区别。
从计算的角度来看,由正交基函数组成的模型矩阵对于最小二乘估计器具有良好的数值/计算特性。从统计的角度来看,同时,正交化导致不相关的估计,因为在标准假设下。
如果存在最佳的截断基数系统,就会出现自然的问题。但是,问题的答案既不简单也不独特,例如取决于“最佳”一词的定义,即您要存档的内容。