U
    Kvf                     @   sZ   d dl Zd dlmZ d dlmZmZ d dlm	  m
  mZ d dlmZ G dd dZdS )    N)mv_mixture_rvsMixtureDistribution)statsc                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestMixtureDistributionsc              	   C   s|   t jd t }|jddgdtjtjgtdddtdddfd	}tj	t 
| | | gt 
dd
dgdd d S )Nr         ?      ?i        ?locZscale   distkwargsg      ࿩decimal)nprandomseedr   rvsr   normdictnptassert_almost_equalarraystdmeanvarselfmixres r"   P/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/distributions/tests/test_mixture.pytest_mixture_rvs_random   s    z0TestMixtureDistributions.test_mixture_rvs_randomc                 C   s   t dddgdddgdddgg}t dddg}t d	ddg}t||}t||d }t jd
 tddgd||gd}tjt |	 |
 | gt dddgdd d S )N      ?r	   r         ?333333?       @r              r   g?i     gCl?g|?5^?gjt@r   r   )r   r   mvdMVNormalr   r   r   r   r   r   r   r   r   Zcov3muZmu2Zmvn3Zmvn32r!   r"   r"   r#   test_mv_mixture_rvs_random   s    z3TestMixtureDistributions.test_mv_mixture_rvs_randomc                 C   sp   t  }tddd}|j|ddgtjtjgtdddtd	d
dfd}t|t	ddddddddddg
 d S )Nr*   
   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   linspaceZpdfr   r   r   r   r   r   r   r    Zgridr!   r"   r"   r#   test_mixture_pdf'   s"    
    z)TestMixtureDistributions.test_mixture_pdfc                 C   sp   t  }tddd}|j|ddgtjtjgtdddtd	d
dfd}t|t	ddddddddddg
 d S )Nr1   r*   r2   r3   r4   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   r5   Zcdfr   r   r   r   r   r   r6   r"   r"   r#   test_mixture_cdf3   s"    
    z)TestMixtureDistributions.test_mixture_cdfc              7   C   s   t  }tjd |jddgdtjtjgtdddtdddfd	}t	|t
d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;g2 d S )<N  g333333?g333333?2   r   r	   r
   r   r   gE[: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   r"   r"   r#   test_mixture_rvs_fixed?   sp                                      z/TestMixtureDistributions.test_mixture_rvs_fixedc                 C   s   t jd t dddgdddgdddgg}t dd	dg}t d
ddg}t||}t||d }tddgd||gd}t|t dddgdddgdddgdddgdddgdd d!gd"d#d$gd%d&d'gd(d)d*gd+d,d-gg
 d S ).Nr9   r%   r	   r   r&   r'   r(   r   r)   r*      g?g?r2   r+   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   r,   r-   r   r   r   r.   r"   r"   r#   test_mv_mixture_rvs_fixedT   s0    z2TestMixtureDistributions.test_mv_mixture_rvs_fixedN)	__name__
__module____qualname__r$   r0   r7   r8   r;   r=   r"   r"   r"   r#   r      s   r   )Znumpyr   Znumpy.testingZtestingr   Z%statsmodels.distributions.mixture_rvsr   r   Z+statsmodels.sandbox.distributions.mv_normalZsandboxdistributionsZ	mv_normalr,   Zscipyr   r   r"   r"   r"   r#   <module>   s
   