Каковы недостатки моделей пространства состояний и фильтра Калмана для моделирования временных рядов?


53

Учитывая все хорошие свойства моделей пространства состояний и KF, я задаюсь вопросом - каковы недостатки моделирования пространства состояний и использования фильтра Калмана (или EKF, UKF или фильтра частиц) для оценки? Допустим, скажем, обычные методологии, такие как ARIMA, VAR или специальные / эвристические методы.

Их сложно откалибровать? Они сложны и трудно понять, как изменение структуры модели повлияет на прогнозы?

Или, другими словами, каковы преимущества обычных ARIMA, VAR по сравнению с моделями в пространстве состояний?

Я могу думать только о преимуществах модели пространства состояний:

  1. Он легко обрабатывает структурные разрывы, сдвиги, изменяющиеся во времени параметры некоторой статической модели - просто делайте эти параметры динамическими состояниями модели пространства состояний, и модель автоматически адаптируется к любым изменениям параметров;
  2. Он обрабатывает недостающие данные очень естественно, просто сделайте шаг перехода KF и не делайте шаг обновления;
  3. Он позволяет оперативно изменять параметры самой модели пространства состояний (ковариации шумов и матриц перехода / наблюдения), поэтому, если ваше текущее наблюдение получено из источника, немного отличающегося от других, вы можете легко включить его в оценку, не делая что-нибудь особенное;
  4. Использование вышеуказанных свойств позволяет легко обрабатывать данные с нерегулярным интервалом: либо изменять модель каждый раз в соответствии с интервалом между наблюдениями, либо использовать регулярный интервал и обрабатывать интервалы без наблюдений как отсутствующие данные;
  5. Это позволяет использовать данные из разных источников одновременно в одной и той же модели для оценки одной базовой величины;
  6. Это позволяет построить модель из нескольких интерпретируемых ненаблюдаемых динамических компонентов и оценить их;
  7. Любая модель ARIMA может быть представлена ​​в форме пространства состояний, но только простые модели пространства состояний могут быть представлены точно в форме ARIMA.

1
J Некоторые дополнительные преимущества, как отмечено в первом пункте, могут легко включать в себя несколько сдвигов и выбросов. По моему опыту структурные разрывы могут быть легко идентифицированы с пространством состояний, чем ARIMA. Также может легко включать нелинейные эффекты экзогенных переменных. Не требует, чтобы данные временного ряда были стационарными, что является огромным плюсом.
прогнозист

2
Ну, я буду принимать космические модели в ARIMA в любое время. Я могу думать о двух недостатках (вроде): а) соответствующая модель пространства состояний модели ARIMA имеет много ненужных нулей в матрицах проектирования. Можно утверждать, что ARIMA более компактен. б) существуют нелинейные / негауссовы модели, которые редко имеют аналитические формы, которые иногда могут быть описаны в ARIMA-подобной форме, но будут сложными в традиционном пространстве состояний.
Кагдас Озгенц

2
@ Кочеде Дурбин и Купман тоже не могли придумать много недостатков - они упомянули два в нижней части страницы 52 своего фантастического учебника . И я бы сказал, что эти недостатки уже не обязательно верны.

2
Несколько вопросов . Четко ли он определяет изменения во времени и сообщает о точках времени, когда меняется тенденция? Различает ли он изменения параметров и изменения дисперсии ошибок и сообщает об этом? Обнаруживает ли он и сообщает ли о конкретных эффектах опережения и запаздывания в отношении определенных пользователем предикторов? Можно ли указать минимальное количество значений в группе до того, как будет объявлен сдвиг уровня / тренд местного времени? Различает ли она необходимость преобразования мощности от детерминированных моментов времени, когда изменяется ошибка? Модели ARMAX говорят обо всех этих соображениях.
IrishStat

1
Для полноты, недостатком в некоторых обстоятельствах является то, что вы должны их объяснить. Это зависит от вашей аудитории. Я счастлив, если кто-то захочет отклонить это как то, что является или должно быть неуместным при выборе техники.
Ник Кокс

Ответы:


25

Вот предварительный список недостатков, которые я смог извлечь из ваших комментариев. Критика и дополнения очень приветствуются!

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

  1. ARIMA - это универсальный аппроксиматор - вам все равно, какая истинная модель лежит в основе ваших данных, и вы используете универсальные инструменты диагностики и подгонки ARIMA для аппроксимации этой модели. Это похоже на аппроксимацию полиномиальной кривой - вам все равно, что является истинной функцией, вы всегда можете аппроксимировать ее полиномом некоторой степени.
  2. Модели в пространстве состояний, естественно, требуют, чтобы вы записали какую - то разумную модель для вашего процесса (что хорошо - вы используете свои предварительные знания о процессе для улучшения оценок). Конечно, если вы не имеете никакого представления о своем процессе, вы всегда можете также использовать некоторую универсальную модель пространства состояний - например, представлять ARIMA в форме пространства состояний. Но тогда ARIMA в своем первоначальном виде имеет более скупую формулировку - без введения ненужных скрытых состояний.
  3. Поскольку существует такое большое разнообразие формулировок моделей в пространстве состояний (гораздо богаче, чем класс моделей ARIMA), поведение всех этих потенциальных моделей изучено недостаточно, и если сформулированная вами модель сложна, трудно сказать, как она будет себя вести. при других обстоятельствах. Конечно, если ваша модель пространства состояний проста или состоит из интерпретируемых компонентов, такой проблемы нет. Но ARIMA - это всегда хорошо изученный ARIMA, поэтому предвидеть его поведение должно быть проще, даже если вы используете его для аппроксимации какого-либо сложного процесса.
  4. Поскольку пространство состояний позволяет напрямую и точно моделировать сложные / нелинейные модели, то для этих сложных / нелинейных моделей могут возникнуть проблемы со стабильностью фильтрации / прогнозирования (расхождение EKF / UKF, ухудшение фильтра частиц). У вас также могут возникнуть проблемы с калибровкой параметров сложной модели - это сложная оптимизация в вычислительном отношении. ARIMA прост, имеет меньше параметров (1 источник шума вместо 2 источников шума, без скрытых переменных), поэтому его калибровка проще.
  5. Для пространства состояний меньше знаний и программного обеспечения сообщества в статистическом сообществе, чем для ARIMA.

1
Известно ли вам о каких-либо реальных / промышленных приложениях, в которых фильтр Калмана работает лучше, чем простое скользящее среднее или сглаживание exp при прогнозировании временных рядов, при условии, что нет четкой базовой модели (поэтому исключите модели, вытекающие из законов физики) ? В большинстве работ показатели выглядят очень схожими (а академические статьи имеют положительный уклон производительности для новых, оригинальных, сложных моделей). В большинстве случаев нет знания правильной модели линейной системы состояний и ковариаций и т. Д., Необходимых для определения фильтра
Кламана

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

1
Я не могу найти никаких ссылок на ARIMA как универсальный универсальный аппроксиматор, кроме вашего поста. Не могли бы вы указать мне один?
Скандер Х.

2
@Alex Это следует из теоремы Вольда
Кочеде,

1
Могу ли я сказать, что модель пространства состояний имеет более общую форму, а ARIMA охватывает только ее часть?
Vickyyy

3

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

Были заданы следующие вопросы: « Четко ли он определяет изменения временного тренда и сообщает о моментах времени, когда меняется тренд? Различает ли он изменения параметров и дисперсии ошибок, и сообщает ли об этом? заданные предикторы? Можно ли указать минимальное количество значений в группе до того, как будет объявлен сдвиг уровня / тренд местного времени? Различает ли она необходимость в преобразованиях мощности по сравнению с детерминированными моментами времени, когда изменяется дисперсия ошибки? "

  1. Определите изменения тренда - да, наиболее естественно, вы можете сделать наклон тренда одной из переменных состояния, и KF будет постоянно оценивать текущий наклон. Затем вы можете решить, какое изменение наклона достаточно для вас. В качестве альтернативы, если уклон в вашей модели пространства состояний не изменяется во времени, вы можете протестировать остатки во время фильтрации стандартным способом, чтобы увидеть, когда в вашей модели есть некоторый разрыв.
  2. Различают изменения параметров и изменения дисперсии ошибок - да, дисперсия может быть одним из параметров (состояний), тогда какой параметр, скорее всего, изменился, зависит от вероятности вашей модели и от того, как конкретно изменились данные.
  3. Обнаружение отношений опережение / отставание - не уверен в этом, вы, безусловно, можете включить любые запаздывающие переменные в модель пространства состояний; для выбора лагов вы можете либо протестировать остатки моделей с разными задержками, либо, в простом случае, просто использовать взаимную корреляцию перед составлением модели.
  4. Укажите пороговое число наблюдений, чтобы решить изменение тренда - да, как в 1), поскольку фильтрация выполняется рекурсивно, вы можете не только изменять пороговый наклон, который является для вас достаточно большим, но также # наблюдений для достоверности. Но лучше - KF производит не только оценку наклона, но и доверительные полосы для этой оценки, поэтому вы можете решить, что наклон значительно изменился, когда его доверительная граница превысила некоторый порог.
  5. Различают потребность в преобразовании мощности и потребность в большей дисперсии - не уверен, что я правильно понимаю, но я думаю, что вы можете проверить невязки во время фильтрации, чтобы убедиться, что они все еще нормальные, только с большей дисперсией или у них есть некоторый перекос, так что вам нужно изменить твоя модель Лучше - вы можете сделать это двоичным состоянием переключения вашей модели, тогда KF оценит его автоматически на основе вероятности. В этом случае модель будет нелинейной, поэтому вам потребуется UKF для фильтрации.

1

Фильтр Калмана является оптимальной линейной квадратичной оценкой, когда динамика состояния и ошибки измерения соответствуют так называемым линейным гауссовским предположениям ( http://wp.me/p491t5-PS ). Итак, если вы знаете свои динамические и измерительные модели и они следуют линейным гауссовским предположениям, лучшего оценки в классе линейных квадратичных оценок нет. Однако наиболее распространенными причинами «неудачных» приложений Kalman Filter являются:

  1. Неточное / неправильное знание динамики состояния и моделей измерения.

  2. Неточная инициализация фильтра (предоставление оценки начального состояния и ковариации, которая не соответствует истинному состоянию системы). Это легко преодолеть с помощью процедуры инициализации Взвешенных наименьших квадратов (WLS).

  3. Включение измерений, которые являются статистическими "выбросами" по отношению к модели системной динамики. Это может привести к тому, что коэффициент усиления Калмана будет иметь отрицательные элементы, что может привести к неположительной полуопределенной ковариационной матрице после обновления. Этого можно избежать, используя алгоритмы «стробирования», такие как эллипсоидальное стробирование, для проверки правильности измерения перед обновлением фильтра Калмана этим измерением.

Вот некоторые из наиболее распространенных ошибок / проблем, с которыми я сталкивался при работе с фильтром Калмана. В противном случае, если предположения ваших моделей верны, фильтр Калмана является оптимальной оценкой.


1

Вы можете обратиться к превосходной книге Байесовского прогнозирования и динамических моделей (Harrison and West, 1997). Авторы показывают, что почти все традиционные модели временных рядов являются частными случаями общей динамической модели. Они также подчеркивают преимущества. Возможно, одним из основных преимуществ является легкость, с которой вы можете интегрировать многие модели пространства состояний, просто увеличивая вектор состояния. Например, вы можете легко интегрировать регрессоры, сезонные факторы и авторегрессионный компонент в одну модель.


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

@Vickyyy В отличие от ARIMA, модели пространства состояний не предполагают стационарности. Вы можете просто добавить множество компонентов и представить их в одном векторе состояния.
Ансельмо

1

Я бы добавил, что если вы напрямую используете функцию State Space, вам, вероятно, придется понимать несколько матриц, составляющих модель, и как они взаимодействуют и работают. Это больше похоже на определение программы, чем на определение модели ARIMA. Если вы работаете с динамической моделью State Space, она становится еще более сложной.

Если вы используете программный пакет, который имеет действительно очень хорошую функцию State Space, вы, возможно, сможете этого избежать, но подавляющее большинство таких функций в R-пакетах требуют, чтобы вы в какой-то момент переходили к деталям.

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.