Я ищу модуль Python, который выполняет анализ точек изменения во временных рядах. Существует ряд различных алгоритмов, и я хотел бы изучить эффективность некоторых из них, не прибегая к ручному раскручиванию каждого из алгоритмов.
В идеале я хотел бы, чтобы некоторые модули, такие как bcp (Bayesian Change Point) или strucchange пакетов в Р. я ожидал найти некоторые в SciPy , но я не был в состоянии оказаться что угодно.
Я удивлен, что нет никаких средств в:
- statsmodels.tsa : инструменты статистического анализа временных рядов
- scikits.timeseries : инструменты анализа временных рядов для расширения scipy
- scipy.signal : инструменты обработки сигналов в scipy
Есть ли в Python модули с алгоритмами обнаружения точек изменения?
time-series
python
change-point
Эрик Шилтс
источник
источник
Ответы:
Вы можете попробовать библиотеку changefinder на PyPI. В описании сказано, что это онлайн-библиотека обнаружения изменений на основе алгоритма ChangeFinder
Есть также некоторые реализации Python методик обнаружения статистического Изменения точки Микеле Basseville можно ознакомиться в учебнике формата на этом Github репо.
источник
В библиотеке Python все еще есть некоторые пробелы для использования пакетов расширенной статистики. Вы пытались использовать модуль RPy? При использовании RPy вы можете загрузить R модулей.
краткое руководство по RPy: http://www.sciprogblog.com/2012/08/using-r-from-within-python.html strucchange
источник
Эта реализация пакета Python rpy2 сработала для меня:
Затем вы можете построить апостериорное среднее значение и апостериорную вероятность относительно исходного вектора. Смотрите пример функции bcp в R для более подробной информации об этом примере.
Кроме того, жесткая индексация значений с помощью числа (то есть значений [5]) не идеальна, но мне было трудно использовать экстрактор rx и rx2. Так что, если кто-нибудь сможет рассказать мне о менее хакерском методе извлечения, я бы хотел знать!
источник
Я только что натолкнулся на библиотеку обнаружения точек изменения в Python с именем «разрыв»: https://arxiv.org/abs/1801.00826
Может быть, это может быть полезным.
источник
Вы уже пробовали библиотеку ChangeFinder, вы можете установить ее в Linux:
pip install changefinder
также Bayesian_changepoint_detection GitHub-код можно найти здесь: GitHub-код
источник