Як знайти, коли графік досягає піку і плато?


9

Це може здатися дуже базовим, але у мене є ця проблема: у мене черга даних із розміром вікна 300. Нові дані додаються з одного кінця, старі значення видаляються з іншого кінця.

Я очікую, що дані черги залишаться більш-менш послідовними, наприклад: 10,12,15,10,20, потім почнуть різко зростати: 15,10,20,22,25,26,28,30,32 ... аж до 150 або близько того. Там дані можуть дещо коливатися, тоді вони знижуватимуться схожим нахилом (120,118,116,115 ...) аж до 20 або близько того.

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


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

2
Який би метод не був, вам доведеться правильно визначити, що таке пік, а що плато. Чи є двома послідовними «високими» значеннями пік чи плато? Як щодо п’яти? Деякі методи, можливо, не потребують цієї інформації, але тоді це приховано за кадром. Як завжди, це зводиться до правильного визначення вашої проблеми та оптимізації ваших параметрів (та / або алгоритму) для неї.
Нік Саббе

Відповіді:


2

Якщо ви знаєте, що це саме така модель, яку слід очікувати, тоді ви можете шукати цю точну схему, але тоді ви пропустите інші зразки. Тому. Якщо ви знаєте, що пік буде 150, то ви могли б шукати 2 або 3 або 4 або (хоча багато) послідовних значень 150. Але ви кажете "чи так" - наскільки великим є "чи так"? Можливо, пік визначається як "3 послідовних значення понад 130", а може бути, "3 з 5 послідовних значень понад 140". Це вам вирішити.

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


4

Погляньте на SiZer (значні переходи ZERo ... або схили, я не пам’ятаю), хоча, певно, це скоріше поперечний переріз, ніж інструмент часових рядів. Ідея полягає в тому, щоб згладити дані з різною пропускною здатністю (змінюючись на три порядки) і застосувати деякі локальні тести, щоб побачити, чи є нахил локальної регресії суттєво позитивним чи негативним (чи не визначений). Це створює переконливу картину, яка допоможе вам визначити, які особливості існують. (Я здивований, що немає R-реалізації, лише Matlab.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.