
    M/Ph2#                        d Z ddlZddlmZ ddlmZ  eg g dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg d g d!g d"g d#g d$g d%g d&g d'g d(g d)g d*g d+g d,g d-g d.g d/g d0g d1g d2g d3g d4g d5g d6g d7g d8g d9g d:g d;g d<g d=g d>g d?g d@g dAg dB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 dPg dQg dRg dSg dTg dUg dVg dWg dXg dYg dZg d[g d\g d]g d^g d_g d`g dag dbg dcg ddg deg dfg dgg dh          Zediz  Z G dj dk          ZddmZ	ddnZ
do Zedpk    rddqlmZ ddlZej        j        Zedrd         diz  Zediz  ZdsZ edt          Zdue_         ej        eg dvdwx          \  e_        e_        e_         ej        eg dvdwx          \  e_        e_        e_        e                    edyz            ed{          Zd|e_         ej         eg dvdwx          \  e_!        e_        e_         ej         eg dvdwx          \  e_"        e_        e_        e                    ed}z            ed~          Z#de#_         ej$        edd         edd         g dvdwx          \  e#_%        e#_        e#_         ej$        edd         edd         g dvdwx          \  e#_&        e#_        e#_        e#                    ed}z            ed          Z'de'_         ej(        ee)                                z
  dd          Z* ej        e*j+        ,                                          e'_-         ej(        ee)                                z
  dd          Z* ej        e*j+        ,                                          e'_.        e'                    ed}z           dS dS )zlgenerate py modules with test cases and results from mlabwrap

currently matlab: princomp, garchar, garchma
    N)assert_array_almost_equal)array)i]i%i)   i  i8iK)iiii)iii
i)ia  ipi    )ii1   )   i{   i)i  i  ii  )   ii  iN)iK   >i)i=iii5)i&  iii)ii`  ii=  )ii   i=i  )ipiV  iH  i-)   ii4)i  i4`   6   )i  iii}  )ir   ii  )i  R   ii  )iiVii  )ii  i  i{)i     i>i5)iS6r	   r   )is   i    )ii  i  i )   iii  )iuiYiD    )iiix  i)iii  i)i	  ii   )ii0  iiK  )ii  i+  )i1  r   D      )i  iie  )i  i  ir   )ii  ii  ia  )i(  i=  iG  i  )i+idi+i  )I   -i   i<)iiii  )i{   iW)i,i0  i  i)iiix)i  U      i)i  iF  i  iV  )i/io  ii)ir    i     )iii  i  )iiii)iigii  )i  iz  r   i.)i  i ii)i   is  )iid  i$i)ii  iZ     )iii  i)i/i  iit  )5   i-  i8  iK  )iPiGiiS  )iF  i*  ii  )i4i`ir#   )iVi   io)ii  r   iS)i3i1iY  i)i   ii\i9)ii5  i  ir  )iiEi  N   )i*iimr'   )3  i  ii  )i;  _  iv  iC  )i}iii*	  )i     iG  iz)      Z   i  )i  i   i0  )i  i%  i7  ip  )i  ii'  i[
  )r   i6  i{  iC)   i  i  i  )ii%  iiy)i&  i  i	  i9)ii  ir.   )iiii7)iieii  )i  r-   ii)i)  i r"   i)r   i	i)  i)iiTi@r   )i  iX  i&  i
  )   iH  ii  )i$  ir   i  )i     i|iH)iiR  i  i)ii+i   )iKiv  i  i  )iji  iR  i  )"   r5      i)ii     i)iii  i*)i  iI  ihih  g     @@c                        e Zd Zd Z	 	 ddZdS )HoldItc                     || _         d S )N)name)selfr?   s     l/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/sandbox/tests/maketests_mlabwrap.py__init__zHoldIt.__init__t   s    			    NTc                 J   |d | j         D             }|rdg}|r|                    d           ng }|r(|                    d| j        z             d| j        z  }nd}||                    | d| d           |D ]9}|                    | | d	t          t	          | |                                :|                    ddg           |Rt          |d
d          5 }	|	                    d                    |                     d d d            n# 1 swxY w Y   |S )Nc              3   2   K   | ]}|d          dk    |V  dS )r   _N ).0is     rA   	<genexpr>zHoldIt.save.<locals>.<genexpr>y   s*      <<!!A<<rC   z,import numpy as np
from numpy import array

z.from statsmodels.tools.testing import Holder

z%s = Holder()z%s. zcomment = ''z = za+zutf-8)encoding
)	__dict__appendr?   reprgetattrextendopenwritejoin)
r@   whatfilenameheader
useinstantcommenttxtprefixxfds
             rA   savezHoldIt.savev   s   <<<t}<<<D 	DEC O

MNNNC 	JJ2333TY&FFFJJ&77W777888 	A 	AAJJ&?!??WT!__(=(=??@@@@

Br7hw777 )23((() ) ) ) ) ) ) ) ) ) ) ) ) ) )
s   #)DDD)NNTTN)__name__
__module____qualname__rB   r`   rG   rC   rA   r=   r=   s   s=          EI     rC   r=   testsave.pyc                 B   ddl m} t          j        dd           t	          d          }| |_        |                    dd	           t	          d
          } |j        t          d          \  |_	        |_
        |_        |                    |dd           t	          d          } |j        t          d df         d          \  |_	        |_
        |_        t          j        dd           |                    |dd           t	          d          } |j        t          d df         t          d df                             d          z
  d          \  |_	        |_
        |_        t          j        dd           |                    |dd           d S )Nr   mlab   d   )	precision	linewidthdatard   zgenerated data, divide by 1000)rX   r[   	princomp1   noutFzmlab.princomp(x, nout=3)rX   rY   r[   	princomp2r4   zmlab.princomp(x[:20,], nout=3)	princomp3z.mlab.princomp(x[:20,]-x[:20,].mean(0), nout=3))mlabwraprg   npset_printoptionsr=   xor`   princompr^   coeffactorsvaluesmean)rw   filenrg   rl   res_princomps        rA   generate_princompr      s   "44446NNDDGII}.NIOOO;''L$t}QQ/// AL|+\-@uU8  : : : ;''L$t}QsstW1555 AL|+\-@"4444uU>  @ @ @ ;''L$t}QsstWQsstW\\!__%<1EEE AL|+\-@"4444uUN  P P P P PrC   c                    ddl m} t          d          }t          j        g d          |_        t          j        g d          |_         |j        |j        dd           |j        dd          d          |_         |j	        |j        dd           |j        dd          d          |_
        |                    | dd	
           d S )Nr   rf   armarep)      ?g      g?)r   g333333g{Gz?   r4   Fzw''mlab.garchma(-res_armarep.ar[1:], res_armarep.ma[1:], 20)
mlab.garchar(-res_armarep.ar[1:], res_armarep.ma[1:], 20)''rq   )rt   rg   r=   ru   r   armagarchmamarepgarchararrepr`   )r}   rg   res_armareps      rA   generate_armarepr      s    )$$KX///00KNX///00KN$knQRR&8%8+.:LbQQK$knQRR&8%8+.:LbQQKeES  U U U U UrC   c                 \   ddl m} |                    | j        | j        d          dd          }|                    | j        | j        d          dd          }t          | j                                        |d           t          | j                                         |d           d S )Nr   )tsa   )nobsr   rh   )	statsmodels.sandboxr   arma_impulse_responser   r   r   r   ravelr   )r   r   r   r   s       rA   exampletestr      s    ''''''%%knkn2%NNqrrRE%%knkn2%NNqrrREk/5577CCC{066888%DDDDDrC   __main__rf   iztestsavetls.pymlpacfzmlab.parcorr(x, [], 2, nout=3)r/   rn   ro   T)rX   rY   mlacfzmlab.autocorr(x, [], 2, nout=3)Fmlccfz,mlab.crosscorr(x[4:], x[:-4], [], 2, nout=3)   mlywarz-mlab.ar(x100-x100.mean(), 10, 'yw').a.ravel()
   ywr4   )rd   )/__doc__numpyru   numpy.testingr   r   rw   r^   r=   r   r   r   ra   rt   rg   savedrvsrvsdataxar2x100x1000r}   res_pacfr[   parcorrpacf100lags100	bounds100pacf1000lags1000
bounds1000r`   res_acfautocorracf100acf1000res_ccf	crosscorrccf100ccf1000res_ywarr   r|   mbarywar   	arcoef100
arcoef1000rG   rC   rA   <module>r      s
   
     3 3 3 3 3 3       U c%((( c%###c%###c% $##c% $##	c%
 $##c% $##c% $##c% $##c% $##c% $##c% $##c% $##c% $##c% $##c% $##c%  $##!c%" $###c%$ $##%c%& $##'c%( $##)c%* $##+c%, $##-c%. $##/c%0 $##1c%2 $##3c%4 $##5c%6 $##7c%8 $##9c%: $##;c%< $##=c%> $##?c%@ $##Ac%B $##Cc%D $##Ec%F $##Gc%H $##Ic%J $##Kc%L $##Mc%N $##Oc%P $##Qc%R $##Sc%T $##Uc%V $##Wc%X $##Yc%Z $##[c%\ $##]c%^ $##_c%` $##ac%b $##cc%d $##ec%f $##gc%h $##ic%j $##kc%l $##mc%n $##oc%p $##qc%r $##sc%t $##uc%v $##wc%x $##yc%z $##{c%| $##}c%~ $##c%@ $##Ac%B $##Cc%D $##Ec%F $##Gc%H $##Ic%J $##Kc%L $##Mc%N $##Oc%P $##Qc%R $##Sc%T $##Uc%V $##Wc%X $##Yc%Z $##[c%\ $##]c%^ $##_c%` $##ac%b $##cc%d $##ec%f $##gc%h $##ic%j $##kc%l $##mc%n $##oc%p $##qc%r $##sc%t $##uc%v $##wc%x $##yc%z $##{c%| $##}c%~ $##c%@ $##Ac%B $##Cc%D $##Ec%F $##Gc% c& c&J uH       >P P P P8U U U U"E E E zOOO			Bdee9U?DuHEEx  H7H"dl4QQ777 ;Hh&(: #dl5"aa888 >Hx((*=MM5M...vgG7GO!DM$AA666 7GNGOW%6 "DM%QQ777 :GOW%w'9LL%L... vgGDGOQRR$ss)RCCC 7GNGOW%6  abb	5":r11EEE :GOW%w'9LL%L... x  HFHTWT$))++%r400F!&(.."2"233HTWU5::<<'T22F""(68>>#3#344HMM5M/////S rC   