U
    ÃmœdÇ  ã                   @   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è  éÿÿÿÿç      à?©ÚlocÚscaleé   ©ÚdistÚkwargsg      à¿©Údecimal)ÚnpÚrandomÚseedr   Úrvsr   ÚnormÚdictÚnptÚassert_almost_equalÚarrayÚstdÚmeanÚvar©ÚselfÚmixÚres© r#   úe/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/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ˆ  é   g–C‹lçûý?gî|?5^ºû?gj¼t“@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 )Néüÿÿÿr+   é
   çUUUUUUÕ?çUUUUUUå?r   r   r
   r   r   r   g\Êü�ÄÅÕ=g|^°â³r|>g)éy)?gÕ³—¢YÌ?gôc.Ñ¢¼¹?gÖ3@Ñ?gÓÏR´��Ô?gZÅá¸¸?gfÆ‚.¥{?g<á÷°H/?)
r   r   ÚlinspaceZpdfr   r   r   r   r   r   ©r    r!   Ú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 )Nr2   r+   r3   r4   r5   r   r   r
   r   r   r   gCû‚e.£=g£CÐ.1N>g^d*=�ýØ>gNÚ²ÅŸ?g}ÎuË"5Ö?g‰kâEß?gU*º‹¶þè?gÓyê@æî?g%½=B¬òï?g·ï�¸Óÿï?)
r   r   r6   Zcdfr   r   r   r   r   r   r7   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   gô E[:‹â¿gþ�à‘û¿gº[Ä=7û¿gË‘„3®Îð¿gJ¢°îÌbô¿g6é¶D.(ñ¿g˜L™ÄîUê¿gˆÛÛ»Hð¿g^|ve¼òæ¿gàlÎíÍ¿gvÿl<Ë÷¿gTøù�ð¿gLÑ¡>�ë¿g§Ûe«ñ¿g"ÒãµëÞ¿gætÝ„šÀg'(,ŽV�?g’¡zzûñ?g˜äWÞ$ù¿gOXE, œì¿gÏ‡ßv¹ä¿gh6¸B’Hö¿gÎ>¨î>¥á?g„mþ>g›è¿gà¢0{»ä¿gO«	¶Ÿç¿gnaøh÷¿gÚt¡Eøp?gË†‡\^ì¿gŽ~�U¥8ù¿g)J×†iãå¿g†ö¹ó'^ï¿gbÑ[Ù‘è¿gá¿6°Ïí?gûÍå‚
AÀgè8ñ´€¹Õ¿gšàBÓŽí¿gÑ•çE^í¿gª3­Öpó¿gé¢[ŽÛ¸ã¿gÄõÞÎt%ð?g�K ±Ä=à¿g`T|ö?gQØÉ	¨ªë¿g¯ˆP[ÙtÓ¿g46lB÷¸î¿g ¦·»Þ¸ñ?gZD5¡ 3ó¿g– ã¶	9ø¿gâ3¿€­ô¿)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 ).Nr;   r&   r	   r   r'   r(   r)   r   r*   r+   é   gš™™™™™É?gš™™™™™é?r3   r,   góCß¼¼©Î¿g ÈwŒ¿û?g¨ï©×?g÷ofA*@gžƒUñ?g”>B<dþ?g�HN`x@gø.kƒ�(@g/<'¤Â@g¥‡¡ÕÉé@gíÁÿ±kfó?g=aì1O®@gÊ«ÎÅÊ@g¡§ù\ @gŸ©JÔøý?gù8ª¼å@g/—à$dí?gHJ@mÐ@gá²+©êx@g´�„ó@g0©±ïPõå?ggj;}×@g_mZc¯+ù?g¯¿�¶}ê?gXåBå_ã@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%   r1   r9   r:   r=   r?   r#   r#   r#   r$   r      s   r   )Únumpyr   Znumpy.testingÚ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
   