
    "g                     `    d dl Zd dlmZ d dlmZmZ d dlm	c m
c mZ d dlmZ  G d d      Zy)    N)mv_mixture_rvsMixtureDistribution)statsc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestMixtureDistributionsc           
         t         j                  j                  d       t               }|j	                  ddgdt
        j                  t
        j                  gt        dd      t        dd      f	      }t        j                  t        j                  |j                         |j                         |j                         g      t        j                  g d
      d       y )Nr         ?      ?i        ?locscale   distkwargs)r   g      r   decimal)nprandomseedr   rvsr   normdictnptassert_almost_equalarraystdmeanvarselfmixress      i/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/distributions/tests/test_mixture.pytest_mixture_rvs_randomz0TestMixtureDistributions.test_mixture_rvs_random   s    
		q!#ggs3iUZZ,D"2&t';<  >#'')CHHJswwy9:$	    c                 6   t        j                  g dg dg dg      }t        j                  g d      }t        j                  g d      }t        j                  ||      }t        j                  ||dz        }t         j                  j                  d       t        dd	gd
||gd      }t        j                  t        j                  |j                         |j                         |j                         g      t        j                  g d      d       y )Ng      ?r   r	   r   g      ?333333?r	   r,          @r   g        r.      r.   r.   r.   r   g?r,   i     )gCl?g|?5^?gjt@r   r   )r   r   mvdMVNormalr   r   r   r   r   r   r    r!   r#   cov3mumu2mvn3mvn32r%   s          r&   test_mv_mixture_rvs_randomz3TestMixtureDistributions.test_mv_mixture_rvs_random   s    xx.,,. / XXn%hh}%||B%S$r'*
		qc3Ze}a@#'')CHHJswwy9:,-	r(   c           
      6   t               }t        j                  ddd      }|j                  |ddgt        j
                  t        j
                  gt        dd      t        d	d
      f      }t        j                  |t        j                  g d             y )Nr1   
   UUUUUU?UUUUUU?r   r
   r   r   r	   r   )
g\=g|^r|>g)y)?gճY?gc.Ѣ?g3@?gR?gZ?gfƂ.{?g<H/?)
r   r   linspacepdfr   r   r   r   r   r   r#   r$   gridr%   s       r&   test_mixture_pdfz)TestMixtureDistributions.test_mixture_pdf'   s    !#{{2a$ggdT$Kuzz5::.F"3'(=>  @ , -	.r(   c           
      6   t               }t        j                  ddd      }|j                  |ddgt        j
                  t        j
                  gt        dd      t        d	d
      f      }t        j                  |t        j                  g d             y )Nr=   r1   r>   r?   r@   r   r
   r   r   r	   r   )
gCe.=gC.1N>g^d*=>gNڲş?g}u"5?gkE?gU*?gy@?g%=B?g?)
r   r   rA   cdfr   r   r   r   r   r   rC   s       r&   test_mixture_cdfz)TestMixtureDistributions.test_mixture_cdf3   s    !#{{2a$ggdT$Kuzz5::.FRc*4AC+@A  C ) *	+r(   c           
      F   t               }t        j                  j                  d       |j	                  ddgdt
        j                  t
        j                  gt        dd      t        dd      f	      }t        j                  |t        j                  g d
             y )N  g333333?g333333?2   r   r   r   r   r   )2gE[:gg[=7gˑ3gJbg6D.(gLUgHg^|veglͿgvl<gTgLѡ>geg"޿gt݄g'(,V?gzz?gW$gOXE, gχvgh6BHg>>?gm>gg0{gO	gnahgtEp?gˆ\^g~U8g)J׆ig'^gb[ّg6?g
Ag8񴀹տgBӎgѕE^g3pg[۸gt%?gK=g`T|?gQ	gP[tӿg46lBg޸?gZD5 3g 	9g3)r   r   r   r   r   r   r   r   r   r   r   r"   s      r&   test_mixture_rvs_fixedz/TestMixtureDistributions.test_mixture_rvs_fixed?   s|    !#
		tggs3i5::uzz*B!"%dr&;<  > 6 7	8r(   c                    t         j                  j                  d       t        j                  g dg dg dg      }t        j                  g d      }t        j                  g d      }t	        j
                  ||      }t	        j
                  ||dz        }t        dd	gd
||gd      }t        j                  |t        j                  g dg dg dg dg dg dg dg dg dg dg
             y )NrJ   r*   r+   r-   r/   r0      g?g?r>   r2   )gC߼οgw?g?)gofA*@gU?g>B<d?)gHN`x@g.k(@g/<'@)g@gkf?g=a1O@)gʫ@g\ @gJ?)g8@g/$d?gHJ@m@)g+x@g@g0P?)ggj;}@g_mZc+?g}?)gXB_@g+{\e?g QZH?)g
6I@g#L @g2f@)	r   r   r   r   r3   r4   r   r   r   r5   s          r&   test_mv_mixture_rvs_fixedz2TestMixtureDistributions.test_mv_mixture_rvs_fixedT   s    
		txx.,,. / XXn%hh}%||B%S$q&)c3ZdE]A>A>>>>>>>>>	@ 	A	Br(   N)	__name__
__module____qualname__r'   r;   rE   rH   rL   rO    r(   r&   r   r      s!    	
.
+8*Br(   r   )numpyr   numpy.testingtestingr   %statsmodels.distributions.mixture_rvsr   r   +statsmodels.sandbox.distributions.mv_normalsandboxdistributions	mv_normalr3   scipyr   r   rS   r(   r&   <module>r]      s*     H 9 9 ^B ^Br(   