J'essaye de construire un ARIMA pour la détection d'anomalies. J'ai besoin de trouver la moyenne mobile du graphe de série temporelle que j'essaie d'utiliser pandas 0.23 pour cette
import pandas as pd
import numpy as np
from statsmodels.tsa.stattools import adfuller
import matplotlib.pylab as plt
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15, 6
dateparse = lambda dates: pd.datetime.strptime(dates, '%Y-%m')
data = pd.read_csv('AirPassengers.csv', parse_dates=['Month'], index_col='Month',date_parser=dateparse)
data.index
ts = data['#Passengers']
ts.head(10)
plt.plot(ts)
ts_log = np.log(ts)
plt.plot(ts_log)
moving_avg = pd.rolling_mean(ts_log,12) # here is the error
pd.rolling_mean
plt.plot(ts_log)
plt.plot(moving_avg, color='red')
error: Traceback (l'appel le plus récent en dernier): Fichier "C:\Program Files\Python36\lastmainprogram.py", ligne 74, dans moving_avg = pd.rolling_mean (journal_s, 12) AttributeError: module 'pandas' n'a pas d'attribut 'rolling_mean '
Je crois avoir besoin de changement:
_moving_avg = pd.rolling_mean(ts_log,12)
_
à:
_moving_avg = ts_log.rolling(12).mean()
_
car ancien pandas code de version ci-dessous pandas 0.18.0
Changement:
moving_avg = pd.rolling_mean(ts_log,12)
à:
rolmean = pd.Series(timeseries).rolling(window=12).mean()
rolstd = pd.Series(timeseries).rolling(window=12).std()