adf.test를 만드는 방법 R에서보다 정확한 p 값을 인쇄하십시오.
-
21-12-2019 - |
문제
Tseries 패키지에서 add.test에서 add.test를 사용하여 간단한 공동 함수를 만듭니다
cointegration <- function(vals)
{
library(tseries)
beta <- coef(lm(vals[,2] ~ vals[,1] + 0, data = vals))[1]
names(beta) <- NULL
res <- adf.test(vals[,2] - beta*vals[,1], alternative = "stationary", k = 0)
return( list(beta = beta, p.value = res$p.value) )
}
.
명백하게, adf.test는 0.01에서 인쇄 된 p 값의 낮은 경계를 갖는다.모든 값 작은 p 값은 경고 메시지를 만듭니다.
Warning message:
In adf.test(vals[, 2] - beta * vals[, 1], alternative = "stationary", :
p-value smaller than printed p-value
.
adf.test가 대신보다 정확한 p 값을 인쇄 할 수 있습니까?
나는 대체 방법이 경고 메시지를 억제하는 것입니다 :
res <- suppressWarnings(adf.test(vals[,2] - beta*vals[,1],
alternative = "stationary", k = 0))
.
그러나 더 정확한 p 값을 인쇄하는 것이 좋을 것입니다.
감사합니다
해결책
?adf.test
의 도움말 파일에서 :
p 값은 표 4.2, p에서 보간됩니다.Banerjee et.의 103 알.(1993).계산 된 통계가 중요한 테이블 밖에있는 경우 값은 경고 메시지가 생성됩니다.
짧은 대답은 아니오, "더 정확한"p 값을 얻을 수 없습니다.적어도 직접적으로 아닙니다.어쨌든, 일반적으로 p<0.01
가 아닌 다른 것을보고하는 것이 많은 의미가 없습니다.
정말 "정확한"p-value를 얻고 싶다면 아래 참조를보아야합니다.나는 그것에 접근 할 수 없지만, 그들은 그들이 "중요한 가치의 테이블"을 어떻게 생각해도 기술을 설명하므로 확장 할 수 있습니다.
a.Banerjee, J. J. Dolado, J. W. Galbraith 및 D. F. Hendry (1993) : 동체, 오류 수정 및 이코노테릭 분석 비 고정형 데이터, 옥스포드 대학 프레스, 옥스포드.
제휴하지 않습니다 StackOverflow