
    'YHh2#                     `   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ddlZ	ddmZ
dn Zedok(  rdddplmZ ddlZej                   j"                  Zedqd diz  Zediz  ZdrZ eds      Zdte_         ej.                  eg dudvw      \  e_        e_        e_         ej.                  eg dudvw      \  e_        e_        e_        ej=                  edxy        edz      Zd{e_         ej@                  eg dudvw      \  e_!        e_        e_         ej@                  eg dudvw      \  e_"        e_        e_        ej=                  ed|y        ed}      Z#d~e#_         ejH                  edd edd g dudvw      \  e#_%        e#_        e#_         ejH                  edd edd g dudvw      \  e#_&        e#_        e#_        e#j=                  ed|y        ed      Z'de'_         ejP                  eejS                         z
  dd      Z* ej
                  e*jV                  jY                               e'_-         ejP                  eejS                         z
  dd      Z* ej
                  e*jV                  jY                               e'_.        e'j=                  ed|y       yy)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y)HoldItc                     || _         y )N)name)selfr?   s     e/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/sandbox/tests/maketests_mlabwrap.py__init__zHoldIt.__init__t   s	    	    Nc                    |d | j                   D        }|rdg}|r|j                  d       ng }|r.|j                  d| j                  z         d| j                  z  }nd}||j                  | d| d       |D ]-  }|j                  | | d	t        t	        | |                    / |j                  ddg       |9t        |d
d      5 }	|	j                  dj                  |             d d d        |S |S # 1 sw Y   |S xY w)Nc              3   2   K   | ]  }|d    dk7  s|  yw)r   _N ).0is     rA   	<genexpr>zHoldIt.save.<locals>.<genexpr>y   s     <!!A<s   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

MNCJJ23TYY&FFJJ&WIQ78 	AAJJ&!CWT!_(='>?@	A

Br7hw7 )23()
s
)
s   !C>>D)NNTTN)__name__
__module____qualname__rB   r`   rG   rC   rA   r=   r=   s   s    EIrC   r=   c                    ddl m} t        j                  dd       t	        d      }| |_        |j                  dd	       t	        d
      } |j                  t        d      \  |_	        |_
        |_        |j                  |dd       t	        d      } |j                  t        d df   d      \  |_	        |_
        |_        t        j                  dd       |j                  |dd       t	        d      } |j                  t        d df   t        d df   j                  d      z
  d      \  |_	        |_
        |_        t        j                  dd       |j                  |dd       y )Nr   mlab   d   )	precision	linewidthdatatestsave.pyz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))mlabwraprf   npset_printoptionsr=   xor`   princompr^   coeffactorsvaluesmean)rw   filenrf   rk   res_princomps        rA   generate_princompr      sb   "46NDDGII}.NIO;'L$t}}QQ/ AL|+\-@uU8  : ;'L$t}}QsstW15 AL|+\-@"4uU>  @ ;'L$t}}QsstWQsstW\\!_%<1E AL|+\-@"4uUN  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      |_
        |j                  | dd	
       y )Nr   re   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   rf   r=   ru   r   armagarchmamarepgarchararrepr`   )r}   rf   res_armareps      rA   generate_armarepr      s    )$KXX/0KNXX/0KN$knnQR&8%8+..:LbQK$knnQR&8%8+..:LbQKeES  UrC   c                 R   ddl m} |j                  | j                  | j                  d      dd  }|j                  | j                  | j                  d      dd  }t        | j                  j                         |d       t        | j                  j                          |d       y )Nr   )tsa   )nobsr   rg   )	statsmodels.sandboxr   arma_impulse_responser   r   r   r   ravelr   )r   r   r   r   s       rA   exampletestr      s    '%%knnknn2%NqrRE%%knnknn2%NqrREk//557C{006688%DrC   __main__re   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   )rl   )/__doc__numpyru   numpy.testingr   r   rw   r^   r=   r   r   r   ra   rt   rf   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      sp  
  3   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&J uH >P8U"E z					Bde9U?DuHEEx H7H"dll4QQ7 ;Hh&(: #dll5"aa8 >Hx((*=MM5M.gG7GO!DMM$AA6 7GNGOW%6 "DMM%QQ7 :GOW%w'9LL%L. gGDGOQR$s)RC 7GNGOW%6  ab	5":r11E :GOW%w'9LL%L. x HFHTWWT$))+%r40F!&((.."23HTWWU5::<'T2F""((688>>#34HMM5M/S rC   