Я пытаюсь использовать библиотеку обнаружения точки изменения python для разрыва. Я не вижу, как получить количество точек изменения в реальном сигнале. Кажется, что все примеры начинаются с экспериментальных данных, для которых известно количество точек изменения.
Я могу передать свои данные в алгоритмы и найти точки изменения для фиксированного количества точек изменения. Но я не могу понять, как определить количество точек останова.
import numpy as np
import ruptures as rp
# values is real world time series data from graylog histo.
signal = np.array(values)
c = rpt.costs.CostL1().fit(signal)
model = "l2"
algo = rpt.Pelt(model=model, custom_cost=c)
algo = algo.fit(signal)
bkps = algo.predict(pen=300000)
rpt.display(signal, bkps, bkps, figsize=(20, 12))
Я пробовал различные комбинации различных алгоритмов, функций стоимости и т. Д. Я ищу что-то, что можно сделать без помощи, то есть не настроено вручную все время. В этом примере выбор ручки, кажется, определяет количество точек изменения.