def plot_predict(self,h=5,past_values=20,intervals=True,**kwargs):

        """ Makes forecast with the estimated model

        Parameters
        ----------
        h : int (default : 5)
            How many steps ahead would you like to forecast?

        past_values : int (default : 20)
            How many past observations to show on the forecast graph?

        intervals : Boolean
            Would you like to show prediction intervals for the forecast?

        Returns
        ----------
        - Plot of the forecast
        """
        import matplotlib.pyplot as plt
        import seaborn as sns

        figsize = kwargs.get('figsize',(10,7))

        if self.latent_variables.estimated is False:
            raise Exception("No latent varaibles estimated!")
        else:

            # Retrieve data, dates and (transformed) latent variables
            mu, Y = self._model(self.latent_variables.get_z_values()) 
            date_index = self.shift_dates(h)
            t_params = self.transform_z()

            # Expectation
            exps = self._forecast_mean(h,t_params,Y,None,None)

            # Simulation
            sim_vector = np.array([np.zeros([15000,h]) for i in range(self.ylen)])
            for it in range(0,15000):
                exps_sim = self._forecast_mean(h,t_params,Y,"Cov",None)
                for variable in range(self.ylen):
                    sim_vector[variable][it,:] = exps_sim[variable][-h:]

            for variable in range(0,exps.shape[0]):
                test = np.transpose(sim_vector[variable])
                error_bars, forecasted_values, plot_values, plot_index = self._summarize_simulations(exps[variable],test,date_index,h,past_values)
                plt.figure(figsize=figsize)
                if intervals == True:
                    alpha = [0.15*i/float(100) for i in range(50,12,-2)]
                    for count, pre in enumerate(error_bars):
                        plt.fill_between(date_index[-h-1:], forecasted_values-pre, forecasted_values+pre,alpha=alpha[count])            
                plt.plot(plot_index,plot_values)
                plt.title("Forecast for " + self.data_name[variable])
                plt.xlabel("Time")
                plt.ylabel(self.data_name[variable])
                plt.show()
def plot_predict ( self , h = 5 , past_values = 20 , intervals = True , ** kwargs ) : import matplotlib . pyplot as plt import seaborn as sns figsize = kwargs . get ( 'figsize' , ( 10 , 7 ) ) if self . latent_variables . estimated is False : raise Exception ( "No latent varaibles estimated!" ) else : mu , Y = self . _model ( self . latent_variables . get_z_values ( ) ) date_index = self . shift_dates ( h ) t_params = self . transform_z ( ) exps = self . _forecast_mean ( h , t_params , Y , None , None ) sim_vector = np . array ( [ np . zeros ( [ 15000 , h ] ) for i in range ( self . ylen ) ] ) for it in range ( 0 , 15000 ) : exps_sim = self . _forecast_mean ( h , t_params , Y , "Cov" , None ) for variable in range ( self . ylen ) : sim_vector [ variable ] [ it , : ] = exps_sim [ variable ] [ - h : ] for variable in range ( 0 , exps . shape [ 0 ] ) : test = np . transpose ( sim_vector [ variable ] ) error_bars , forecasted_values , plot_values , plot_index = self . _summarize_simulations ( exps [ variable ] , test , date_index , h , past_values ) plt . figure ( figsize = figsize ) if intervals == True : alpha = [ 0.15 * i / float ( 100 ) for i in range ( 50 , 12 , - 2 ) ] for count , pre in enumerate ( error_bars ) : plt . fill_between ( date_index [ - h - 1 : ] , forecasted_values - pre , forecasted_values + pre , alpha = alpha [ count ] ) plt . plot ( plot_index , plot_values ) plt . title ( "Forecast for " + self . data_name [ variable ] ) plt . xlabel ( "Time" ) plt . ylabel ( self . data_name [ variable ] ) plt . show ( )
Makes forecast with the estimated model

        Parameters
        ----------
        h : int (default : 5)
            How many steps ahead would you like to forecast?

        past_values : int (default : 20)
            How many past observations to show on the forecast graph?

        intervals : Boolean
            Would you like to show prediction intervals for the forecast?

        Returns
        ----------
        - Plot of the forecast