Вопрос

Я делаю простую функцию коинтеграции с помощью Add.test от пакетов Tseries

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 имеет нижнюю границу печатанного P-значения на 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-значение было бы здорово.

Спасибо

Это было полезно?

Решение

из файла справки генеракодицетагкода:

P-значения интерполированы из таблицы 4.2, p.103 Banerjee Et al.(1993).Если вычисленная статистика находится за пределами от таблицы критических Значения, то генерируется предупреждающее сообщение.

Так что короткий ответ нет, вы не можете получить «более точные» значения P-значения.По крайней мере, не напрямую.В любом случае, обычно это не имеет большого смысла сообщать о чем-либо, кроме ?adf.test.

Если вы действительно хотите получить «точное» p-значение p, вы, вероятно, должны смотреть на ссылку ниже.У меня нет доступа к этому, но, вероятно, объясняют, как они придумали свой «стол критических ценностей», поэтому может быть возможно продлить его.

a.Banerjee, J. J. Dolado, J. W. Galbraith и D. F. Hendry (1993): Коинтеграция, коррекция ошибок и эконометрический анализ Нестационарные данные, Оксфордский университетский пресс, Оксфорд.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top