
p7]c           @   sp   d  d l  Z d  d l j Z d  d l m Z m Z d  d l j	 j
 j Z d  d l m Z d e f d     YZ d S(   iN(   t   mv_mixture_rvst   MixtureDistribution(   t   statst   TestMixtureDistributionsc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  j j d  t   } | j d d g d d t j t j g d t d d d	 d
  t d d d	 d
  f } t j	 t  j
 | j   | j   | j   g  t  j
 d d d g  d d d  S(   Ni    g      ?g      ?i  t   distt   kwargst   locit   scaleg      ?i   g      t   decimal(   t   npt   randomt   seedR   t   rvsR   t   normt   dictt   nptt   assert_almost_equalt   arrayt   stdt   meant   var(   t   selft   mixt   res(    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyt   test_mixture_rvs_random   s    	'-'c         C   s  t  j d d d g d d d g d d d g g  } t  j d d d g  } t  j d	 d d g  } t j | |  } t j | | d  } t  j j d
  t d d g d | | g d  } t j t  j | j	   | j
   | j   g  t  j d d d g  d d d  S(   Ng      ?g      ?g      ?g      ?g333333?g       @ig        i   i    g?i  i   gCl?g|?5^?gjt@R   i   (   R	   R   t   mvdt   MVNormalR
   R   R    R   R   R   R   R   (   R   t   cov3t   mut   mu2t   mvn3t   mvn32R   (    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyt   test_mv_mixture_rvs_random   s    !'c         C   s   t    } t j d d d  } | j | d d d d g d t j t j g d t d	 d
 d d  t d	 d d d  f } t j | t j	 d d d d d d d d d d g
   d  S(   Nii   i
   i   g      @i   R   R   R   iR   g      ?g      ?g\=g|^r|>g)y)?gճY?gc.Ѣ?g3@?gR?gZ?gfƂ.{?g<H/?(
   R   R	   t   linspacet   pdfR   R   R   R   R   R   (   R   R   t   gridR   (    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyt   test_mixture_pdf'   s    	/-		c         C   s   t    } t j d d d  } | j | d d d d g d t j t j g d t d	 d
 d d  t d	 d d d  f } t j | t j	 d d d d d d d d d d g
   d  S(   Nii   i
   i   g      @i   R   R   R   iR   g      ?g      ?gCe.=gC.1N>g^d*=>gNڲş?g}u"5?gkE?gU*?gy@?g%=B?g?(
   R   R	   R!   t   cdfR   R   R   R   R   R   (   R   R   R#   R   (    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyt   test_mixture_cdf3   s    	/-		c      5   C   s   t    } t j j d  | j d d g d d t j t j g d t d d d	 d
  t d d d	 d
  f } t j	 | t j
 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/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= g2   d  S(>   Ni  g333333?g333333?i2   R   R   R   i   R   g      ?igE[: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   (    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyt   test_mixture_rvs_fixed?   s&    	'-c         C   sQ  t  j j d  t  j d d d g d d d g d d d g g  } t  j d d	 d g  } t  j d
 d d g  } t j | |  } t j | | d  } t d d g d | | g d  } t j | t  j 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(.   Ni  g      ?g      ?g      ?g      ?g333333?g       @ig        i   i   g?g?i
   i   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   R   R   R   (    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyt   test_mv_mixture_rvs_fixedT   s*    !(   t   __name__t
   __module__R   R    R$   R&   R'   R(   (    (    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyR      s   					(   t   numpyR	   t   numpy.testingt   testingR   t%   statsmodels.distributions.mixture_rvsR    R   t+   statsmodels.sandbox.distributions.mv_normalt   sandboxt   distributionst	   mv_normalR   t   scipyR   t   objectR   (    (    (    sK   lib/python2.7/site-packages/statsmodels/distributions/tests/test_mixture.pyt   <module>   s
   