U
    Ãmœd\e  ã                   @   sÄ   d Z ddlZddlZddlmZmZmZmZ ddl	m
Z
mZ ddlmZ ddlmZ ddlm  mZ ddlm  mZ ddlm  mZ ddd	„ZG d
d„ dƒZdd„ ZedkrÀeƒ Ze ¡  dS )zzTests of GLSAR and diagnostics against Gretl

Created on Thu Feb 02 21:15:47 2012

Author: Josef Perktold
License: BSD-3

é    N)Úassert_almost_equalÚassert_equalÚassert_allcloseÚassert_array_less)ÚOLSÚGLSAR)Úadd_constant©Ú	macrodata©é   é   c                 C   sb   t | j|d |d d� t | j|d |d d� t| j|d ƒ t| j|d ƒ td|d ƒ d S )Nr   ©Údecimalé   é   é   Úfr   )r   ÚfvalueZpvaluer   Zdf_numZdf_denom)Zcontrast_resÚotherr   © r   úf/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/regression/tests/test_glsar_gretl.pyÚcompare_ftest   s
    r   c                   @   s   e Zd Zdd„ ZdS )ÚTestGLSARGretlc           1         sÄ  t  ¡ j}dt t |d j¡¡ }dt t |d j¡¡ }t |d ¡}ttjt |d j¡|d d d… jf ƒ}|}ttj||d d d… jf ƒ}t	||ƒ 
¡ }t||dd�}	|	 
¡ }
t||dd�}|jdd	�}d}t d
dddddgddddddgddddddgg¡}tddddd d!d"d#d$d%d&�
}d'd(d)d*d+g}d,d-d.d/d+g}d0d1d.d/d+g}d2d3d4d5g}d6d6g}d7}d8}d9}d:d;d)g}|
‰ tˆ j|d d …d<f d4ƒ tˆ j|d d …d.f d=ƒ tˆ j|d d …d)f d)ƒ tˆ j|d> d. d)d?� tt ˆ j¡|d@ d. dd?� tˆ j|dA d. d4d?� tˆ j|dB d. dCdD� tjˆ jd4dE�}t|d< |d< d4d?� t|d. |d. d=d?� |‰ tˆ jj|dFd?� tˆ j|d d …d<f d4ƒ tˆ j|d d …d.f dFƒ tˆ j|d d …d)f d)ƒ tˆ j|d> d. d)d?� tt ˆ j¡|d@ d. dd?� tˆ j|dA d. d<d?� tˆ j|dB d. d=d?� tjˆ d)dG�}t ||dHd?� tjˆ dFdG�}t ||dHd?� tjˆ jd4dE�}t|d< |d< d.d?� t|d. |d. d)d?� t dIdJdKdLdMdNgdOdPdQdRdSdTgdUdVdWdXdYdZgg¡}td[d\d]d^d_d`dadbdcdddedfdgdhdi�}djdkd)d5g}dldmd)d5g}dndod4dpdqg}drdsd4d5g}dtdud4d5g}dvdwd/dxg} dydzdFd{d|g}!d}d~dFd5g}"dd€d4d5g}d�d‚d)d5g}dƒd„dd5g}#d…d†d)d5g}$d‡dˆd)d5g}%d'd(d)d*d+g}d,d-d.d/d+g}d0d1d.d/d+g}d‰}dŠ}d‹}dŒdŒg}d� !¡ }&t"j# $t"j# %t&¡¡}'t"j# '|'dŽ¡}(tj(|(dFd.d<d�d�„ id‘�})t )|)d d’ ¡�r\tj(|(dFd)d<d“d�„ id‘�})|&|)j*_+|‰ t,j-ˆ d4d”d•�}*t, .|*¡}+tˆ j|d d …d<f dƒ t|+|d d …d.f dƒ tˆ j|d> d. d)d?� tˆ j/|d– d. d4d?� tˆ j0|d— d. d=d?� tˆ j1|d˜ d. d=d?� tt ˆ j¡|d@ d. dd?� tjˆ d)dG�}t ||d™d?� tjˆ dFdG�}t ||d™d?� t 2ˆ j3ˆ jj4¡},t|,d< |d< d=d?� t|,d. |d. dšd?� t 5ˆ j3ˆ jj4¡}-t|-d< |%d< d=d?� t|-d. |%d. d=d?� t 6ˆ j3ˆ jj4¡}.t|.d d)… |#d d)… d=ƒ tjˆ j3d4dE�}t|d< |d< dd?� t|d. |d. d=d?� ‡ fd›dœ„d�D ƒ}/t 7|¡}0t|)dž ˆ j3dFd?� t|)dŸ |0j8d< dFd?� t|)d  |0j9dFd?� t|)d¡ |0j:d4d?� d S )¢Né�  ÚrealinvÚrealgdpÚrealintéÿÿÿÿg/…Í®»¿)Úrhor   )Úmaxiterg÷uàœ#Àg0ÈÐ±ï?gNbX94#Àg&DvÏ(ÕP<g"Žuqí&Àg™»–�:ÀgìÀ9#J{@gˆe3‡¤Ê?g      5@gAÇ÷ÎV<5g ˜£Çï­@g«‹Ã™@g4„c–=‰â¿g�'‚8'Ñ?g}?5^ºIÀgÚ|a2U ?g¶Ö	m¹ñ¿gå �¯âù©¿)úMean dependent varg­jé@)úS.D. dependent varg"àª¬2@)úSum squared residgš™™™¹ Ö@)úS.E. of regressiong¡ø1æ®U%@)ú	R-squaredgÞÌèGÃ©å?)úAdjusted R-squaredgŸF�å?)z	F(2, 198)gìQ¸…¡k@)ú
P-value(F)gùýØ"¯Ou5)r   ge9	¥/„l¿)úDurbin-Watsong2ãm¥×æÿ?)
Ú
endog_meanÚ	endog_stdÚssrÚmse_resid_sqrtÚrsquaredÚrsquared_adjr   Úf_pvalueÚ
resid_acf1Údwg}ÏH„Fà@g_ïþx¯Zy?r   éÅ   r   gVó‘ï@g.sº,&6?r   éÆ   gÚ9Ííþ@gZd;ßO�—?g^üo%;@g§[vˆØ¾?r   Zchi2gÕxé&1ð?gt$—ÿÎº@g   C¯ÎAgû–HˆCMŒ?gµ¦yG4@g¯šši³?r   é   r+   r   r,   r   r/   g{®Gáz„?)Zrtol)Únlagsr   )Zdegree)r   r   g»íBs�ö"Àg¡-çR\Õò?g\�Âõ( Àgq^ÒŒ‡.4=g³êsµ›'ÀgW•}W¤ÀgW	‡3@g�e¡Ø
Õ?gš™™™™™*@gó êk1› :g.9î”Î@gº,&6@g•òZ	Ý¥ã¿g‡ýžX§ÊÒ?gî|?5^º Àg˜Ý“‡…Z£?gJ+‡ó¿gvp¸ê¡¿)r!   g:;%
@)r"   g¡Ö4ï8½2@)r#   gR¸…ëCÖ@)r$   gÙ=yXh%@)r%   gO‘CÄÍ©å?)r&   gß¤iP4�å?)z	F(2, 199)g0Úr.³V@)r'   gCþ�§3:)zLog-likelihoodgyX¨5Íß‡À)zAkaike criteriongÍÌÌÌÌ÷—@)zSchwarz criteriong    €˜@)zHannan-Quinng¾Ÿ/Ý˜@)r   g‡…$³z»¿)r(   g.ÅUeßµ@)r)   r*   r+   r,   r-   r.   r   r/   ÚllfZaicZbicZhqicr0   r1   gÈÒ‡.¨ïú?gÕ<Gä»”Û?g°�N]@g†à]Ó(É—?gç:�´TÞò?g%±¤Ü}ŽÔ?éÃ   ÚFg)=ÓKŒ@g+‡ÙÎ÷Ó?gnÀç‡ñ@gL7‰A`åÐ?gÄ"†Æ¤ß?gq‘{ººãã?ÚtgÔšæ§(@gš™™™™™¹?éÄ   ZmaxFg7À[ a*@g¼& ýaq?g|¸ä¸Sz@g­jIG9ß?gƒÀÊ¡Eö7@gñhãˆµøä>gŸÉþyÀ@@gTäqs*É>gAòÎ¡Õô?gª·¶J°à?gø§T‰²·æ?g ‘~û:pæ?g
×£p`·@g   ‹/ÅAgVîûóQŒ?gj¼t“ð?z=date   residual        leverage       influence        DFFITSz*results/leverage_influence_ols_nostars.txtc                 S   s   | S ©Nr   ©Úsr   r   r   Ú<lambda>[  ó    z)TestGLSARGretl.test_all.<locals>.<lambda>)Zskip_headerZskip_footerÚ
convertersÚf1c                 S   s   | S r;   r   r<   r   r   r   r>   _  r?   F)r5   Zuse_correctionr6   r-   r.   )r4   r   é   c                    s   g | ]}t  ˆ jj|¡‘qS r   )ÚoiZvariance_inflation_factorÚmodelÚexog)Ú.0Úk©Úresr   r   Ú
<listcomp>�  s     z+TestGLSARGretl.test_all.<locals>.<listcomp>)r   r   ZresidualZDFFITSZleverageÚ	influence);r
   Úload_pandasÚdataÚnpÚdiffÚlogÚvaluesr   Úc_r   Úfitr   Úiterative_fitÚarrayÚdictr   ÚparamsÚbseZtvaluesr+   ÚsqrtZ	mse_residr   r   r/   ÚsmsdiaZhet_archZwresidrD   r   rC   Zreset_ramseyr   ÚsplitÚosÚpathÚabspathÚdirnameÚ__file__ÚjoinZ
genfromtxtÚisnanZdtypeÚnamesÚswZcov_hac_simpleZse_covr6   r-   r.   Z	linear_lmZresidrE   Zhet_breuschpaganÚ	het_whiteZOLSInfluenceZdffitsZhat_matrix_diagrK   )1ÚselfÚdZgs_l_realinvZgs_l_realgdpZendogdZexogdZendoggÚexoggZres_olsZmod_g1Zres_g1Zmod_g2Zres_g2r   ZpartableZresult_gretl_g1Z	reset_2_3Zreset_2Zreset_3Zarch_4ZvifZ
cond_1normZdeterminantZreciprocal_condition_numberZ	normalityZsm_archÚcZlinear_logsZlinear_squaresZ	lm_acorr4Z
lm2_acorr4Zacorr_ljungbox4Zcusum_Harvey_CollierZ	break_qlrZ
break_chowre   Zhet_breusch_paganZhet_breusch_pagan_konkerrc   Zcur_dirZfpathZlevZcov_hacZbse_hacZ	linear_sqZhbpkZhwZvif2Zinflr   rH   r   Útest_all$   s0   
, ýö

þýò

ÿ

ÿ
	
zTestGLSARGretl.test_allN)Ú__name__Ú
__module__Ú__qualname__rj   r   r   r   r   r   "   s   r   c            	      C   s  ddl m}  |  ¡ j}dt t |d j¡¡ }dt t |d j¡¡ }ttj	||d d d… jf dd	�}t
||d
ƒ}| d¡}t
||dƒ}| d¡}tt |j|j d
 ¡dƒ t|j|jƒ tt |j|j ¡d
 dƒ tt |j|j d
  ¡ ¡dƒ tt|jƒdƒ d S )Nr   r	   r   r   r   r   r   F)Úprependr   r   r   é
   g¸…ëQ¸ž?g¸…ëQ¸Ž?)Ústatsmodels.datasetsr
   rL   rM   rN   rO   rP   rQ   r   rR   r   rT   r   ÚabsrW   r+   rX   ZfittedvaluesZmeanr   Úlenr   )	r
   Zd2Zg_gdpZg_invrh   Zmod1Zres1Úmod4Zres4r   r   r   Útest_GLSARlagœ  s     
$

ÿrt   Ú__main__)r   ) Ú__doc__r\   ÚnumpyrN   Znumpy.testingr   r   r   r   Z#statsmodels.regression.linear_modelr   r   Zstatsmodels.tools.toolsr   rp   r
   Z%statsmodels.stats.sandwich_covarianceÚstatsZsandwich_covariancerd   Zstatsmodels.stats.diagnosticÚ
diagnosticrZ   Z$statsmodels.stats.outliers_influenceZoutliers_influencerC   r   r   rt   rk   r9   rj   r   r   r   r   Ú<module>   s$   	
  |