2012-09-08 5 views
0

gausspr 함수를 kernlab의 함수로 사용하여 회귀 문제를 해결하려고합니다. 입력은 표준화되어 있습니다. 그러나 predict (model, test.set)의 출력은 NaN 값의 집합으로 밝혀졌습니다!kernlab의 가우스 프로세스 예측에서 NaN 출력

library(kernlab) 
model <- gausspr(X,Y) 
predict(model, Z) 
,617 :

트레이닝 세트, X

M1 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554 
M2 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554 
M3 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554 
M4 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554 
M5 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554 

훈련 출력 Y는 Z

T1 1.5530507 -0.2152377 -0.202634 -0.1460405 -0.1592964 
T2 1.5530507 -0.2152377 -0.202634 -0.1460405 -0.1592964 
T3 -0.3736244 -0.2152377 -0.202634 -0.1460405 -0.1592964 
T4 -0.3736244 -0.2152377 -0.202634 -0.1460405 -0.1592964 
T5 -0.3736244 -0.2152377 -0.202634 -0.1460405 -0.1592964 

코드

Y = c(1,2,3,4,5) 

테스트 세트이다

출력 내가이 출력을 얻고있다 이유가 궁금

> head(res14) 
    [,1] 
[1,] NaN 
[2,] NaN 
[3,] NaN 
[4,] NaN 
[5,] NaN 
[6,] NaN 

입니다.

+0

방금 ​​데이터 세트에 제로 분산이 있음을 발견했습니다! 그러한 행동에 대한 이유가 될 수 있습니다! – user702846

+2

예제를 재현 가능하게 만드십시오 ... –

+0

'[1,2,3,4,5]'는 무엇을 의미합니까? 'res14' 란 무엇입니까? – plannapus

답변

0

따라서 입력 데이터에 분산 값 집합이 있으므로 공분산 행렬을 만들 수 있습니다 (이유는 무엇일까요?) 최종 결과는 NaN 값이됩니다.

+1

공분산 행렬은 양의 확정적 일 필요는 없습니다 (그러나 양의 반 정함이어야하지만 전체 순위가 아님). 문제가있는 공분산 행렬을 반전해야합니다 (정밀 행렬을 얻기 위해). –