Тестування на стабільність у часовій серії


9

Чи існує стандартний (або найкращий) метод тестування, коли певний часовий ряд стабілізується?


Якась мотивація

У мене є стохастична динамічна система, яка виводить значення на кожному кроці . Ця система має деяку перехідну поведінку до кроку часу а потім стабілізується навколо деякого середнього значення з деякою помилкою. Жоден із , або помилки мені не відомий. Я готовий зробити деякі припущення (наприклад, помилка Гаусса навколоxttNtxtxхнаприклад), але чим менше апріорних припущень мені потрібно, тим краще. Єдине, що я точно знаю, - це лише одна стабільна точка, до якої сходиться система, і коливання навколо стабільної точки набагато менші, ніж коливання в перехідному періоді. Процес також є монотонним-ish, я можу припустити, що починається поблизу і піднімається до (можливо, завищення на трохи, перш ніж стабілізуватися навколо ).х00хх

Дані будуть надходити від моделювання, і мені потрібен тест на стабільність як умова зупинки для мого моделювання (оскільки мене цікавить лише перехідний період).хт

Точне запитання

Враховуючи лише доступ до значення часу для деякого кінцевого , чи існує метод, щоб з розумною точністю сказати, що стохастична динамічна система стабілізується навколо деякої точки ? Бонусні бали, якщо тест також повертає , , і помилка навколо . Однак це не суттєво, оскільки є прості способи розібратися в цьому після закінчення моделювання.х0...хТТххтх


Наївний підхід

Наївний підхід, який вперше з'являється мені в голові (який я бачив, як використовуються як умови виграшу, наприклад, для деяких нейронних мереж), полягає у виборі параметрів і , тож якщо для останніх часових кроків немає двох точок і такий, що то ми робимо висновок, що ми стабілізувалися. Цей підхід простий, але не дуже суворий. Це також змушує мене гадати, якими мають бути хороші значення іТЕТхх'х'-х>ЕТЕ

Схоже, має бути кращий підхід, який оглядається на деяку кількість кроків у минулому (або, можливо, якимось чином знижує старі дані), обчислює стандартну помилку з цих даних, а потім перевіряє, чи є для деяких інших кроків (або іншого) схема дисконтування) часовий ряд не вийшов за межі цього діапазону помилок. Я включив таку трохи менш наївну, але все ж просту стратегію як відповідь .


Будь-яка допомога або посилання на стандартні методи оцінюються.

Примітки

Я також перекреслив, що це питання є метаоптимізацією та в описі обчислювальної науки, присвяченому більш симуляційному моделюванню .


Ви знайшли чітке рішення? Мене цікавить те саме питання, але всі відповіді не переконливі.
Герман Зубник

1
@ user4050, на жаль, у мене немає. Я думаю, що це насправді дуже широке питання, і є багато методик, які кращі в одній галузі, а в інших гірші.
Артем Казнатчеєв

Відповіді:


6

Це коротке зауваження далеко не повна відповідь, лише деякі пропозиції:

  • якщо у вас є два періоди часу, коли поведінка різна, під різними, я маю на увазі або відмінності в модельних параметрах (що не стосується даної конкретної ситуації), середнє значення або відхилення або будь-яку іншу очікувану характеристику об'єкта часових рядів ( у вашому випадку) Ви можете спробувати будь-які методи, які оцінюють час (інтервал) структурних (або епідемічних) змін .хт
  • В R є strucchange бібліотека структурних змін лінійних регресійних моделей. Хоча він в основному використовується для тестування та моніторингу змін параметрів лінійної регресії, деякі статистичні дані можуть бути використані для загальних структурних змін у часових рядах.

Відсутність будь-яких змін / зміни рівня / тенденції та неврахування послідовного співвідношення будь-якого відставання в залишках моделі - це інгредієнти, які часто спричиняють неправильне застосування стандартних тестів F, тому слід бути обережними (як ви запропонували!).
IrishStat

@IrishStat, як ви бачите з мого посту, я не пропоную використовувати лінійну регресійну модель, я лише зазначив, що вона може мати подібну форму статистики (CUMSUM або будь-яку іншу, оскільки останні застосовуються до залишків моделі, що Очевидно, що це об'єкти часових рядів (з (ймовірно) різними обмежуючими розподілами, які враховують автокореляцію (перевіряється), і якщо ви хочете, ви можете внести попередні (також тестові) коригування перед подальшим тестуванням. Це лише єдина бібліотека R, яку я знаю, яка працює зі структурними змінами.
Дмитро Челов

Мені все більше і більше подобається ця відповідь. Чи є у вас пропозиція про хороший довідник (бажано, що це нещодавнє дослідження) щодо деяких загальних методів оцінки часу структурних змін?
Артем Казнатчеєв

4

Коли я читаю ваше запитання "і коливання навколо стабільної точки набагато менші, ніж коливання протягом перехідного періоду", я виходжу з нього - це запит на виявлення, коли і якщо змінилася помилка помилок, і якщо так, коли! Якщо це ваша мета, то ви можете розглянути питання про перегляд твору або Р. Цей «Атланти, зміни рівня та зміни коливань у часових рядах», Journal of Forecasting Vol 7, 1-20 (1988). Я провів чималу роботу в цій галузі і вважаю це дуже продуктивним, щоб отримати хороший аналіз. На мою думку, інші підходи (наприклад, аналіз лінійної регресії), які передбачають незалежні спостереження та відсутність імпульсних видатків та / або відсутність зрушень рівня або локальних тенденцій часу та інваріантних параметрів.


1

Я більше замислювався над питанням і думав, що дам трохи посилити наївний підхід як відповідь, сподіваючись, що люди знають подальші ідеї у напрямку. Це також дозволяє нам усунути необхідність знати розмір коливань.


Найпростіший спосіб здійснити це з двома параметрами . Нехай - зміна часового ряду між часовими кроками і . Коли ряд стабільний навколо , буде коливатися навколо нуля з деякою стандартною помилкою. Тут ми припустимо, що ця помилка є нормальною.(Т,α)ут=хт+1-хттт+1ху

Візьміть останній , і встановіть з впевненістю альфу, використовуючи функцію, як норма Матлаба . Примітка дасть нам середнє значення з помилкою довіри на середньому та стандартне відхилення з відповідною помилкою . Якщо , ви можете прийняти. Якщо ви хочете бути впевненими, тоді ви також можете s за допомогою знайденого вами (щоб у вас тепер було стандартне відхилення ) і протестуйте з Колмогоровим-СмирновимТутαмкαЕмкσЕσ0(мк-Емк,мк+Емк)утσ1тест на рівні довіри .α


Перевага цього методу полягає в тому, що на відміну від наївного підходу, вам більше не потрібно нічого знати про величину теплових коливань навколо середнього. Обмеження полягає в тому, що у вас все ще є довільний параметр , і ми повинні були припустити нормальний розподіл за шумом (що не є необґрунтованим). Я не впевнений, чи можна це змінити деяким середньозваженим значенням із знижкою. Якщо очікується інший розподіл для моделювання шуму, то нормотворчість і тест Колмогорова-Смірнова повинні бути замінені на їх еквіваленти для цього розподілу.Т


0

Ви можете розглянути можливість тестування назад (з прокатним вікном) для ко-інтеграції між собою xта середньострокової середньої перспективи.

Коли xобмітається середня величина, сподіваємось, тест Доповненого Діккі Фуллера або будь-який тест на спільну інтеграцію, який ви обрали, скаже вам, що дві серії є сумісними. Як тільки ви потрапите в перехідний період, коли дві серії відхиляються одна від одної, сподіваємось, ваш тест покаже вам, що оглядова серія не є інтегрованою.

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

Все, що я можу сказати, - вам доведеться пограти з цим, щоб побачити, чи отримаєте ви розумні результати.


0

У міру виконання моделювання розділіть останні 2N точки, сегментуючи їх на першу та другу половину. Обчисліть ряд змін (значеннямт+1-мт) для показника інтересу для кожної половини. Перевірте розподіл цих двох наборів дельт на предмет стаціонарності. Найпростіший спосіб зробити це - обчислити cdf кожного дистрибутива, позначивши останній як "спостережуваний", а попередній - "очікуваний". Потім проведіть тест чи-квадрата Пірсона на значення вашого показника на кожному децилі.


0

Окрім очевидного рішення фільтра Кальмана, ви можете використовувати вейвлет-розклади та отримувати локалізований за часом та частотою спектр потужності. Це задовольняє ваше бажання не допускати припущень, але, на жаль, не дає вам формальної перевірки, коли система влаштовується. Але для практичного застосування це добре; просто подивіться на час, коли енергія на високих частотах вмирає, і коли батькові коефіцієнти вейвлетів стабілізуються.


це не просто передати долар навколо, оскільки я не повинен перевіряти, коли часовий ряд коефіцієнтів вейвлета батька стабілізується? Або існує стандартний метод для цього конкретного часового ряду? Яке очевидне рішення фільтра Кальмана?
Артем Казнатчеєв

@ArtemKaznatcheev Чому ви не можете просто подивитися на графік ряду коефіцієнтів? Я намагався запропонувати рішення, яке не відповідало б вашому бажання тестувати, але як компроміс був без багатьох припущень.
користувач2763361
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.