Кращий алгоритм класифікації даних двигунів часових рядів


9

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

Струми двигуна - хороша робота Струми двигуна - заклинюють в кінці роботи


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

Чи можете ви опублікувати зображення "проблеми"? Однією з ідей було б обчислити відстань між "ідеальною операцією" (на зразок червоної лінії) та "фактичною операцією" (синя лінія). Якщо якась точка занадто далека від "ідеальної операції", позначте це проблемою.
Зак

1
+1 Це ключова ідея: використовувати знання, характерні для додатків, для характеристики поведінки. Це буде набагато доречніше і потужніше, ніж будь-яка суто статистична методика. Потім статистика може запропонувати способи порівняння даних із "базовою лінією" чи ідеальною серією.
whuber

Ця ідея використання теоретичного або ідеального може бути легко включена як серія підтримки передбачувача / причини / праворуч у моделі функції передачі, яка потім дасть інформацію про виявлення точки зміни, яку я описав у своїй відповіді.
IrishStat

@Irish Я думаю, що це не так просто. Існує характерна форма споживання струму: початковий швидкий сплеск, повільніше (експоненціальне?) Зниження, довга область (сподіваємось) стабільного струму з наступним кінцевим випадом (який набуває характерної форми) наприкінці . Деталі будуть різними, але важливим є відмінність нормальної зміни від "поганої". Викликають занепокоєння такі речі, як відносна висота початкового шипу та час, необхідний для вирівнювання. Пам'ятайте, мета полягає у виявленні проблем, а деякі з них можуть бути тоншими, ніж покаже стандартний аналіз.
качан

Відповіді:


4

Мій підхід полягає в тому, щоб сформувати модель ARIMA для даних, а потім використовувати різні "схеми виявлення змінних змін", щоб забезпечити раннє попередження про несподівані "речі". Ці схеми включали б

  1. виявлення наявності / появи імпульсів / зсувів рівня / місцевих тенденцій часу, тобто зміни середнього рівня помилок з часом
  2. виявлення наявності / настання змін параметрів у часі
  3. виявлення наявності / настання змін дисперсії залишків у часі

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



3

Прихована модель Маркова

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

http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html

Фільтр Кальмана

Інший підхід, який трохи більше задіяний, - це фільтр Кальмана. Цей підхід особливо корисний, якщо ваші дані мають багато шуму. Хороша бібліотека з відкритим кодом - це фільтр інструментів Kalman Filter для Matlab.

http://www.cs.ubc.ca/~murphyk/Software/Kalman/kalman.html

Байєсові моделі

Обидва ці підходи вважаються баєсовими моделями. Гарною бібліотекою з відкритим кодом є Netes Toolbox для Matlab.

http://code.google.com/p/bnt

Я сподіваюся, що це працює для вас.

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