Виявити зміни у часових рядах


11

Я натрапив на фотографію прототипу програми, який знаходить значні зміни ("тенденції" - не шипи / перекиди) у даних про трафік:

alt текст

Я хочу написати програму (Java, необов'язково R), яка здатна зробити те саме - але оскільки мої статистичні навички трохи іржаві, мені потрібно знову заглиблюватися в цю тему.

Який підхід / алгоритм я повинен використовувати / досліджувати?



Так, і відповіді теж будуть однакові.
whuber

Відповіді:


4

Існує ряд способів, що може статися "структурний розрив".

Якщо в "останній частині часового ряду" є зміна перехоплення або зміна тренда, то краще було б виявити виявлення втручання (NB - це емпірична ідентифікація значного впливу не визначеної детермінованої змінної такої як зміна рівня або зміна тенденції або настання сезонного імпульсу). Виявлення втручання тоді є попереднім курсором інтервенційного моделювання, де запропонована змінна включена в модель. Інформацію ви можете знайти в Інтернеті за допомогою googling "AUTOMATIC INTERVENTION DETECTION". Деякі автори використовують термін "ВІДКЛЮЧЕННЯ АУТЛІЕР", але, як і багато статистичної мови, це може бути заплутаним / неточним. Виявлені втручання можуть бути будь-якими з наступних (виявлення значної зміни середнього значення залишків);

1-річна зміна рівня (тобто імпульсу), багаторічна суцільна зміна рівня (тобто зміна перехоплення), систематична пульсація (тобто сезонний імпульс), зміна тренда (тобто 1,2,3,4,5, 7,9,11,13,15 .....) Ці процедури легко програмуються IN R / SAS / Matlab і звичайно доступні в ряді комерційно доступних пакетів часових рядів, проте є багато підводних каменів, до яких потрібно бути обережними наприклад, спочатку виявити стохастичну структуру чи виявити інтервенцію на оригінальній серії. Це як проблема з куркою та яйцями. Рання робота в цій області була обмежена типом 1 і, як такої, ймовірно, буде недостатньою для ваших потреб, оскільки ваші приклади ілюструють РІЗНІ ЗМІНИ.

В Інтернеті є багато матеріалу і навіть безкоштовна програма на веб- сайті http://www.autobox.com/30day.exe, яка навіть дозволяє використовувати власні дані протягом 30 днів. Ви можете навчитися багато чому "просто спостерігаючи" за словами Йогі одного разу і повторити їх результати.

Веб-посилання на точні для вас рівняння можна знайти, починаючи зі сторінки 134 в http://www.autobox.com/pdfs/autoboxusersguide.pdf . Я один з авторів AUTOBOX.


@stefanos: Скажіть, будь ласка, назву програми, оскільки я завжди зацікавлений у пошуку програмних рішень, що займаються цією проблемою. Ви можете надіслати мені електронну пошту на мою контактну інформацію.
IrishStat

1

Спробуйте пакет cpm або changepoint в Р. Це безкоштовно. Також досліджуйте модель точки зміни або послідовне виявлення змін.


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