Mô-đun Python để phân tích điểm thay đổi


24

Tôi đang tìm kiếm một mô-đun Python thực hiện phân tích điểm thay đổi theo chuỗi thời gian. Có một số thuật toán khác nhau và tôi muốn khám phá tính hiệu quả của một số thuật toán mà không cần phải cuộn từng thuật toán.

Lý tưởng nhất là tôi muốn một số mô-đun như gói bcp (Điểm thay đổi Bayes) hoặc gói strucchange trong R. Tôi dự kiến ​​sẽ tìm thấy một số trong Scipy nhưng tôi không thể bật bất cứ thứ gì.

Tôi ngạc nhiên rằng không có bất kỳ cơ sở nào trong:

Có mô-đun nào có thuật toán phát hiện điểm thay đổi trong Python không?


Tôi cũng đang tìm kiếm phân tích điểm thay đổi trong Python. Bạn có tìm thấy bất cứ điều gì hữu ích (ví dụ như sử dụng RPy?).
Jack Kelly

Sử dụng lasso hợp nhất trong SPams spam-devel.gforge.inria.fr (có các ràng buộc Python).
Vladislavs Dovgalecs

bây giờ có ai tìm thấy bất kỳ thư viện phân tích thay đổi tốt nào không (thực hiện các thuật toán khác nhau nói phân đoạn nhị phân, phân vùng lân cận)?
Maha

Đối với dữ liệu chuỗi thời gian trên mạng, làm thế nào một thực hiện thay đổi-Point Detection, nói changefinder có thể mở rộng? Đây dường như là một vấn đề cố hữu với tôi.
HoofarLotusX

Câu trả lời:


7

Bạn có thể dùng thử thư viện changefinder trên PyPI. Mô tả nói rằng đó là Thư viện phát hiện thay đổi trực tuyến dựa trên thuật toán Change Downloader

Ngoài ra còn có một số triển khai Python của các kỹ thuật Phát hiện điểm thay đổi thống kê của Michele Basseville có sẵn ở định dạng hướng dẫn trên repo Github này .


3
Một triển khai Python của Phát hiện điểm thay đổi Bayes cũng có thể được tìm thấy tại repo Github này .
kushan_s

1
Hình như liên kết đầu tiên trong câu trả lời (amanahuja) là không đầy đủ? một cái khác mà bạn đã đăng trong bình luận là hữu ích!
okkhoy

6

Vẫn còn một số lỗ hổng trong thư viện Python để sử dụng các gói thống kê nâng cao. Bạn đã thử sử dụng mô-đun RPy chưa? Khi sử dụng RPy, bạn có thể tải các mô-đun R.

hướng dẫn ngắn gọn về RPy: http://www.sciprogblog.com/2012/08/USE-r-from-within-python.html strucchange


2
đây vẫn là trường hợp? Tôi vẫn cần kết thúc bằng cầu R-Python chứ?
Maha

bây giờ có ai tìm thấy bất kỳ thư viện phân tích thay đổi tốt nào không (thực hiện các thuật toán khác nhau nói phân đoạn nhị phân, phân vùng lân cận)?
Maha

4

Việc triển khai gói Python rpy2 này đã làm việc với tôi:

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()

Sau đó, bạn có thể vẽ các phương tiện sau và xác suất sau so với vectơ ban đầu. Xem ví dụ về hàm bcp trong R để biết thêm thông tin chi tiết về ví dụ này.

Ngoài ra, các giá trị lập chỉ mục cứng với một số (tức là các giá trị [5]) không lý tưởng, nhưng tôi đã gặp khó khăn khi sử dụng trình trích xuất rx và rx2. Vì vậy, nếu bất cứ ai có thể khai sáng cho tôi về một phương pháp khai thác ít hack hơn, tôi rất muốn biết!



0

Bạn đã thử thư viện Change Downloader chưa, bạn có thể cài đặt nó trên linux bằng cách:

pip install changefinder

cũng có thể tìm thấy mã GitHub của Bayesian_changepoint_detection tại đây: Mã GitHub

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.