2009-10-25 3 views
4

간단한 질문이 있습니다 : R 점에서 p 점 (비선형)이 주어 졌을 때 초평면이이 점을 지나가는 것을 알 수 있습니다.)(모든) 방향은 p 데이터 포인트를 통해 초평면과 수직입니다.

다음
p<-2 
x<-matrix(rnorm(p^2),p,p) 
b<-solve(crossprod(cbind(1,x[,-2])))%*%crossprod(cbind(1,x[,-2]),x[,2]) 

, 제 P 지점과 동일 선상이 아닌 P + 1^번째 포인트 소정 나는 B에 수직 한 방향 찾기 :

이다
x2<-matrix(rnorm(p),p,1) 
b2<-solve(c(-b[-1],1)%*%t(c(-b[-1],1))+x2%*%t(x2))%*%x2 

는 B2는 수직 AP 차원 초평면을 정의 b에 전달하고 x2로 전달합니다. 자, 내 질문은 다음과 같습니다.

수식은 my interpretation of this wikipedia entry에서옵니다 ("solve (A)"는 A^-1에 대한 R 명령입니다). 이것이 p> 2에서 작동하지 않는 이유는 무엇입니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까 ?

추신 : 나는이 게시물을 보았습니다 (스테이크 오버 플로우 편집에서 : 미안 하나 이상의 링크를 게시 할 수 없습니다)하지만 어떻게 든 그것은 나를 돕지 않습니다. 미리

덕분

난 류의 솔루션의 문제점 구현/이해시 p> 2 :

한다 청소 될 행렬의 QR 분해 및 방향 간격이 내적 초평면은 0일까요? (즉, QR 벡터는 초평면에 수직 인 경우) p = 2이

c(-b[2:p],1)%*%c(a1) 

주는 경우

즉, p는 0> 2 그렇지.


여기 Victor Liu의 솔루션을 구현하려는 시도입니다.

a) R^P에서 P 주어진 선형 독립적 인 관측 :

a0<-sweep(x,2,x[1,],FUN="-");a0 
     [,1]  [,2] 
[1,] 0.000000 0.00000000 
[2,] 1.491896 -0.01872726 

c)의 QR 분해를 수행

p<-2;x<-matrix(rnorm(p^2),p,p);x 
     [,1]  [,2] 
[1,] -0.4634923 -0.2978151 
[2,] 1.0284040 -0.3165424 

b) 매트릭스 이들을 보유하고 첫 번째 행을 감산 행렬 a0. nullspace의 벡터는 다음을 찾는 방향입니다.

qr(a0) 
      [,1]  [,2] 
[1,] -1.491896 0.01872726 
[2,] 1.000000 0.00000000 

실제로; 이 방향은 위키 식의 애플리케이션에 의해 제공된 하나 (사용 X2 = (0.4965321,0.6373157))와 동일하다 :

 [,1] 
[1,] 2.04694853 
[2,] -0.02569464 

... 더 높은 차원에서 작동하는 장점.

마지막 질문 : p> 2 일 때 다른 p-1 (즉 (1,0) 여기) QR 벡터의 의미는 무엇입니까?평면이 통과하는 P-1 차원 초평면은 법선 벡터 및 포인트에 의해 정의된다

+0

@Moderator : 이것을 "delete-me"라고 태그했습니다. 프로그래밍 컨텍스트가 없습니다. –

+0

@Xencor : 지오메트리로 태그되었습니다. http://stackoverflow.com/questions/tagged/math @Modo : 기하학 및 벡터로 태그를 추가했습니다 ... 아마 "수학"으로 태그를 추가해야합니다 ... "delete-me"의 맨 위에있는 태그 – user189035

+0

@Xencor : 게시물을 짧게 유지하고 막히지 않는 한 당신이 정확히 무엇을 의미하는지 설명하면 더 많은 "프로그래밍 컨텍스트"를 제공하게되어 기쁠 것입니다. – user189035

답변

5

미리 고마워요 :

n 길이 (P)의 법선 벡터이다
n.(x-x0) = 0 

x0 인 초평면이 지나가는 점인 .은 내적이며 비행기의 점 x에 대해 방정식을 만족해야합니다.

n.x = p 

여기에 p = n.x0은 숫자입니다. 이것은 (n, p)에 의해 매개 변수화 된 초평면의보다 컴팩트 한 표현입니다. 초평면을 찾으려면 점이 x1, ..., xp라고 가정합니다. 다음과 같이 p-1 행과 p 열이있는 행렬 A를 만듭니다. p의 행은 xi-x1이며 모든 i> 1에 대해 행 벡터로 배열됩니다 (그 중 p-1 만 있음). 만약 당신이 말한 것처럼 당신의 p 점이 "동일 선상에 있지 않다"면, 행렬 A는 랭크 p-1을 가지며 널 공간 차원은 1이됩니다. 영 공간의 한 벡터는 초평면. 일단 그것을 찾으면 (n이라고 부름), p = n.x1. 행렬의 영 공간을 찾으려면 QR 분해 (자세한 내용은 here 참조)를 사용할 수 있습니다.

+0

감사합니다. 나는 질문의 끝에서 프로그래밍 형식으로 답을 다시 쓰려고 노력할 것입니다. 그래서 a) 덜 수학적으로 둘러싸인 다른 사람들이 그것을 사용할 수 있습니다. b) 당신이 의미 한 바를 확인하십시오. – user189035

+0

고마워, 나는이 해결책에 문제가있다, p> 2. 사이의 내적 – user189035

관련 문제