def _uncythonized_mb_model(self, beta, mini_batch):
        """ Creates the structure of the model

        Parameters
        ----------
        beta : np.array
            Contains untransformed starting values for latent variables

        mini_batch : int
            Size of each mini batch of data

        Returns
        ----------
        theta : np.array
            Contains the predicted values for the time series

        Y : np.array
            Contains the length-adjusted time series (accounting for lags)

        scores : np.array
            Contains the scores for the time series
        """

        rand_int =  np.random.randint(low=0, high=self.data.shape[0]-mini_batch-self.max_lag+1)
        sample = np.arange(start=rand_int, stop=rand_int+mini_batch)

        data = self.data[sample]
        X = self.X[sample, :]
        Y = data[self.max_lag:]

        parm = np.array([self.latent_variables.z_list[k].prior.transform(beta[k]) for k in range(beta.shape[0])])
        model_scale, model_shape, model_skewness = self._get_scale_and_shape(parm)
        theta = np.matmul(X[self.integ+self.max_lag:],parm[self.sc+self.ar:(self.sc+self.ar+len(self.X_names))])

        # Loop over time series
        theta, self.model_scores = gasx_recursion(parm, theta, self.model_scores, Y, self.ar, self.sc, Y.shape[0], self.family.score_function, 
            self.link, model_scale, model_shape, model_skewness, self.max_lag)

        return np.array(theta), Y, self.model_scores
def _uncythonized_mb_model ( self , beta , mini_batch ) : rand_int = np . random . randint ( low = 0 , high = self . data . shape [ 0 ] - mini_batch - self . max_lag + 1 ) sample = np . arange ( start = rand_int , stop = rand_int + mini_batch ) data = self . data [ sample ] X = self . X [ sample , : ] Y = data [ self . max_lag : ] parm = np . array ( [ self . latent_variables . z_list [ k ] . prior . transform ( beta [ k ] ) for k in range ( beta . shape [ 0 ] ) ] ) model_scale , model_shape , model_skewness = self . _get_scale_and_shape ( parm ) theta = np . matmul ( X [ self . integ + self . max_lag : ] , parm [ self . sc + self . ar : ( self . sc + self . ar + len ( self . X_names ) ) ] ) theta , self . model_scores = gasx_recursion ( parm , theta , self . model_scores , Y , self . ar , self . sc , Y . shape [ 0 ] , self . family . score_function , self . link , model_scale , model_shape , model_skewness , self . max_lag ) return np . array ( theta ) , Y , self . model_scores
Creates the structure of the model

        Parameters
        ----------
        beta : np.array
            Contains untransformed starting values for latent variables

        mini_batch : int
            Size of each mini batch of data

        Returns
        ----------
        theta : np.array
            Contains the predicted values for the time series

        Y : np.array
            Contains the length-adjusted time series (accounting for lags)

        scores : np.array
            Contains the scores for the time series