J'ai essayé la bibliothèque changefinder!

Premier message de Qiita! !! C'est facile pour un nouvel ingénieur diplômé de première année (* ´ ▽ ` *) Site de référence: [changefinder] (http://argmax.jp/index.php?changefinder)

Contexte

J'ai récemment entendu une voix dire "Je veux savoir si le PV monte en flèche!" Et j'ai essayé. Dans un tel cas, il semble qu'il soit souvent mesuré à l'aide de la détection du point de changement et de la détection des valeurs aberrantes. Lors de l'enquête, il y a eu quelques exemples d'utilisation d'un modèle appelé changefinder.

[Introduction de la méthode et du système pour identifier les mots qui montent en flèche en utilisant "Ameba" et "Twitter"] (https://www.cyberagent.co.jp/techinfo/techreport/report/id=9749)

Il existe des packages en R et Python, donc cette fois j'ai essayé l'exemple de code du package python que je n'ai jamais touché!

R: [J'ai créé un package pour la détection d'anomalies (détection de point de changement)] (http://d.hatena.ne.jp/yokkuns/20120930/1348978641)

Python: [changefinder] (http://argmax.jp/index.php?changefinder)

Entraine toi

L'éditeur a récemment utilisé jupyter, qui est un sujet brûlant dans la zone Python. Comment installer jupyter nootbook est résumé dans ici. jupyter est un éditeur recommandé pour la modification de code interactif, l'acquisition de données et le traçage.

Lorsque vous appuyez sur l'exemple de code avec jupyter, cela ressemble à ceci

jupyter.PNG

Tout d'abord, installez le package changefinder Installez les bibliothèques requises

pip install changefinder

matplotlib.pyplot est une bibliothèque standard de tracés graphiques. numpy est une bibliothèque pratique que disent diverses fonctions qui génèrent des nombres aléatoires, etc. pandas contient des types qui facilitent les opérations sur les données, comme les trames de données.

import changefinder as cf
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

Créez les données à analyser. Crée et stocke des nombres aléatoires avec des valeurs moyennes faibles, élevées, faibles et élevées.

data=np.concatenate([
np.random.normal(0.7, 0.05, 300),
np.random.normal(1.5, 0.05, 300),
np.random.normal(0.6, 0.05, 300),
np.random.normal(1.3, 0.05, 300)])

Réglez les paramètres.

cf = changefinder.ChangeFinder(r=0.01, order=1, smooth=100)

Mettez le score dans un tableau

ret = []
for i in data:
    score = cf.update(i)
    ret.append(score)

C'est un tracé graphique.

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(ret)
ax2 = ax.twinx()
ax2.plot(data,'r')
plt.show()

Résumé

Avec jupyter, vous pouvez interagir avec lui, vous pouvez donc facilement essayer différents packages!

Recommended Posts

J'ai essayé la bibliothèque changefinder!
J'ai essayé d'utiliser la bibliothèque de programmation fonctionnelle toolz
J'ai essayé le tutoriel TensorFlow 1er
J'ai essayé le roman Naro API 2
J'ai essayé le tutoriel TensorFlow 2ème
J'ai essayé l'API du roman Naruro
J'ai essayé de déplacer le ballon
J'ai essayé d'utiliser l'API checkio
J'ai essayé d'estimer la section.
J'ai essayé d'utiliser la bibliothèque Python de Ruby avec PyCall
J'ai essayé de toucher la bibliothèque d'API de contrôle de routeur multi-fournisseur NAPALM
Tutoriel TensorFlow J'ai essayé MNIST 3rd
J'ai essayé de résumer la commande umask
J'ai essayé tensorflow pour la première fois
J'ai essayé de gratter
J'ai essayé de reconnaître le mot de réveil
J'ai essayé PyQ
J'ai essayé l'outil de visualisation OSS, sur-ensemble
J'ai essayé AutoKeras
J'ai essayé de résumer la modélisation graphique.
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
Suite ・ J'ai essayé de toucher la bibliothèque d'API de contrôle de routeur multifournisseur NAPALM
J'ai essayé de toucher l'API COTOHA
J'ai essayé le moulin à papier
Python: j'ai essayé le problème du voyageur de commerce
J'ai essayé de jouer avec l'image avec Pillow
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
J'ai essayé le framework de test Python Tornado
J'ai essayé d'utiliser l'API BigQuery Storage
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"
J'ai essayé de "lisser" l'image avec Python + OpenCV
J'ai essayé Web Scraping pour analyser les paroles.
[Python] J'ai essayé de remplacer le nom de la fonction par le nom de la fonction
J'ai essayé l'analyse par grappes de la carte météo
J'ai essayé d'accéder à l'API Qiita depuis le début
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé d'optimiser le séchage du linge
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de simuler "Birthday Paradox" avec Python
J'ai essayé la méthode des moindres carrés en Python
J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide
J'ai essayé d'utiliser l'API Google Cloud Vision
J'ai essayé la programmation python pour la première fois.
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de toucher la bibliothèque GUI de Python "PySimple GUI"
J'ai essayé de "binariser" l'image avec Python + OpenCV
J'ai essayé d'utiliser le module Datetime de Python
J'ai essayé Mind Meld pour la première fois
J'ai essayé la fonction SLAM de Pepper NAOqi OS 2.5.5
Qiita Job J'ai essayé d'analyser le travail
J'ai essayé d'utiliser le filtre d'image d'OpenCV
LeetCode j'ai essayé de résumer les plus simples
J'ai essayé de jouer avec la calculatrice avec tkinter
J'ai essayé de mettre en œuvre le problème du voyageur de commerce