import pandas as pd import numpy as np from matplotlib.pylab import rcParams # Construct the data with gaps ts = pd.read_csv('AirPassengers.csv', parse_dates=True, index_col='Month') ts_ = ts.copy() ts_.ix[67:79] = np.nan ts_ = ts_.set_value('1961-12-01', '#Passengers', np.nan).asfreq('MS') ssa = SSA(ts_) # Plot original series for reference ssa.view_time_series() ssa.embed(embedding_dimension=36, suspected_frequency=12, verbose=True) ssa.decompose(True) ssa.view_s_contributions(adjust_scale=True) # Component Signals components = [i for i in range(13)] rcParams['figure.figsize'] = 11, 2 for i in range(5): ssa.view_reconstruction(ssa.Xs[i], names=i, symmetric_plots=i != 0) rcParams['figure.figsize'] = 11, 4 # RECONSTRUCTION ssa.view_reconstruction(*[ssa.Xs[i] for i in components], names=components) # FORECASTING ssa.forecast_recurrent(steps_ahead=48, plot=True)