Récemment, j'ai essayé d'utiliser Prophet pour prédire facilement les séries chronologiques. Comme c'est un gros problème, j'ai décidé de tout partager, de l'introduction à l'opération, j'ai donc écrit un article.
Prophet est un package de prédiction de séries chronologiques publié par facebook sous le nom d'OSS (licence MIT). La théorie détaillée n'est pas abordée ici, mais les prédictions sont faites à l'aide d'un modèle additif généralisé.
python
#prophet_Un environnement virtuel appelé env est python3.Créé avec 7 séries(3.8 série fbprophet 0.Non compatible avec 6)
conda create -n prophet_env python=3.7
#prophète créé à partir de l'environnement de base_env Passer à l'environnement virtuel
conda activate prophet_env
Tout d'abord, installez la communauté Visual Stuido.
Ensuite, installez les bibliothèques suivantes
python
#Prophet introduit parce que cela dépend de PyStan
conda install plotly -y
#Introduction de fbprophet(2020/11/La version à 1 est 0.7.C'était 1, mais j'ai eu une erreur, donc 0.6)
conda install -c conda-forge fbprophet==0.6
#Parce que l'environnement est miniconda ...(Je n'ai pas mis numpy et pandas individuellement parce qu'ils ont été introduits ensemble dans ↑)
conda install matplotlib
Installation réussie si aucune erreur ne se produit avec la commande suivante
python
from fbprophet import Prophet
Cette fois, nous utiliserons un ensemble de données simple appelé «passagers aériens» comme exemple d'ensemble de données. La colonne Mois contient la partie série chronologique et la colonne Passagers contient les changements du nombre de passagers. Lien de l'ensemble de données
Month | #Passengers |
---|---|
1949/1/1 | 112 |
1949/2/1 | 118 |
1949/3/1 | 132 |
python
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from fbprophet import Prophet
#Lire le csv des passagers aériens
df = pd.read_csv('AirPassengers.csv')
python
#Prophet doit changer les noms des colonnes en ds et y, alors changez-les
df.columns = ['ds', 'y']
#Cette fois, apprenez de l'arrière de la trame de données au 10 dans Prophet(fit)Laisser
m = Prophet()
m.fit(df[:-10])
python
'''
periods=Prédire 10:10 carrés
freq='M': L'unité est "Mois"
→ En d'autres termes, cela signifie prédire sur 10 mois
'''
future = m.make_future_dataframe(periods=10, freq='M')
forecast = m.predict(future)
#Illustrer le résultat des prévisions
fig = m.plot(forecast)
Il devrait être affiché comme ↓.
Comment était-ce? Le programme lui-même fonctionne facilement, il peut donc être plus difficile à installer. Différentes versions pourraient provoquer une erreur quelque part, et en fait, je suis tombé là-bas au début. (PyStan, libpython, etc. ont été introduits avec fbprophet == 0.6, ils n'ont donc pas été introduits individuellement à la fin) C'est facile, alors essayez-le.
Recommended Posts