U
    Kvf\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re 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   Q/tmp/pip-unpacked-wheel-2v6byqio/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dd4d5g}ddd)d5g}dddd5g}#ddd)d5g}$ddd)d5g}%d'd(d)d*d+g}d,d-d.d/d+g}d0d1d.d/d+g}d}d}d}ddg}d! }&t"j#$t"j#%t&}'t"j#'|'d}(tj(|(dFd.d<dd id})t)|)d d r\tj(|(dFd)d<dd id})|&|)j*_+| t,j- d4dd}*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 ||dd? tj dFdG}t ||dd? t2 j3 jj4},t|,d< |d< d=d? t|,d. |d. dd? 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dddD }/t7|}0t|)d  j3dFd? t|)d |0j8d< dFd? t|)d |0j9dFd? t|)d |0j:d4d? d S )N  realinvrealgdprealintg/ͮ)rhor   )maxitergu#g0б?gNbX94#g&Dv(P<g"uq&g:g9#J{@ge3?g      5@gAV<5g @gÙ@g4c=g'8'?g}?5^Ig|a2U?g	mg )Mean dependent vargj@)S.D. dependent varg"2@)Sum squared residg @)S.E. of regressiong1U%@)	R-squaredgGé?)Adjusted R-squaredgF?)z	F(2, 198)gQk@)
P-value(F)g"Ou5)r   ge9	/l)Durbin-Watsong2m?)

endog_mean	endog_stdssrmse_resid_sqrtrsquaredrsquared_adjr   f_pvalue
resid_acf1dwg}HF@g_xZy?r      r   gV@g.s,&6?r      g9@gZd;O?g^o%;@g[vؾ?r   Zchi2gx&1?gt$κ@g   CAgHCM?gyG4@gi?r      r+   r   r,   r   r/   g{Gz?)Zrtol)nlagsr   )Zdegree)r   r   gBs"g-R\?g\( gq^Ҍ.4=gs'gW}WgW	3@ge
?g*@gk1 :g.9@g,&6@gZ	ݥgX?g|?5^ gݓZ?gJ+gvp꡿)r!   g:;%
@)r"   g482@)r#   gRC@)r$   g=yXh%@)r%   gOCͩ?)r&   gߤiP4?)z	F(2, 199)g0r.V@)r'   gC3:)zLog-likelihoodgyX5߇)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@gL7A`?g"Ƥ?gq{?tgԚ(@g?   ZmaxFg7[ a*@g& aq?g|Sz@gjIG9?gʡE7@gh㈵>gy@@gTqs*>gAΡ?gJ?gT?g ~:p?g
ףp`@g   /AgVQ?gjt?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   Z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_chowrd   Zhet_breusch_paganZhet_breusch_pagan_konkerrb   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__ri   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   rS   r   absrV   r+   rW   ZfittedvaluesZmeanr   lenr   )	r
   Zd2Zg_gdpZg_invrg   Zmod1Zres1Zmod4Zres4r   r   r   test_GLSARlag  s     
$

rr   __main__)r   ) __doc__r[   ZnumpyrN   Znumpy.testingr   r   r   r   Z#statsmodels.regression.linear_modelr   r   Zstatsmodels.tools.toolsr   ro   r
   Z%statsmodels.stats.sandwich_covariancestatsZsandwich_covariancerc   Zstatsmodels.stats.diagnosticZ
diagnosticrY   Z$statsmodels.stats.outliers_influenceZoutliers_influencerC   r   r   rr   rj   r9   ri   r   r   r   r   <module>   s$   	
  |