Контрольные диаграммы в Python
В настоящее время я регулярно использую R для управления статистическими процессами. С этим я могу создать контрольные диаграммы, такие как EWMA, Shewhart, CUSUM и GAM/Loess сглаживание.
Кто-нибудь знает, как лучше использовать эти типы диаграмм с помощью Python? Сначала я посмотрел на scikits.timeseries
, но он был консервирован, чтобы внести вклад в pandas.
Я посмотрел на pandas, и хотя у него действительно есть функциональность EWMA, мне нужно немного больше.
Ответы
Ответ 1
Просто нашел этот пакет, который не обновлялся в то время, но работает до сих пор в Python 2.7.3 (в 64-битной Windows 7, используя довольно современные пакеты поддержки):
In [1]: import spc
In [2]: import matplotlib.pyplot as plt
In [3]: x = [25,19,14,17,25,39,49,6,11,19,13,26,24,32,14,19]
In [4]: cc = spc.Spc(x, spc.CHART_X_MR_X)
In [5]: cc.get_chart()
In [6]: plt.show()
![enter image description here]()
Похоже, что 6-я точка находится за пределами верхнего предела управления...
In [7]: cc.get_violating_points()
Out[7]: {'1 beyond 3*sigma': [6]}
Пакет в основном представляет собой единственный файл init.py, который содержит всего несколько сотен исходных строк, и пытается реализовать более десятка диаграмм, включая CUSUM.
Наконец, есть проект github, заслуживающий внимания: https://github.com/bwghughes/controlchart
Ответ 2
Просто наткнулся на это и провел быстрое повторное исследование в 2019 году, многие обращения к Google, среди которых я нахожу следующие - по крайней мере, на первый взгляд - привлекательными:
С уважением
Ответ 3
Поскольку этот вопрос старый, я думаю, что обновленный ответ здесь действителен - scipy предлагает функциональность cusum, найденную здесь, и Pandas, найденную здесь. Вот быстрый скрипт для построения кумулятивной суммы с использованием панд:
import pandas as pd
some_dataframe[some_column].cumsum().plot()