
    M/PhDe                         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                                 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                 *   t          | j        |d         |d                    t          | j        |d         |d                    t          | j        |d                    t          | j        |d                    t          d|d                    d S )Nr   decimal         fr   )r   fvaluepvaluer   df_numdf_denom)contrast_resotherr   s      m/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/regression/tests/test_glsar_gretl.pycompare_ftestr      s    +U1XwqzJJJJ+U1XwqzJJJJ$eAh///&a111eAh    c                       e Zd Zd ZdS )TestGLSARGretlc                   1 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          ||          
                                }t          ||d          }	|	
                                }
t          ||d          }|                    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 }|
1t          1j        |d d d!f         d"           t          1j        |d d d#f         d$           t          1j        |d d d%f         d%           t          1j        |d&         d#         d%'           t          t          j        1j                  |d(         d#         d'           t          1j        |d)         d#         d"'           t/          1j        |d*         d#         d+,           t3          j        1j        d"-          }t          |d!         |d!         d"'           t          |d#         |d#         d$'           |1t          1j        j        |d.'           t          1j        |d d d!f         d"           t          1j        |d d d#f         d.           t          1j        |d d d%f         d%           t          1j        |d&         d#         d%'           t          t          j        1j                  |d(         d#         d'           t          1j        |d)         d#         d!'           t          1j        |d*         d#         d$'           t=          j        1d%/          }tA          ||d0'           t=          j        1d./          }tA          ||d0'           t3          j        1j        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}dT!                                }&tD          j#        $                    tD          j#        %                    tL                              }'tD          j#        '                    |'dU          }(t          j(        |(d.d#d!dV iW          })t          j)        |)d         dX                   rt          j(        |(d.d%d!dY iW          })|&|)j*        _+        |1tY          j-        1d"dZ[          }*tY          j.        |*          }+t          1j        |d d d!f         d           t          |+|d d d#f         d           t          1j        |d&         d#         d%'           t          1j/        |d\         d#         d"'           t          1j0        |d]         d#         d$'           t          1j1        |d^         d#         d$'           t          t          j        1j                  |d(         d#         d'           t=          j        1d%/          }tA          ||d_'           t=          j        1d./          }tA          ||d_'           t3          j2        1j3        1j        j4                  },t          |,d!         |d!         d$'           t          |,d#         |d#         d`'           t3          j5        1j3        1j        j4                  }-t          |-d!         |%d!         d$'           t          |-d#         |%d#         d$'           t3          j6        1j3        1j        j4                  }.t          |.d d%         |#d d%         d$           t3          j        1j3        d"-          }t          |d!         |d!         d'           t          |d#         |d#         d$'           1fdadbD             }/t=          j7        |          }0t          |)dc         1j3        d.'           t          |)dd         |0j8        d!         d.'           t          |)de         |0j9        d.'           t          |)df         |0j:        d"'           d S )gN  realinvrealgdprealintg/ͮ)rhor   )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   r3   r   r4   r   r7   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)r0   g.Ueߵ@)r1   r2   r3   r4   r5   r6   r   r7   llfaicbichqicr8   r9   )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 rK   rL   rM   s    r   rO   z)TestGLSARGretl.test_all.<locals>.<lambda>^  s     r   F)r?   use_correctionrA   r5   r6   )r=   r      c                 N    g | ]!}t          j        j        j        |          "S rL   )oivariance_inflation_factormodelexog).0kress     r   
<listcomp>z+TestGLSARGretl.test_all.<locals>.<listcomp>  s*    OOOA,SY^Q??OOOr   )r   r   residualDFFITSleverage	influence);r   load_pandasdatanpdifflogvaluesr	   c_r   fitr   iterative_fitarraydictr   paramsbsetvaluesr3   sqrt	mse_residr   r   r7   smsdiahet_archwresidrZ   r'   rX   reset_ramseyr   splitospathabspathdirname__file__join
genfromtxtisnandtypenamesswcov_hac_simplese_covrA   r5   r6   	linear_lmresidr[   het_breuschpagan	het_whiteOLSInfluencedffitshat_matrix_diagrc   )2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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_konkerr   cur_dirfpathlevcov_hacbse_hac	linear_sqhbpkhwvif2inflr^   s2                                                    @r   test_allzTestGLSARGretl.test_all#   s
   !##(
 RWRVAiL,?%@%@AAARWRVAiL,?%@%@AAA 9&&RU271Y<+>#?#?9crcARAY#YZ[[RU<9crc1B1I#IJKKfe$$((** vu)444 vu)444%%a%00  8TTTSSSSSSU V V 760;59357/
1 
1 
1 544	222000/// en
$&1# /..	  	CJ1q999CGXaaac]A666CK!!!A#:::CG_U%;A%>JJJJ 	BGCM22ODT4UVW4XbcddddCJ(A!(DaPPPP'
3A6!	# 	# 	# 	# /#*A666GAJq	1====GAJq	1====  	CIM3:::: 	CJ1q999CGXaaac]A666CK!!!A#:::CG_U%;A%>JJJJ 	BGCM22ODT4UVW4XbcddddCJ(A!(DaPPPPCL/**Ea*HRSTTTT
 OC***a%0000OC***aE2222 /#*A666GAJq	1====GAJq	1====	4		 	$	$	> 8NNNKKKMMMO P P
 !C B<%GA#E?A<<<=!C;= = =  544 988 544	111
555 !? > >222	555
///000	444	;;;#B#B#B  544	222000
$&1#enOUUWW'//"'//(";";<<W&RSSmEqa()++8 8 8 8CGDM"" 	<-1!,-kk?< < <C  	#CqGGG9W%%CJ1q999GXaaac]A666 	CG_U%;A%>JJJJCG_U%;A%>JJJJCL/**Ea*HRSTTTTC,on.Ma.PZ[\\\\BGCM22ODT4UVW4Xbcdddd OC***a%0000OC***aE2222$SY	??	IaL.*;QGGGGIaL.*;QGGGG&sy#).AADG%=a%@!LLLLDG%=a%@!LLLLci88BrrFIbqbM1555 /#)1555GAJq	1====GAJq	1====OOOOOOOw'' 	C
OSYBBBBCM4;q>1EEEEC
OT-A1MMMMC,dnaHHHHHHr   N)__name__
__module____qualname__r   rL   r   r   r    r    !   s-        vI vI vI vI 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
          }|                    d          }t          ||d          }|                    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
                                            d           t'          t)          |j                  d           d S )Nr   r
   r"   r$   r#   r%   r&   F)prependr   r   r   
   gQ?gQ?)statsmodels.datasetsr   rd   re   rf   rg   rh   ri   r	   rj   r   rl   r   absro   r3   rp   fittedvaluesmeanr   lenr'   )	r   d2g_gdpg_invr   mod1res1mod4res4s	            r   test_GLSARlagr     s    /.....			 	 	%Br)}344555Er)}344555EubmCRC&8&??@%PPPEq!!Da  Dq!!Db!!DbfT[4;6:;;TBBBdh)))bfTX011A5u===bfd/$2CCaGMMOOPP  TX"""""r   __main__)r   ) __doc__ry   numpyrf   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
diagnosticrt   $statsmodels.stats.outliers_influenceoutliers_influencerX   r   r    r   r   rG   r   rL   r   r   <module>r      s    
			    ? ? ? ? ? ? ? ? ? ? ? ? ; : : : : : : : 0 0 0 0 0 0 * * * * * * 2 2 2 2 2 2 2 2 2 - - - - - - - - - 1 1 1 1 1 1 1 1 1       xI xI xI xI xI xI xI xIt# # #2 zAJJLLLL Lr   