
    'YHhDe                         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c mZ ddlmc mZ ddlmc mZ ddZ G d d	      Zd
 Zedk(  r e       Zej?                          y)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	macrodatac                     t        | j                  |d   |d          t        | j                  |d   |d          t        | j                  |d          t        | j
                  |d          t        d|d          y )Nr   decimal         f   )r   fvaluepvaluer   df_numdf_denom)contrast_resotherr   s      f/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/regression/tests/test_glsar_gretl.pycompare_ftestr      sl    ++U1XwqzJ++U1XwqzJ$$eAh/&&a1eAh    c                       e Zd Zd Zy)TestGLSARGretlc                    t        j                         j                  }dt        j                  t        j
                  |d   j                              z  }dt        j                  t        j
                  |d   j                              z  }t        j                  |d         }t        t        j                  t        j                  |d   j                        |d   d d j                  f         }|}t        t        j                  ||d   d d j                  f         }t        ||      j                         }t        ||d      }	|	j                         }
t        ||d      }|j                  d	      }d}t        j                  g d
g dg dg      }t        dddddddddd
      }g d}g d}g d}g d}ddg}d}d}d}g d }|
}t        |j                   |d d d!f   d"       t        |j"                  |d d d#f   d$       t        |j$                  |d d d%f   d%       t        |j&                  |d&   d#   d%'       t        t        j(                  |j*                        |d(   d#   d'       t        |j,                  |d)   d#   d"'       t/        |j0                  |d*   d#   d+,       t3        j4                  |j6                  d"-      }t        |d!   |d!   d"'       t        |d#   |d#   d$'       |}t        |j8                  j:                  |d.'       t        |j                   |d d d!f   d"       t        |j"                  |d d d#f   d.       t        |j$                  |d d d%f   d%       t        |j&                  |d&   d#   d%'       t        t        j(                  |j*                        |d(   d#   d'       t        |j,                  |d)   d#   d!'       t        |j0                  |d*   d#   d$'       t=        j>                  |d%/      }tA        ||d0'       t=        j>                  |d./      }tA        ||d0'       t3        j4                  |j6                  d"-      }t        |d!   |d!   d#'       t        |d#   |d#   d%'       	 	 	 	 	 	 t        j                  g d1g d2g d3g      }t        d4d5d6d7d8d9d:d;d<d=d>d?d@dAB      }g dC}g dD}g dE}g dF}g dG} g dH}!g dI}"g dJ}#g dK}g dL}g dM}$g dN}%g dO}&g d}g d}g d}dP}dQ}dR}dSdSg}dTjC                         }'tD        jF                  jI                  tD        jF                  jK                  tL                    }(tD        jF                  jO                  |(dU      })t        jP                  |)d.d#d!dV iW      }*t        jR                  |*d   dX         rt        jP                  |)d.d%d!dY iW      }*|'|*jT                  _+        |}tY        jZ                  |d"dZ[      }+tY        j\                  |+      },t        |j                   |d d d!f   d       t        |,|d d d#f   d       t        |j&                  |d&   d#   d%'       t        |j^                  |d\   d#   d"'       t        |j`                  |d]   d#   d$'       t        |jb                  |d^   d#   d$'       t        t        j(                  |j*                        |d(   d#   d'       t=        j>                  |d%/      }tA        ||d_'       t=        j>                  |d./      }tA        ||d_'       t3        jd                  |jf                  |j8                  jh                        }-t        |-d!   |d!   d$'       t        |-d#   |d#   d`'       t3        jj                  |jf                  |j8                  jh                        }.t        |.d!   |&d!   d$'       t        |.d#   |&d#   d$'       t3        jl                  |jf                  |j8                  jh                        }/t        |/d d% |$d d% d$       t3        j4                  |jf                  d"-      }t        |d!   |d!   d'       t        |d#   |d#   d$'       daD 0cg c],  }0t=        jn                  |j8                  jh                  |0      . }1}0t=        jp                  |      }2t        |*db   |jf                  d.'       t        |*dc   |2jr                  d!   d.'       t        |*dd   |2jt                  d.'       t        |*de   |2jv                  d"'       y c c}0w )fN  realinvrealgdprealintg/ͮ)rho   )maxiter)gu#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dw)g}HF@g_xZy?r      r   )gV@g.s,&6?r      r   )g9@gZd;O?r   r:   r   )g^o%;@g[vؾ?r   chi2gx&1?gt$κ@g   CAgHCM?)gyG4@gi?r   r   r   r      r   r2   r   r3   r   r6   g{Gz?)rtol)nlagsr   )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ߵ@)r0   r1   r2   r3   r4   r5   r   r6   llfaicbichqicr7   r8   )g҇.?g<G仔?r   r;   )gN]@g](ɗ?r   r;   )g:T?g%}?r      F)g)=K@g+?r   r;   )gn@gL7A`?r   r;   )g"Ƥ?gq{?r:   t)gԚ(@g?r      maxF)g7[ a*@g& aq?r   r;   )g|Sz@gjIG9?r   r;   )gʡE7@gh㈵>r   r;   )gy@@gTqs*>r&   r;   )gAΡ?gJ?r   r;   )gT?g ~:p?r   r;   g
ףp`@g   /AgVQ?gjt?z=date   residual        leverage       influence        DFFITSz*results/leverage_influence_ols_nostars.txtc                     | S N ss    r   <lambda>z)TestGLSARGretl.test_all.<locals>.<lambda>Z  s    A r   )skip_headerskip_footer
convertersf1c                     | S rJ   rK   rL   s    r   rN   z)TestGLSARGretl.test_all.<locals>.<lambda>^  s     r   F)r>   use_correctionr@   r4   r5   )r<   r&      )r   r   residualDFFITSleverage	influence)<r   load_pandasdatanpdifflogvaluesr	   c_r   fitr   iterative_fitarraydictr   paramsbsetvaluesr2   sqrt	mse_residr   r   r6   smsdiahet_archwresidmodelr%   oireset_ramseyr   splitospathabspathdirname__file__join
genfromtxtisnandtypenamesswcov_hac_simplese_covr@   r4   r5   	linear_lmresidexoghet_breuschpagan	het_whitevariance_inflation_factorOLSInfluencedffitshat_matrix_diagrY   )3selfdgs_l_realinvgs_l_realgdpendogdexogdendoggexoggres_olsmod_g1res_g1mod_g2res_g2r%   partableresult_gretl_g1	reset_2_3reset_2reset_3arch_4vif
cond_1normdeterminantreciprocal_condition_number	normalityressm_archclinear_logslinear_squares	lm_acorr4
lm2_acorr4acorr_ljungbox4cusum_Harvey_Collier	break_qlr
break_chowr   het_breusch_paganhet_breusch_pagan_konkerrz   cur_dirfpathlevcov_hacbse_hac	linear_sqhbpkhwkvif2infls3                                                      r   test_allzTestGLSARGretl.test_all#   s^   !!#((
 RWWRVVAiL,?,?%@AARWWRVVAiL,?,?%@AA 9&RUU2771Y<+>+>#?9crARAYAY#YZ[RUU<9cr1B1I1I#IJKfe$((* vu)4 vu)4%%a%0  88TSSU V 760;59357/
1 5	20/ en
$&1# /	  	CJJ1q9CGGXac]A6CKK!A#:CGG_U%;A%>J 	BGGCMM2ODT4UVW4XbcdCJJ(A!(DaP'
3A6!	# //#**A6GAJq	1=GAJq	1=  	CIIMM3: 	CJJ1q9CGGXac]A6CKK!A#:CGG_U%;A%>J 	BGGCMM2ODT4UVW4XbcdCJJ(A!(DaPCLL/**Ea*HRST
 OOC*a%0OOC*aE2 //#**A6GAJq	1=GAJq	1=	4		 	$	$	> 88NKMO P
 !C B<%GA#E?A<<<=!C;=  5 9 5	1
5 !?2	5
/0	4	;#B  5	20
$&1#enOUUW''//"''//(";<W&RSmmEqa()+8 88CGDM"--1!,-k?<C  		##CqG99W%CJJ1q9GXac]A6 	CGG_U%;A%>JCGG_U%;A%>JCLL/**Ea*HRSTC,,on.Ma.PZ[\BGGCMM2ODT4UVW4Xbcd OOC*a%0OOC*aE2$$SYY		?	IaL.*;QGIaL.*;QG&&syy#))..ADG%=a%@!LDG%=a%@!Lcii8BrFIbqM15 //#))15GAJq	1=GAJq	1=INOA,,SYY^^Q?OOw' 	C
OSYYBCM4;;q>1EC
OT-A-A1MC,dnnaH Ps   1eN)__name__
__module____qualname__r   rK   r   r   r   r   !   s	    vIr   r   c                     ddl m}   | 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      }t        ||d      }|j                  d      }t        t	        j                  |j                  |j                  z  d
z
        d       t        |j                  |j                         t        t	        j                  |j                   |j                   z        d
z
  d       t        t	        j                  |j"                  |j"                  z  d
z
  j%                               d       t'        t)        |j*                        d       y )Nr   r
   r    r"   r!   r#   r$   F)prependr   r&   r   
   gQ?gQ?)statsmodels.datasetsr   rZ   r[   r\   r]   r^   r_   r	   r`   r   rb   r   absre   r2   rf   fittedvaluesmeanr   lenr%   )	r   d2g_gdpg_invr   mod1res1mod4res4s	            r   test_GLSARlagr     ss    /				 	%	%Br)}33455Er)}33455EubmCR&8&?&??@%PEq!Da Dq!Db!DbffT[[4;;6:;TBdhh)bffTXX01A5u=bffd//$2C2CCaGMMOPTXX"r   __main__))r&   r   ) __doc__rq   numpyr\   numpy.testingr   r   r   r   #statsmodels.regression.linear_modelr   r   statsmodels.tools.toolsr	   r   r   %statsmodels.stats.sandwich_covariancestatssandwich_covariancer{   statsmodels.stats.diagnostic
diagnosticrj   $statsmodels.stats.outliers_influenceoutliers_influencern   r   r   r   r   rF   r   rK   r   r   <module>r      ss    
 ? ? ; 0 * 2 2 - - 1 1 xI xIt#2 zAJJLLr   