Değişim noktası analizi için Python modülü


24

Bir zaman serisinde bir değişim noktası analizi yapan bir Python modülü arıyorum. Çok sayıda farklı algoritma var ve algoritmaların her birini elden almak zorunda kalmadan bazılarının etkinliğini araştırmak istiyorum.

İdeal olarak bcp (Bayesian Change Point) ya da R'deki strucchange paketleri gibi bazı modüller istiyorum. Bazılarını Scipy'de bulmayı umuyordum ama hiçbir şey bulamadım.

Şunda herhangi bir tesis bulunmadığına şaşırdım:

Python'da değişim noktası algılama algoritmalarına sahip modüller var mı?


Ayrıca Python'da değişim noktası analizi arıyorum. İşe yarar bir şey buldunuz mu (örneğin RPY kullanarak)?
Jack Kelly,

Sigortalı kementi SPAMS spams-devel.gforge.inria.fr adresinde kullanın (Python ciltleri vardır).
Vladislavs Dovgalecs

kimse şimdiye kadar iyi bir değişiklik noktası analiz kitaplığı buldu (çeşitli algoritmalar uygulayarak ikili bölümleme, segment mahalleleri)?
Maha

Online zaman serisi verileri için, nasıl bir Değişikliği Noktaya Algılama uygulanması, diyor changefinder ölçeklendirebiliyoruz? Bu benim için doğal bir sorun gibi görünüyor.
HoofarLotusX

Yanıtlar:


7

PyPI'deki değiştirici kütüphanesini deneyebilirsiniz . Açıklama, ChangeFinder algoritmasına dayanan çevrimiçi bir Change Detection Library olduğunu söylüyor

Michele Basseville'in İstatistiksel Değişim Noktası Tespiti tekniklerinin Python uygulamaları da bu Github deposundaki öğretici formatta mevcuttur .


3
Bayesian Değişim Noktası Tespiti'nin Python uygulaması da bu Github deposunda bulunabilir .
kushan_s

1
Cevaptaki ilk bağlantı gibi görünüyor (amanahuja) eksik mi? yorumda gönderdiğiniz diğer yararlıdır!
okkhoy

6

Python kütüphanesinde gelişmiş istatistik paketlerini kullanmak için hala bazı boşluklar var. RPy modülünü kullanmayı denediniz mi? RPy kullanırken R modüllerini yükleyebilirsiniz.

RPY hakkında kısa eğitim: http://www.sciprogblog.com/2012/08/using-r-from-within-python.html strucchange


2
Bu hala böyle mi? Hala R-Python köprüsünü kullanmam gerekiyor mu?
Maha

kimse şimdiye kadar iyi bir değişiklik noktası analiz kitaplığı buldu (çeşitli algoritmalar uygulayarak ikili bölümleme, segment mahalleleri)?
Maha

4

Python paketi rpy2'nin bu uygulaması benim için çalıştı:

import numpy as np
from rpy2.robjects.packages import importr
import rpy2.robjects as robjects

r = robjects.r #allows access to r object with r.

bcp = importr('bcp') #import bayesian change point package in python

values = bcp.bcp( r.c( r.rnorm(50) , r.rnorm(50,5,1), r.rnorm(50) ) ) #use bcp function on vector

posterior_means = np.array(values[5]).flatten()
posterior_probability = np.array(values[7]).flatten()

Ardından, posterior araçları ve posterior olasılığı orijinal vektöre göre çizebilirsiniz. Bu örnek hakkında daha ayrıntılı bilgi için R'deki bcp işlevi örneğine bakın.

Ayrıca, bir sayıyla sert indeksleme değerleri (yani değerler [5]) ideal değildir, ama rx ve rx2 çıkarıcısını kullanırken zor zamanlar geçirdim. Eğer biri beni daha az kesen bir çıkarma yöntemiyle aydınlatabilirse, bilmek isterim!



0

ChangeFinder kütüphanesini denediniz mi?

pip install changefinder

ayrıca Bayesian_changepoint_detection GitHub kodu burada bulunabilir: GitHub Kodu

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.