Есть ли какая-либо функция в Matlab для создания стационарных рядов? - PullRequest
0 голосов
/ 07 июля 2019

Есть ли в matlab функция для создания стационарных рядов?Или где-то конкретно, что я могу получить такого рода сериалы?Я реализую метод, и я думаю, что отсутствие стационарных рядов является проблемой.

1 Ответ

1 голос
/ 07 июля 2019

Не так много, чтобы продолжить здесь, пожалуйста, попробуйте более конкретный w.r.t. «метод» и «ряд» ... Распространенной ошибкой является использование регрессии OLS в нестационарном процессе, и в этом случае результаты могут быть ложными. Чтобы избежать этого, когда переменная подозревается в нестационарности, преобразование этой переменной может иногда нарушать эту нестационарность. Например, автокоррелированный процесс AR (1) с единичным корнем (нестационарным) даст (стационарное) новшество, если вычесть два последовательных значения друг из друга (например, с помощью функции diff).

Чтобы ответить на ваш вопрос более прямо (но, возможно, менее полезно), любая функция Matlab, генерирующая случайное число без изменения распределения во времени, будет генерировать «стационарный процесс» ... например, plot(randn(1000,1)) показывает «процесс», который представляет чистые инновации. Если бы эти нововведения были в AR (1) с единичным корнем (то есть X (t + 1) = X (t) + u) процесса, мы могли бы получить что-то вроде:

AR1 = cumsum(u);
innov=diff(AR1);
plot([AR1(2:end),innov])

Как видите, процесс AR1 является нестационарным, поскольку он имеет единичный корень. тривиально, x на самом деле является инновацией, но «обратный инжиниринг» с использованием diff просто показывает, что в этом случае вы можете извлечь из нестационарного ряда что-то стационарное.

Наконец, общим тестом для поиска нестационарности является расширенный тест Дики Фуллера (тест единичного корня), который реализован в Matlab: https://www.mathworks.com/help/econ/adftest.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...