質問

TSERIESパッケージから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値の下限を有する。値が小さい方は警告メッセージを作成します。

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 al。(1993)。計算された統計がクリティカルテーブルの外側にある場合 値、その後警告メッセージが生成されます。

だから短い答えはいいえ、「より正確な」p値を取得することはできません。少なくとも直接ではありません。とにかく、通常、それはp<0.01以外のものを報告するのはあまり意味がありません。

本当に「正確な」p値を取得したい場合は、おそらく以下の参照を見てください。私はそれにアクセスできませんが、彼らは彼らが彼らの「重要な値の表」をどのように思い付いたかを説明するので、それを拡張することは可能かもしれません。

a。Banerjee、J. J. J. Dolado、J.W Galbraith、D. F. F. Hendry(1993): の統合、誤り訂正、およびの計量経済分析 非静止データ、オックスフォード大学プレス、オックスフォード。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top