
    !ge                     J    d Z 	 ddlZddlmZ  G d de      Zy# e$ r Y w xY w)zBase Classes for Likelihood Models in time series analysis

Warning: imports numdifftools



Created on Sun Oct 10 15:00:47 2010

Author: josef-pktd
License: BSD

    N)LikelihoodModelc                   H     e Zd ZdZd fd	Zd Zd Zd Zd Zd	 fd	Z	 xZ
S )

TSMLEModelzp
    univariate time series model for estimation with maximum likelihood

    Note: This is not working yet
    c                 B    t         |   ||       d| _        d| _        y )N   )super__init__narnma)selfendogexog	__class__s      U/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/tsa/mlemodel.pyr	   zTSMLEModel.__init__!   s     %    c                     t         NNotImplementedErrorr   paramss     r   	geterrorszTSMLEModel.geterrors)   s    !!r   c                     t         )z
        Loglikelihood for timeseries model

        Parameters
        ----------
        params : array_like
            The model parameters

        Notes
        -----
        needs to be overwritten by subclass
        r   r   s     r   loglikezTSMLEModel.loglike,   s
     "!r   c                 Z    t        j                  | j                  d      } ||      d   S )z-
        Score vector for Arma model
        -C6?stepMax)ndtJacobianr   )r   r   jacs      r   scorezTSMLEModel.score;   s&     ll4<<66{2r   c                 Z    t        j                  | j                  d      } ||      d   S )zE
        Hessian of arma model.  Currently uses numdifftools
        r   r   r   )r    r!   r#   )r   r   Hfuns      r   hessianzTSMLEModel.hessianD   s'    
 ||DJJ5F|Br   c                 b    |t        | d      r| j                  }t        |   ||||      }|S )zhestimate model by minimizing negative loglikelihood

        does this need to be overwritten ?
        _start_params)start_paramsmaxitermethodtol)hasattrr(   r   fit)r   r)   r*   r+   r,   mlefitr   s         r   r.   zTSMLEModel.fitL   s@    
 GD/$B--L,C  9r   r   )Ni  fming:0yE>)__name__
__module____qualname____doc__r	   r   r   r#   r&   r.   __classcell__)r   s   @r   r   r      s+    "" 
 
r   r   )r4   numdifftoolsr    ImportErrorstatsmodels.base.modelr   r    r   r   <module>r:      s7   	 3< <  		s    ""