
    M/Ph\                         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dS )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dS )CheckStataResultsMixinc                    | j         | j        }}t          |j        |j        d           t          |j        |j        d           t          |j        |j        dd           t          |j        |j        dd           d S )N   r   gMbp?atolrtolgHz>)resresultsr   paramsbser   tvaluespvalues)selfr   r   s      m/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/regression/tests/test_glsar_stata.pytest_params_tablez(CheckStataResultsMixin.test_params_table   sw    xWCJ:::CGW[!444W_15IIIIW_4eLLLLLL    N)__name__
__module____qualname__r    r   r   r
   r
      s(        M M M M Mr   r
   c                       e Zd Zd ZdS )CheckStataResultsPMixinc                     | j         | j        }}t          |j        |j        d           |                    |j        j                  }t          ||j        d           d S )NgMb`?r   g-C6Z?)r   r   r   fittedvaluespredictmodelexog)r   r   r   	predicteds       r   test_predictedz&CheckStataResultsPMixin.test_predicted   s]    xW('*>UKKKKKK	//		7#7fEEEEEEr   N)r   r   r   r'   r   r   r   r   r      s(        F F F F Fr   r   c                   6    e Zd Zed             Zd Zd Zd ZdS )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          }|
                    d	          | _        dd
lm} || _        d S )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    "$$)BGBF2i=#788999BGBF2i=#788999RU5"Y-*<*C#CDeTTTUE1%%$$Q''888888r   c                     t          | j        j        j        | j        j        d           t          | j        j        | j        j        d           d S )Nr      )r   r   r$   rhor   llfll)r   s    r   test_rhozTestGLSARCorc.test_rho5   s@    DHN.0@!DDDDHL$,/1=====r   c                 P   ddl m} | j        j        j        }| j        j        j        }t          ||d          }|                    d          } ||d|d d d df                   }|                                }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
                   |                    dd          }t          t          |j        d                   d           t          t          |j        d                   d           d S )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55555$x~"UD!$$  $$5gDCRCLAAA<<>>
HOGGG$<4dSSSS	xqs';$TRRRRggg!6StLLLLSX.//333S[*2.
;;;!!!!!,,Sh/00!444Se,--q11111r   c                    | j         j        j        }| j         j        j        }t	          j        g d          }t          |||          }|                                }|                    d          }|                    d          }t          |j
        |j
        d           t          |j
        |j
        d           t          |j        j        |d           t          |j        j        |d           d S )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    $x~"h///00UD#&&xxzz!!!$$""1%%T[u====dk>>>>
%88885999999r   N)r   r   r   classmethodrA   rG   rV   r\   r   r   r   r)   r)   &   sZ        
 
 [
> > >
2 2 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      s	        L L L L L L L L L L 5 5 5 5 5 5 0 0 0 0 0 0 * * * * * *M M M M M M M MF F F F F4 F F F6: 6: 6: 6: 6:+ 6: 6: 6: 6: 6:r   