
    'YHh1                        d dl mZ d dlmZmZ d dlZd dlZd dl	Z	d dl
Z
d dlmc mZ d dlmZmZ d Zd Zd Ze	j*                  j,                  e	j*                  j/                  dd	d
g      d               Zd Ze	j*                  j,                  e	j*                  j/                  dd	d
g      d               Ze	j*                  j/                  dd	d
g      d        Zy)    )PLATFORM_OSX)
ProcessMLEGaussianCovarianceN)assert_allcloseassert_equalc                     t         j                  d   }t         j                  d   }t         j                  d   }| rt         j                  d   }nt        j                  g       }||||fS )N)   r   r   )r	   r	   )g      ?皙?)      ?r   )npr_array)noisemn_parsc_parsm_parno_pars        e/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/regression/tests/test_processreg.pymodel1r      sW    UU;FUU4[FUU8_Fz""666))    c                     ||      \  }}}}t        j                  t        j                  | dz        t        j                  d            }t        j                  t        j                  | dz        t        j                  d            }||j	                         z
  |j                         z  }	t         j                  j                  | t        |      f      }
t         j                  j                  | t        |      f      }d|d d df<   |	|d d df<   t         j                  j                  | t        |      f      }d|d d df<   |	|d d df<   t        j                  |
|      }t        j                  t        j                  ||            }t        j                  t        j                  ||            }|rgt         j                  j                  | t        |      f      }d|d d df<   |	|d d df<   t        j                  t        j                  ||            }nd }|j                         }t               }t        j                  t              }t!        |      D ]  \  }}||   j#                  |        |j%                         D ]  \  }}|j'                  ||   ||   ||         }t         j(                  j+                  |      }||xx   t        j                  |t         j                  j                  t        |                  z  cc<    |r0|t         j                  j                  |j,                        z  z  }||
|||||fS )N   sizer	   r   )r   kronarangeonesmeanstdrandomnormallendotexpcopyr   collectionsdefaultdictlist	enumerateappenditemsget_covlinalgcholeskyshape)n	get_modelr   r   r   r   r   groupstimetime_zx_meanx_scx_smmnscsmx_nonoygcixigiicrs                             r   setup1rF      s   %.u%5"FFFFWWRYYqAv&
3F7727716?BIIaL1DTYY[ DHHJ.FYYAs6{#34F99!S[!12DDAJDAJ99!S[!12DDAJDAJ		B	tV$	%B	tV$	%ByyaV%56QT
QT
VVBFF4()
	A		B		 	 	&B&! 1
1Q  ;2JJtBxBB0IIq!	"299++R+9::; 	R"))"""000fdD$f44r   c           	      n    t        | ||      \  }}}}}}}	t        |||||||	      }
|
j                         S N)rF   r   fit)r1   r2   r   r>   r6   r7   r8   r<   r4   r3   pregs              r   
run_arraysrK   N   sA    06q)U0K-AvtT4vatT4@D88:r   r   FTc                    t         j                  j                  d       t        dt        |       }|j
                  }|j                          t        j                  t	        |             }t        |j                  |dd       |j                  |j                  dd |j                  ddd d f   |j                  ddd d f         }t        ||j                         t         j                  j!                  |      \  }}t#        |dkD  d       |j%                         }t#        t        j&                  ||j(                        d   d	kD  d       |j%                  |j*                  
      }t#        ||       |j%                  |j                  |j*                        }	t#        ||	       |j-                  t        j.                  t1        |j                                     y )Ni*     g333333?atolrtolr   r   Tr   r	   皙?exogparamsrT   )r   r!   seedrK   r   modelsummaryconcatenater   rV   
covariancer4   
exog_scaleexog_smoothTr.   eigr   predictcorrcoefendogrT   t_testeyer#   )
r   fmodeparcva_yhatyhatmyhat0s
             r   test_arraysrn   W   s`    IINN44'A
''CIIK >>&-(DAHHd37 
chhqmS^^AaCF%;ooac1f-
/BB99==DAqQ 99;DT399-d3c94@II388I$EuKKqxxchhK7Eu HHRVVCM"#r   c                    t        | ||      \  }}}}}}}	t        j                  ||d d df   |d d df   |d d df   |d d df   |d d df   |d d df   |d d df   |d d df   ||	d      }
|r|d d df   |
d<   |d d df   |
d<   d}d	}d
}|rd}nd }t        j                  ||
|||dd      }|j                         }||
fS )Nr   r	         )r>   x1x2x3x4xsc1xsc2xsm1xsm2r4   r3   xno1xno2zy ~ 0 + x1 + x2 + x3 + x4z0 + xsc1 + xsc2z0 + xsm1 + xsm2z0 + xno1 + xno2r4   r3   )datascale_formulasmooth_formulanoise_formular4   r3   )rF   pd	DataFramer   from_formularI   )r1   r2   r   r>   r6   r7   r8   r<   r4   r3   dfmean_formular}   r~   r   rJ   re   s                    r   run_formular   y   s   06q)U0K-AvtT4v	QTlQTlQTlQTlQT
QT
QT
QT
 
B !Q$Z6
!Q$Z6
.L%M&N)""#%#D 	
Ab5Lr   c                    t         j                  j                  d       t        dt        |       \  }}|j
                  }|j                          t        j                  t	        |             }t        |j                  |dd       t        j                  |j                  ddd d f   dd	g
      }t        j                  |j                  ddd d f   ddg
      }|j                  |j                  dd ||      }t        ||j                          t         j"                  j%                  |      \  }}	t'        |dkD  d       |j)                         }
t'        t        j*                  |
|j,                        d   dkD  d       |j)                  |      }t        |
|d       |j)                  |j                  |      }t        |
|d       |j/                  t        j0                  t3        |j                                     y )NiU"  rM   r   r	   rN   r   r   rv   rw   )columnsrx   ry   TrQ   rR   rS   gdy=)rP   rU   )r   r!   rW   r   r   rX   rY   rZ   r   rV   r   r   r\   r]   r[   r4   r^   r.   r_   r   r`   ra   rb   rc   rd   r#   )r   re   r   rf   rg   r\   r]   rh   ri   rj   rk   rl   rm   s                r   test_formulasr      s    IINN4fe,EAr
''CIIK >>&-(DAHHd15 cnnQqS!V4'-v&68J,,sqsAv6(.'79K	
chhqmZ	=BB99==DAqQ 99;DT399-d3c94@II2IED%e,KKqxxbK1ED%e, HHRVVCM"#r   c           	      8   t        dt        |       \  }}}}}}}t        |||||||      fd}|j                  d   |j                  d   z   |j                  d   z   }	| r|	|j                  d   z  }	t        j
                  j                  d       t        rdnd}
t        d      D ]p  }j                         }|dt        j
                  j                  |		      z  z   }j                  |      }t        j                  ||d
      }t        |||
d       r y )NrM   c                 &    j                  |       S rH   )loglike)xrJ   s    r   r   z#test_score_numdiff.<locals>.loglike   s    ||Ar   r	   iV  gMb`?g{Gz?r   r   r   gHz>)epsilong-C6?rN   )rF   r   r   r0   r   r!   rW   r   range
_get_startr"   scorendapprox_fprimer   )r   r>   r6   r7   r8   r<   r4   r3   r   qrO   rj   par0parr   score_ndrJ   s                   @r   test_score_numdiffr      s    17tVU0K-AvtT4vatT4@D 	Q$**Q-'$**Q-7A	TZZ]IINN34TD1X ? S299+++333

3##C$?xd>?r   )statsmodels.compat.platformr   )statsmodels.regression.process_regressionr   r   numpyr   pandasr   pytestr'   statsmodels.tools.numdifftoolsnumdiffr   numpy.testingr   r   r   rF   rK   markslowparametrizern   r   r   r    r   r   <module>r      s    4'     & & 7
*-5` 5$-0$ 1 $@)X 5$-0 $ 1  $H 5$-0? 1?r   