Como fazer adf.impressão de teste mais preciso do p-valor em R
-
21-12-2019 - |
Pergunta
Eu faço uma simples cointegration função usando adicionar.teste de tseries pacotes
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) )
}
Aparentemente, o adf.teste tem um limite inferior de impressos p-valor de 0,01.Qualquer valor menor p-valor irá criar uma mensagem de aviso:
Warning message:
In adf.test(vals[, 2] - beta * vals[, 1], alternative = "stationary", :
p-value smaller than printed p-value
É possível ter adf.impressão de teste mais preciso do p-valor, em vez disso?
Eu sei o caminho alternativo é para suprimir a mensagem de aviso:
res <- suppressWarnings(adf.test(vals[,2] - beta*vals[,1],
alternative = "stationary", k = 0))
Mas a impressão mais precisa p-valor seria bom.
Obrigado
Solução
A partir do arquivo de ajuda do ?adf.test
:
Os p-valores são interpolados a partir da Tabela 4.2, p.103 da Banerjee et al.(1993).Se a estatística calculada é fora da tabela de crítica valores, em seguida, uma mensagem de aviso é gerado.
Então a resposta curta é não, você não pode obter "mais preciso" p-valores.Pelo menos não diretamente.De qualquer forma, normalmente não fazem muito sentido para relatar algo diferente p<0.01
.
Se você realmente deseja obter o "exata" p-valor, você provavelmente deve procurar na referência abaixo.Eu não tenho acesso a ele, mas eles provavelmente explicam como eles vieram com suas "tabela de valores críticos", assim pode ser possível estendê-lo.
A.Banerjee, J.J.Dolado, J.W.Galbraith, e D.F.Hendry (1993):Cointegration, Correção de erros e a Análise Econométrica de Não-Estacionária De Dados, Oxford University Press, Oxford.