Тестирование на стабильность во временных рядах

9

Существует ли стандартный (или лучший) метод для тестирования, когда данный временной ряд стабилизировался?


Некоторая мотивация

У меня есть стохастическая динамическая система, которая выводит значение на каждом временном шаге . Эта система имеет некоторое переходное поведение до временного шага и затем стабилизируется вокруг некоторого среднего значения с некоторой ошибкой. Ни одно из , , ни ошибка мне не известны. Я готов сделать некоторые предположения (например, ошибка Гаусса вокругИксTt x t x x TNT*Икс*T*Икс*Икс*например) но чем меньше априорных предположений мне нужно, тем лучше. Единственное, что я точно знаю, это то, что существует только одна устойчивая точка, к которой система сходится, и колебания вокруг устойчивой точки намного меньше, чем флуктуации в течение переходного периода. Процесс также монотонный, я могу предположить, что начинается около и поднимается к (возможно, немного перерегулируется перед стабилизацией вокруг ). 0 x x Икс00Икс*Икс*

Данные будут поступать из симуляции, и мне нужен тест стабильности как условие остановки для симуляции (так как меня интересует только переходный период).ИксT

Точный вопрос

Имея только доступ к значению времени для некоторого конечного , существует ли способ с достаточной точностью сказать, что стохастическая динамическая система стабилизировалась в некоторой точке ? Бонусные баллы, если тест также возвращает x ^ * , t ^ * и ошибку около x ^ * . Однако это не является существенным, поскольку есть простые способы выяснить это после завершения моделирования. T x x t x Икс0,,,ИксTTИкс*Икс*T*Икс*


Наивный подход

Наивный подход, который сначала приходит мне на ум (например, который я использовал в качестве условий выигрыша для некоторых нейронных сетей), заключается в выборе параметров и , а затем, если для последних временных шагов нет двух точек и такой, что то мы заключаем, что мы стабилизировались. Этот подход прост, но не очень строг. Это также заставляет меня догадываться, какими должны быть хорошие значения иE T x x x - x > E T ETЕTИксИкс'Икс'-Икс>ЕTЕ

Кажется, что должен быть лучший подход, который оглядывается на некоторое количество шагов в прошлом (или, может быть, каким-то образом сбрасывает со счетов старые данные), вычисляет стандартную ошибку на основе этих данных, а затем проверяет, есть ли какое-то другое количество шагов (или другое схема дисконтирования) временной ряд не был вне этого диапазона ошибок. В качестве ответа я включил такую ​​немного менее наивную, но все же простую стратегию .


Любая помощь или ссылки на стандартные методы приветствуются.

Ноты

Я также опубликовал этот вопрос как есть для MetaOptimize и в более подробном описании для компьютерных наук .

Артем Казнатчеев
источник
Вы нашли четкое решение? Меня интересует один и тот же вопрос, но все ответы не убедительны.
Герман
1
@ user4050 к сожалению у меня нет. Я думаю, что это на самом деле очень широкий вопрос, и есть много методов, которые лучше в одной области и хуже в других.
Артем Казнатчеев

Ответы:

6

Это короткое замечание далеко не полный ответ, только некоторые предложения:

  • если у вас есть два периода времени, когда поведение отличается, под разным я подразумеваю либо различия в параметрах модели (не относящихся к данной конкретной ситуации), либо среднее значение, либо дисперсию, либо любую другую ожидаемую характеристику объекта временного ряда ( в вашем случае) Вы можете попробовать любые методы, которые оценивают время (интервал) структурных (или эпидемических) изменений .ИксT
  • В R есть strucchange библиотека для структурных изменений в моделях линейной регрессии. Хотя он в основном используется для тестирования и мониторинга изменений параметров линейной регрессии, некоторые статистические данные могут быть использованы для общих структурных изменений во временных рядах.
Дмитрий Челов
источник
Отсутствие какого-либо выброса / сдвига уровня / изменения тренда И неучтение последовательной корреляции любого лага в остатках модели являются компонентами, которые часто приводят к неправильному применению стандартных F-тестов, поэтому следует соблюдать осторожность (как вы предлагали!).
IrishStat
@IrishStat, как вы можете видеть из моего поста, я не предлагаю использовать модель линейной регрессии, я просто отметил, что она может иметь аналогичную форму статистики (CUMSUM или что-то еще, поскольку последние применяются к остаткам модели, что Ясно, что это объекты временных рядов с (возможно) различными ограничивающими распределениями, которые учитывают автокорреляцию (тестируемую), и что при желании вы можете внести выбросы (также тестируемые) корректировки перед дальнейшим тестированием. Это единственная библиотека R, которую я знаю, которая работает со структурными изменениями.
Дмитрий Челов
Мне начинает нравиться этот ответ все больше и больше. Есть ли у вас предложение для хорошей справки (предпочтительно, недавно проведенный обзорный документ) для некоторых распространенных методов оценки времени структурных изменений?
Артем Казнатчеев
4

Когда я читаю ваш вопрос "и колебания вокруг устойчивой точки намного меньше, чем колебания в течение переходного периода", я получаю из этого запрос, чтобы определить, когда и если дисперсия ошибок изменилась, и если да, то когда! Если это ваша цель, то вы можете рассмотреть рецензирование работы или Р. Цай "выбросы, сдвиги уровней и изменения дисперсии во временных рядах", журнал прогнозирования, том 7, 1-20 (1988). Я проделал большую работу в этой области и считаю ее очень продуктивной для проведения хорошего анализа. Другие подходы (например, анализ ols / линейный регрессионный анализ), которые предполагают независимые наблюдения и отсутствие выбросов импульсов и / или никаких сдвигов уровней или трендов местного времени и параметров, не зависящих от времени, на мой взгляд, недостаточны.

IrishStat
источник
1

Я больше размышлял над этим вопросом и думал, что я дам небольшое усиление наивного подхода в качестве ответа в надежде, что люди знают дальнейшие идеи в этом направлении. Это также позволяет нам избежать необходимости знать размер колебаний.


Самый простой способ реализовать это с двумя параметрами . Пусть y t = x t + 1 - x t - изменение временного ряда между временным шагом t и t + 1 . Когда ряд стабилен около x , y будет колебаться около нуля с некоторой стандартной ошибкой. Здесь мы будем считать, что эта ошибка нормальная.(T,α)YTзнак равноИксT+1-ИксTTT+1Икс*Y

TYTαμαЕμσЕσ0(μ-Еμ,μ+Еμ)YTσ1α


T

Артем Казнатчеев
источник
0

Вы могли бы рассмотреть тестирование в обратном направлении (со скользящим окном) для совместной интеграции xи долгосрочного среднего.

Когда xпроисходит изменение среднего значения, можно надеяться, что оконный тест Аугментированного Дики Фуллера или любой другой тест на интеграцию, который вы выберете, скажет вам, что эти две серии интегрированы. Как только вы попадете в переходный период, когда две серии расходятся друг от друга, надеюсь, ваш тест скажет вам, что оконные ряды не интегрированы.

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

Все, что я могу сказать, это то, что вам придется поиграть с этим, чтобы увидеть, если вы получите разумные результаты.

bill_080
источник
0

Помимо очевидного решения фильтра Калмана, вы можете использовать вейвлет-разложения и получить спектр мощности, локализованный по времени и частоте. Это удовлетворяет ваше желание не делать предположений, но, к сожалению, не дает вам формальной проверки того, когда система установится. Но для практического применения это нормально; просто посмотрите на время, когда умирает энергия на высоких частотах, и когда стабилизируются вейвлет-коэффициенты отца.

user2763361
источник
Разве это не просто перевес, так как мне не нужно проверять, когда временной ряд коэффициента вейвлета отца стабилизируется? Или есть стандартный метод для этого конкретного временного ряда? Каково очевидное решение фильтра Калмана?
Артем Казнатчеев
@ArtemKaznatcheev Почему вы не можете просто посмотреть на график серии коэффициентов? Я пытался предложить решение, которое не соответствовало бы вашему желанию протестировать, но в качестве компромисса не было никаких предположений.
user2763361