Creates approximating Gaussian state space model for Poisson measurement density
        
        Parameters
        ----------
        beta : np.array
            Contains untransformed starting values for latent variables
        
        T, Z, R, Q : np.array
            State space matrices used in KFS algorithm
        
        h_approx : float
            The variance of the measurement density
        
        data: np.array
            The univariate time series data

        Returns
        ----------
        H : np.array
            Approximating measurement variance matrix
        
        mu : np.array
            Approximating measurement constants

def approximating_model(self, beta, T, Z, R, Q, h_approx, data):
        """ Creates approximating Gaussian state space model for Poisson measurement density
        
        Parameters
        ----------
        beta : np.array
            Contains untransformed starting values for latent variables
        
        T, Z, R, Q : np.array
            State space matrices used in KFS algorithm
        
        h_approx : float
            The variance of the measurement density
        
        data: np.array
            The univariate time series data

        Returns
        ----------
        H : np.array
            Approximating measurement variance matrix
        
        mu : np.array
            Approximating measurement constants
        """     

        H = np.ones(data.shape[0])
        mu = np.zeros(data.shape[0])

        alpha = np.array([np.zeros(data.shape[0])])
        tol = 100.0
        it = 0
        while tol > 10**-7 and it < 5:
            old_alpha = alpha[0]
            alpha, V = nl_univariate_KFS(data,Z,H,T,Q,R,mu)
            H = np.exp(-alpha[0])
            mu = data - alpha[0] - np.exp(-alpha[0])*(data - np.exp(alpha[0]))
            tol = np.mean(np.abs(alpha[0]-old_alpha))
            it += 1

        return H, mu