
    'YHh\                         d Z ddlZddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ  G d d      Z G d	 d
e      Z G d de      Zy)zYTesting GLSAR against STATA

Created on Wed May 30 09:25:24 2012

Author: Josef Perktold
    N)assert_almost_equalassert_allcloseassert_equal)GLSAR)add_constant)	macrodatac                       e Zd Zd Zy)CheckStataResultsMixinc                 D   | j                   | j                  }}t        |j                  |j                  d       t        |j                  |j                  d       t        |j                  |j                  dd       t        |j                  |j                  dd       y )N   r   gMbp?atolrtolgHz>)resresultsr   paramsbser   tvaluespvalues)selfr   r   s      f/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/regression/tests/test_glsar_stata.pytest_params_tablez(CheckStataResultsMixin.test_params_table   sg    xxWCJJ:CGGW[[!4W__15IW__4eL    N)__name__
__module____qualname__r    r   r   r
   r
      s    Mr   r
   c                       e Zd Zd Zy)CheckStataResultsPMixinc                     | j                   | j                  }}t        |j                  |j                  d       |j	                  |j
                  j                        }t        ||j                  d       y )NgMb`?r   g-C6Z?)r   r   r   fittedvaluespredictmodelexog)r   r   r   	predicteds       r   test_predictedz&CheckStataResultsPMixin.test_predicted   sS    xxW(('*>*>UKKK		/		7#7#7fEr   N)r   r   r   r'   r   r   r   r   r      s    Fr   r   c                   .    e Zd Zed        Zd Zd Zd Zy)TestGLSARCorcc                    t        j                         j                  }dt        j                  t        j
                  |d   j                              z  }dt        j                  t        j
                  |d   j                              z  }t        t        j                  ||d   d d j                  f   d      }t        ||d      }|j                  d	      | _        dd
lm} || _        y )Ni  realgdprealinvrealintF)prepend      )r   )r   load_pandasdatanpdifflogvaluesr   c_r   iterative_fitr   results.macro_gr_corc_statar   )clsd2g_gdpg_invexoggmod1r   s          r   setup_classzTestGLSARCorc.setup_class(   s    ""$))BGGBFF2i=#7#7899BGGBFF2i=#7#7899RUU5"Y-*<*C*C#CDeTUE1%$$Q'8r   c                     t        | j                  j                  j                  | j                  j                  d       t        | j                  j
                  | j                  j                  d       y )Nr      )r   r   r$   rhor   llfll)r   s    r   test_rhozTestGLSARCorc.test_rho5   sB    DHHNN..0@0@!DDHHLL$,,//1=r   c                 R   ddl m} | j                  j                  j                  }| j                  j                  j
                  }t        ||d      }|j                  d      } ||d|d d d df         }|j                         }t        |j                  |j                  g d   d	d	
       t        |j                  j                  |j                  dd dd
       t        |j                  |j                  g d   dd
       t        t        |j                  d         d       t        |j                  d   d   |j                         |j                  dd      }t        t        |j                  d         d       t        t        |j                  d         d       y )Nr   )ARIMAr   
   )r   r   r   r.   )orderr%   )r0      r   g{Gz?r      g?gMbP?g?r   r1   rC   r!   rD   )statsmodels.tsa.arima.modelrI   r   r$   endogr%   r   r9   fitr   r   rD   r   r   lenhistory)	r   rI   rO   r%   r@   r   mod_armares_armares2s	            r   test_glsar_arimazTestGLSARCorc.test_glsar_arima:   s>   5$$xx~~""UD!$  $gDCRCLA<<>

HOOG$<4dS		xq';$TRg!6StLSX./3S[[*2.

;!!!!!,Sh/0!4Se,-q1r   c                 @   | j                   j                  j                  }| j                   j                  j                  }t	        j
                  g d      }t        |||      }|j                         }|j                  d      }|j                  d      }t        |j                  |j                  d       t        |j                  |j                  d       t        |j                  j                  |d       t        |j                  j                  |d       y )N)g"~?g?gI+?r   r0   gdy=r!   )r   r$   rO   r%   r4   arrayr   rP   r9   r   r   rD   )r   rO   r%   rD   r@   res1res0res0bs           r   test_glsar_iter0zTestGLSARCorc.test_glsar_iter0O   s    $$xx~~""hh/0UD#&xxz!!!$""1%T[[u=dkk>

%859r   N)r   r   r   classmethodrA   rG   rV   r\   r   r   r   r)   r)   &   s#    
 
>
2*:r   r)   )__doc__numpyr4   numpy.testingr   r   r   #statsmodels.regression.linear_modelr   statsmodels.tools.toolsr   statsmodels.datasetsr   r
   r   r)   r   r   r   <module>rd      sF     L L 5 0 *M MF4 F6:+ 6:r   