R로 계산 된 다변량 직교 다항식은 무엇입니까?


12

일 변량의 점 집합의 직교 다항식은 내적과 쌍별 상관이 0 인 방식으로 해당 점에 값을 생성하는 다항식입니다. R은 함수 poly로 직교 다항식을 생성 할 수 있습니다 .

동일한 함수에는 다변량 점 세트에서 직교 다항식을 생성하는 변형 폴리 옴이 있습니다. 어쨌든 결과 다항식은 쌍으로 0의 상관 관계가 있다는 점에서 직교하지 않습니다. 실제로, 1 차 다항식은 원래의 변수 일 뿐이므로, 1 차 다항식은 원래 변수가 서로 관련이없는 한 직교하지 않습니다.

그런 다음 내 질문은 다음과 같습니다.

  • R에서 polym으로 계산 된 다변량 직교 다항식은 무엇입니까? 그들은 단 변량 직교 다항식의 곱일까요? 그들은 무엇을 위해 사용됩니까?
  • 진정한 다변량 직교 다항식이 존재할 수 있습니까? 그것들을 생산하는 쉬운 방법이 있습니까? R에서? 그들은 실제로 회귀에 사용됩니까?

최신 정보

Superpronker의 의견에 따라, 나는 상관없는 다항식에서 의미하는 바를 보여줍니다.

> x<-rnorm(10000)
> cor(cbind(poly(x,degree=3)))
              1             2             3
1  1.000000e+00 -6.809725e-17  2.253577e-18
2 -6.809725e-17  1.000000e+00 -2.765115e-17
3  2.253577e-18 -2.765115e-17  1.000000e+00

Poly 함수는 x 포인트 (각 다항식에 대해 10,000 포인트)로 평가 된 직교 다항식을 반환합니다. 다른 다항식의 값 사이의 상관 관계는 0입니다 (수치 오류가 있음).

다변량 다항식을 사용할 때 상관 관계는 0과 다릅니다.

> x<-rnorm(1000)
> y<-rnorm(1000)
> cor(cbind(polym(x,y,degree=2)))
              1.0           2.0           0.1         1.1           0.2
1.0  1.000000e+00  2.351107e-17  2.803716e-02 -0.02838553  3.802363e-02
2.0  2.351107e-17  1.000000e+00 -1.899282e-02  0.10336693 -8.205039e-04
0.1  2.803716e-02 -1.899282e-02  1.000000e+00  0.05426440  5.974827e-17
1.1 -2.838553e-02  1.033669e-01  5.426440e-02  1.00000000  8.415630e-02
0.2  3.802363e-02 -8.205039e-04  5.974827e-17  0.08415630  1.000000e+00

따라서 저는이 이변 량 다항식이 직교하는 의미를 이해하지 못합니다.

업데이트 2

마지막 Superpronker의 의견과 같이 연결된 간격으로 직교 다항식의 아이디어를 적용 할 때이 컨텍스트가 어떻게 든 오도 될 수 있기 때문에 회귀에 사용되는 "직교 다항식"의 의미를 분명히하고 싶습니다.

R 페이지 101과 102를 사용하여 Julian J. Faraway의 실제 회귀와 Anova를 인용합니다 .

직교 다항식은

z1=a1+b1x
z2=a2+b2x+c2x2
z3=a3+b3x+c3x2+d3x3
을 정의하여이 문제를 해결합니다. 계수 a, b, c ...는 ziT·zj=0ij . z는 직교 다항식이라고합니다.

언어의 약간의 남용에 의해, 저자는 다항식 (함수)과 다항식이 x 세트의 점에서 취하는 값의 벡터 모두에 대해 zi 사용합니다 . 책 x 의 시작이 예측 자 (예를 들어, 예측자가 취한 값의 세트) 이기 때문에 언어를 전혀 남용하지 않을 수도 있습니다 .xx

직교 다항식의 이러한 의미는 실제로 간격에서 직교 다항식과 다르지 않습니다. 측정 함수를 사용하여 측정 가능한 세트에 대해 일반적인 방법으로 (정수를 사용하여) 직교 다항식을 정의 할 수 있습니다. 여기에 유한 세트 ( x )가 있고 적분 대신 내적을 사용하고 있지만 유한 세트의 점에서 측정 함수를 Dirac 델타로 사용하면 여전히 직교 다항식입니다.

그리고 상관 관계와 관련하여 : Rn 에서 직교 벡터의 내적 (유한 세트의 직교 벡터의 이미지로서). 두 벡터의 내적이 0이면 공분산은 0이고, 공분산이 0이면 상관은 0입니다. 선형 모델과 관련하여 "실험의 직교 설계"에서와 같이 "직교"및 "비 상관"을 연관시키는 데 매우 유용합니다.


특정 시점의 다항식이 서로 관련이 없다고 말할 때 무엇을 의미합니까? 확률 변수는 서로 관련이 없습니다. 벡터는 내적을 0과 같을 수 있습니다.
Superpronker

유한 한 점 집합에서 평가되면 각 다항식에 대한 값 집합을 얻습니다. 이러한 값 집합 간의 상관 관계를 계산할 수 있으며 직교 다항식의 경우 상관 관계가 없습니다. 상관은 공분산과 관련이 있고 공분산은 내적과 관련이 있기 때문에, 제로 상관과 제로 도트 곱은 동일하다고 가정합니다.
Pere

내가 오해해도 미안하지만 여전히 따르지 않습니다. 상관 관계는 두 개의 벡터 사이에 있습니다. 예를 들어 각각의 N 개의 관측치가 있습니다. 1 차 및 2 차 항은 서로 관련이 없어야합니까? 그런 다음 평가 지점에 따라 다릅니다. [-1; 1]에는 있지만 [0; 1]에는 없습니다. 직교성과 무관의 관계에 대한 직관이 정확하지 않다고 생각합니다.
Superpronker

회귀 직교와 상관 관계가 거의 동의어이지만 문맥에 따라이 질문을 업데이트했습니다. 소스를 연결했습니다. 그리고 네, 그것은 우리가 평가하고있는 포인트에 달려 있습니다. 순서 poly의 첫 번째 인수는 우리가 평가하고있는 점으로 구성된 벡터이며, 예제의 첫 번째 단계는 평가할 점으로 구성된 벡터를 생성하는 것입니다. 회귀 분석에서 예측 변수 값의 직교 벡터에 관심이 있습니다.
Pere

나는 표기법의 남용이 생각보다 문제가 많다고 생각한다. 두 다항식의 직교성은 다항식을 평가하는 위치에 상관없이 내적은 0으로 정의되지 않습니다. 오히려 (다른 차수의) 두 다항식 용어는 "함수 의미"에서 제로 도트 곱을 가져야합니다. 기능에 대한 내적은 일반적으로 어느 정도의 측정 값 (예 : 중량 기능)입니다. en.m.wikipedia.org/wiki/Orthogonal_polynomials를 참조하십시오 . 내가 맞다면 혼란을 설명합니다. 그러나 위키에는 순간과의 관계에 대한 의견이 있습니다.
Superpronker

답변:


5

무슨 일이 일어나고 있는지 알아 보자. 나는 당신이 이미 다음 자료의 대부분을 알고 있다고 확신하지만, 표기법과 정의를 확립하고 아이디어를 명확하게하기 위해 질문에 대답하기 전에 다항식 회귀의 기본 사항을 다룰 것입니다. 원하는 R경우이 게시물의 3 분의 2 정도 인 "무엇을 수행합니까?"라는 제목 으로 이동 한 다음 필요한 정의를 건너 뛰십시오.

설정

n×kXXnX1,X2,,Xkβ1X1+β2X2++βkXk,

X

X1d1X2d2Xkdk

diX1X0n1X1=XX.

X1,

다항식의 등급

d1+d2++dk.XiX1d1X2d2Xkdk그리하여 같은 정도의 다항식이된다; 결과적으로 임의의 다항식의 정도는 변하지 않습니다.

Xd+1,d+1X,dX.

다항식 회귀 사용

다항식 회귀 분석은 처음에 어떤 최소값을 포함할지 알 수 없다는 의미에서 탐색 적 입니다. 모노머에서 새로운 모델 행렬을 생성하고 회귀를 다시 맞추는 과정은 여러 번 반복해야 할 수도 있습니다. 어쩌면 일부 기계 학습 설정에서는 천문적일 수도 있습니다.

이 접근법의 주요 문제점은

  1. 단일 변수의 거듭 제곱은 공선 성이 높은 경향이 있기 때문에, 모노마 일은 종종 새로운 모델 매트릭스에서 문제가있는 "다공 선성"을 야기 합니다. (두 변수의 거듭 제곱 사이의 공선 성은 예측할 수 없습니다. 변수는 변수의 관계에 따라 다르기 때문에 예측하기 어렵 기 때문입니다.)

  2. 모델 행렬의 단일 열만 변경하거나 새 열을 도입하거나 삭제하려면 회귀 프로 시저의 "콜드 재시작"이 필요할 수 있으며 계산에 오랜 시간이 걸릴 수 있습니다.

다항식 대수의 등급은 두 가지 문제를 모두 극복 할 수있는 방법을 제공합니다.

하나의 변수에있는 직교 다항식

X,Xp0(X),p1(X),p2(X),XX

  1. d=0,1,2,,p0(X),p1(X),,pd(X)X0,X1,,Xd.X0nX1X 그 자체.)

  2. pi(X)ij,

    pi(X)pj(X)=0.

P=(p0(X)p1(X)pd(X))
PP=Id+1.
PPId+1 그 자체로 이것은 엄청난 계산 이득을 나타냅니다.

pi(X).

  • p0(X),n1=(1,1,,1)±1/n1.

  • p1(X),1.X1,X^=X¯1.ϵ=XX^p1(X)=±(1/||ϵ||)ϵ.

...

  • pd+1(X)Xd+1p0(X),p1(X),,pd(X)X.

X0,X1,,Xd,.

이 구조 는 모델 행렬에 포함시킬 추가 열 시퀀스 를 생성합니다 . 따라서 하나의 변수에서 다항식 회귀는 일반적으로 회귀에서 더 이상의 개선이 얻어지지 않을 때까지 순서대로이 순서의 요소를 하나씩 추가하여 진행됩니다. 각각의 새로운 열은 이전의 열 추정값을 변경하지 않고 이전 열과 직교하기 때문에. 이것은 효율적이고 쉽게 해석 할 수있는 절차를 만듭니다.

여러 변수의 다항식

탐색 적 회귀 (및 모형 적합)는 일반적으로 모형에 포함 할 원래 변수를 먼저 고려하여 진행됩니다. 그런 다음 모노 미알 (monomials)과 같은 다양한 변형을 포함하여 이러한 변수를 확장 할 수 있는지 평가합니다. 그런 다음 이러한 변수의 곱과 재 표현으로 형성된 "상호 작용"을 소개합니다

X

이 시점에서 일 변량 프로그램의 일부가 고장납니다. 적합한 모델이 식별 될 때까지 어떤 상호 작용 시퀀스를 하나씩 적용 하시겠습니까? 더욱이, 우리가 다 변수 분석 영역에 실제로 들어 왔기 때문에, 이용 가능한 옵션의 수와 그 복잡성이 증가함에 따라 다변량 직교 다항식 의 시퀀스를 구성 할 때 수익이 감소 할 수 있다고 제안합니다 . 그러나 이러한 순서를 염두에 둔 경우 QR 분해를 사용하여 계산할 수 있습니다.


무엇 R합니까

다항식 회귀를위한 소프트웨어는 따라서 일 변량 직교 다항식 시퀀스 계산에 초점을 맞추는 경향이 있습니다. 일 R변량 다항식 그룹에 가능한 한 자동으로 이러한 지원을 확장하는 것이 특징입니다 . 이것은 무엇을 하는가 poly. 그 동반자 polym는 기본적으로 동일한 코드이며 종소리와 휘파람이 적습니다. 두 기능은 동일한 기능을 수행합니다.

polyX,d.dX1,,XkX,

  1. p1(Xj),p2(Xj),,pd(Xj)jd.p0(Xi)R

  2. d.

d.2d=2, R

p1(X1),p2(X1),p1(X2),p1(X1)p1(X2),p2(X2).

R p2(X1)p1(X2), p1(X1)p2(X2)p1(X2)p2(X2)formula

p1(X1)p1(X2).p1(X1)p1(X2)

X=(135624).

X1=(1,5,2)X10=(1,1,1)p0(X1)=(1,1,1)/3(0.58,0.58,0.58).X11=X1p0(X1),X1p0(X1)p1(X1)X1p1(X1)=(0.57,0.79,0.23).X12=(1,25,4)p0(X1)p1(X1)X1n=3X1,(t1)(t5)(t4),3,3 더 큰 전력은 저전력의 선형 조합이며 더 낮은 전력은 선형 적으로 독립적입니다.)

X1

P1=(0.580.570.590.580.790.200.580.230.78)

(두 개의 중요한 수치로).

X2

P2=(0.580.620.530.580.770.270.580.150.80).

(0.35,0.61,0.035).polypolym

P=(0.570.590.620.350.530.790.200.770.610.270.230.780.150.0350.80).

X1X2PP,(1,2),(2,1),(3,5),(5,3)(1,1),(2,2),(3,3),(5,5)(4,4)

PP=(1010.280.091010.0910.3110.09110.2500.280.30.250.50.320.091100.321).

P1017


1
Rp1(X1)p2(X2)p1(X1)p1(X2)

1
@Cool Good catch-이제 수정되었습니다.
whuber

1
훌륭한 답변 감사합니다. 답을 얻지 못한 채 희망을 잃어버린 후에도 응답이 오래 온다는 사실은 매우 즐거운 놀라움입니다.
Pere

X1=XX1=X

완전히 그렇습니다. 이 오류를 발견 할 수 있도록 텍스트를 자세히 읽어 주셔서 감사합니다.
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.