def predict_is(self, h=5, fit_once=True, fit_method='MLE', intervals=False, **kwargs):
        """ Makes dynamic out-of-sample predictions with the estimated model on in-sample data

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

        fit_once : boolean
            (default: True) Fits only once before the in-sample prediction; if False, fits after every new datapoint

        fit_method : string
            Which method to fit the model with

        intervals: boolean
            Whether to return prediction intervals

        Returns
        ----------
        - pd.DataFrame with predicted values
        """     
        predictions = []

        for t in range(0,h):
            x = NNAR(ar=self.ar, units=self.units, 
                layers=self.layers, data=self.data_original[:-h+t], family=self.family)
            if fit_once is False:
                x.fit(method=fit_method, printer=False)
            if t == 0:
                if fit_once is True:
                    x.fit(method=fit_method, printer=False)
                    saved_lvs = x.latent_variables
                predictions = x.predict(1, intervals=intervals)
            else:
                if fit_once is True:
                    x.latent_variables = saved_lvs
                predictions = pd.concat([predictions,x.predict(1, intervals=intervals)])
        
        if intervals is True:
            predictions.rename(columns={0:self.data_name, 1: "1% Prediction Interval", 
                2: "5% Prediction Interval", 3: "95% Prediction Interval", 4: "99% Prediction Interval"}, inplace=True)
        else:
            predictions.rename(columns={0:self.data_name}, inplace=True)

        predictions.index = self.index[-h:]

        return predictions
def predict_is ( self , h = 5 , fit_once = True , fit_method = 'MLE' , intervals = False , ** kwargs ) : predictions = [ ] for t in range ( 0 , h ) : x = NNAR ( ar = self . ar , units = self . units , layers = self . layers , data = self . data_original [ : - h + t ] , family = self . family ) if fit_once is False : x . fit ( method = fit_method , printer = False ) if t == 0 : if fit_once is True : x . fit ( method = fit_method , printer = False ) saved_lvs = x . latent_variables predictions = x . predict ( 1 , intervals = intervals ) else : if fit_once is True : x . latent_variables = saved_lvs predictions = pd . concat ( [ predictions , x . predict ( 1 , intervals = intervals ) ] ) if intervals is True : predictions . rename ( columns = { 0 : self . data_name , 1 : "1% Prediction Interval" , 2 : "5% Prediction Interval" , 3 : "95% Prediction Interval" , 4 : "99% Prediction Interval" } , inplace = True ) else : predictions . rename ( columns = { 0 : self . data_name } , inplace = True ) predictions . index = self . index [ - h : ] return predictions
Makes dynamic out-of-sample predictions with the estimated model on in-sample data

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

        fit_once : boolean
            (default: True) Fits only once before the in-sample prediction; if False, fits after every new datapoint

        fit_method : string
            Which method to fit the model with

        intervals: boolean
            Whether to return prediction intervals

        Returns
        ----------
        - pd.DataFrame with predicted values