
    Vfd1                        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                            dd	d
g          d                         Zd Ze	j        j        e	j                            dd	d
g          d                         Ze	j                            dd	d
g          d             ZdS )    )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        Llib/python3.11/site-packages/statsmodels/regression/tests/test_processreg.pymodel1r      sV    U;FU4[FU8_F z""666))    c                     ||          \  }}}}t          j        t          j        | dz            t          j        d                    }t          j        t          j        | dz            t          j        d                    }||                                z
  |                                z  }	t           j                            | t          |          f          }
t           j                            | t          |          f          }d|d d df<   |	|d d df<   t           j                            | t          |          f          }d|d d df<   |	|d d df<   t          j	        |
|          }t          j
        t          j	        ||                    }t          j
        t          j	        ||                    }|rit           j                            | t          |          f          }d|d d df<   |	|d d df<   t          j
        t          j	        ||                    }nd }|                                }t                      }t          j        d           }t          |          D ] \  }}||                             |           !|                                D ]\  }}|                    ||         ||         ||                   }t           j                            |          }||xx         t          j	        |t           j                            t          |                              z  cc<   |r+||t           j                            |j                  z  z  }||
|||||fS )N   sizer	   r   c                      g S N r   r   r   <lambda>zsetup1.<locals>.<lambda>?   s     r   )r   kronarangeonesmeanstdrandomnormallendotexpcopyr   collectionsdefaultdict	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   setup1rI      s   %.Yu%5%5"FFFFWRYqAv&&

33F72716??BIaLL11DTYY[[ DHHJJ.FYAs6{{#344F9!S[[!122DDAJDAJ9!S[[!122DDAJDAJ			B	tV$$	%	%B	tV$$	%	%B yaV%566QQQT
QQQT
VBF4(())
		A			B		 	,	,B&!!  1
1Q ; ;2JJtBxBB00Iq!!	"29++R+99:::  1	R")"""0000fdD$f44r   c           	          t          | ||          \  }}}}}}}	t          |||||||	          }
|
                                S r   )rI   r   fit)r4   r5   r   rA   r9   r:   r;   r?   r7   r6   pregs              r   
run_arraysrM   O   sI    06q)U0K0K-AvtT4vatT4@@D88::r   r   FTc                    t           j                            d           t          dt          |           }|j        }|                                 t          j        t	          |                     }t          |j	        |dd           |
                    |j        dd         |j        ddd d f         |j        ddd d f                   }t          ||j                   t           j                            |          \  }}t#          |dk    d           |                                }t#          t          j        ||j                  d         d	k    d           |                    |j        
          }t#          ||           |                    |j	        |j                  }	t#          ||	           |                    t          j        t1          |j	                                       d S )Ni*     g333333?atolrtolr   r   Tr   r	   皙?exogparamsrV   )r   r%   seedrM   r   modelsummaryconcatenater   rX   
covariancer7   
exog_scaleexog_smoothTr1   eigr   predictcorrcoefendogrV   t_testeyer'   )
r   fmodeparcva_yhatyhatmyhat0s
             r   test_arraysrp   X   s    INN44''A
'CIIKKK >&--((DAHd37777 
chqsmS^AaCF%;oac111f-
/ 
/BB9==DAqQ 99;;DT39--d3c94@@@II38I$$EuKKqxchK77Eu HHRVCMM""#####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          }|                                }||
fS )Nr   r	         )rA   x1x2x3x4xsc1xsc2xsm1xsm2r7   r6   xno1xno2zy ~ 0 + x1 + x2 + x3 + x4z0 + xsc1 + xsc2z0 + xsm1 + xsm2z0 + xno1 + xno2r7   r6   )datascale_formulasmooth_formulanoise_formular7   r6   )rI   pd	DataFramer   from_formularK   )r4   r5   r   rA   r9   r:   r;   r?   r7   r6   dfmean_formular   r   r   rL   rg   s                    r   run_formular   z   sY   06q)U0K0K-AvtT4v	QQQTlQQQTlQQQTlQQQTlQQQT
QQQT
QQQT
QQQT
  
 
B   !!!Q$Z6
!!!Q$Z6
.L%M&N )"#%#  D 	

Ab5Lr   c                 B   t           j                            d           t          dt          |           \  }}|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        dd         ||          }t          ||j                   t           j                            |          \  }}	t'          |dk    d           |                                }
t'          t          j        |
|j                  d         dk    d           |                    |          }t'          |
|           |                    |j	        |          }t'          |
|           |                    t          j        t3          |j	                                       d S )NiU"  rO   r   r	   rP   r   r   rx   ry   )columnsrz   r{   TrS   rT   rU   rW   )r   r%   rY   r   r   rZ   r[   r\   r   rX   r   r   r^   r_   r]   r7   r`   r1   ra   r   rb   rc   rd   re   rf   r'   )r   rg   r   rh   ri   r^   r_   rj   rk   rl   rm   rn   ro   s                r   test_formulasr      s    INN4fe,,EAr
'CIIKKK >&--((DAHd15555 cnQqS!!!V4'-v&68 8 8J,sqsAAAv6(.'79 9 9K	
chqsmZ	=	=BB9==DAqQ 99;;DT39--d3c94@@@II2IEuKKqxbK11Eu HHRVCMM""#####r   c           	      X   t          dt          |           \  }}}}}}}t          |||||||          fd}|j        d         |j        d         z   |j        d         z   }	| r|	|j        d         z  }	t          j                            d           t          rdnd}
t          d          D ]{}	                                }|dt          j        
                    |		          z  z   }                    |          }t          j        ||d
          }t          |||
d           |d S )NrO   c                 .                         |           S r   )loglike)xrL   s    r   r   z#test_score_numdiff.<locals>.loglike   s    ||Ar   r	   iV  gMb`?g{Gz?r   r   r   gHz>)epsilong-C6?rP   )rI   r   r   r3   r   r%   rY   r   range
_get_startr&   scorendapprox_fprimer   )r   rA   r9   r:   r;   r?   r7   r6   r   qrQ   rl   par0parr   score_ndrL   s                   @r   test_score_numdiffr      sD    17tVU0K0K-AvtT4vatT4@@D     	Q$*Q-'$*Q-7A 	TZ]INN3)44TD1XX ? ?  S29+++3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   rI   rM   markslowparametrizerp   r   r   r   r   r   r   <module>r      s   4 4 4 4 4 4' ' ' ' ' ' ' '              & & & & & & & & & 7 7 7 7 7 7 7 7
* * *-5 -5 -5`   5$-00$ $ 10 $@) ) )X 5$-00 $  $ 10  $H 5$-00? ? 10? ? ?r   