
p7]c           @   s   d  Z  d d l Z d d l m Z m Z m Z d d l m Z m	 Z	 d d l
 m Z m Z d e f d     YZ d e f d	     YZ e d
 k r d d l Z e j e d d d g  n  d S(   s=   
Created on Sat Apr 16 15:02:13 2011
@author: Josef Perktold
iN(   t   assert_almost_equalt   assert_array_almost_equalt   assert_allclose(   t
   mvstdtprobt   mvstdnormcdf(   t   MVTt   MVNormalt   Test_MVN_MVT_probc           B   sD   e  Z e d     Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  j d d d g d d d g d d d g g  |  _ d t  j d  |  _ d t  j d  |  _ d |  _ |  j j   } d | d	 <| |  _ d  S(
   Ng      ?g      ?i   ii   i   g      i   (   i   i   (	   t   npt   asarrayt
   corr_equalt   onest   at   bt   dft   copyt   corr2(   t   clsR   (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   setup_class   s    6	
c         C   s   |  j  |  j } } |  j } |  j } d } d } t | t | | | |  d  t | t | | | d d d  t | | | d d d d } t | | d	  d  S(
   NghU?g)?i   t   absepsgh㈵>g:0yE>t   maxptsi i   (   R   R   R   R
   R    R   R   (   t   selfR   R   R   R
   t	   probmvt_Rt	   probmvn_Rt   mvn_high(    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   test_mvn_mvt_1   s    		c         C   sv   |  j  |  j } } |  j } |  j } d } d } t | t | | | |  d  t | t | | | d d d  d  S(   Ng E?g^Nl?i   R   gh㈵>(   R   R   R   R   R    R   R   (   R   R   R   R   R   R   R   (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   test_mvn_mvt_23   s    		c         C   s   |  j  |  j } } |  j } |  j } | j   } t j | (d } d } i d d 6} t | | | | d | }	 t | |	 d d t	 | | | d d	 d
 d }
 t | |
 d d d  S(   NgR*?gT¸x?g:0yE>t   epsabst   quadkwdst   atolgMb@?R   i R   gh㈵>g-C6?(
   R   R   R   R   R   R   t   infR   R   R   (   R   R   R   R   R   t   a2R   R   R   t   probmvtt   probmvn(    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   test_mvn_mvt_3=   s    		c      
   C   s   |  j  |  j } } |  j } |  j } | j   } t j | (d } d } t | t t j	 d  | | |  d  t | t
 t j	 d  | | d d d d d  d  S(   NgUU?i   i   R   i R   gh㈵>(   R   R   R   R   R   R   R   R    R   t   zerosR   (   R   R   t   blR   R   R   R   R   (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   test_mvn_mvt_4N   s    		)c      
   C   s   |  j  |  j } } |  j } |  j } t j d d d g  } d } d } t t | | d | |  | d  t | t | | d | d d d	 d
 d  d  S(   Ng      ?g      gT۰?gWa?i   i   R   i R   gh㈵>(	   R   R   R   R   R   t   arrayR    R   R   (   R   R   R$   R   R   t   a3R   R   (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   test_mvn_mvt_5^   s    		#(	   t   __name__t
   __module__t   classmethodR   R   R   R"   R%   R(   (    (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyR      s   		
		t   TestMVDistributionsc           B   s)   e  Z e d     Z d   Z d   Z RS(   c         C   s   t  j d d g d d g g  } d d d g } t  j d d d g d d d g d d d g g  } | |  _ | |  _ t | |  } t t  j d	 d	 d	 g  |  } | |  _ | |  _ d  S(
   Ng      ?g      ?ig        g       @g      ?g      ?g333333?i    (   R   R&   t   mu3t   cov3R   t   mvn3t   mvn3c(   R   t   covxR-   R.   R/   R0   (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyR   p   s    !		!	c         C   s   |  j  } |  j } d d d g } t | j |  | d d d d d g } t | j |  | d d	 t t j d
 d
 d
 g  |  } d d d g } t | j |  | d d d  S(   Ng&Ng&Ng&Nt   decimali   gue>?g7P?gTw?i   i    gEOQם?g4x=?g9"8?i   (   R.   R/   R   t   logpdft   pdfR   R   R&   (   R   R.   R/   t   r_valt   mvn3b(    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   test_mvn_pdf   s    			!c         C   sr  |  j  } |  j } t d d d  } t | j t j d d g   d d d t | j t j d d g   d d d | j t j d	 d	 g   d
 t d d d  } | j t j d	 d	 g   d | j d  } t t j	 | d t
 | j	 d d t | | d  } t | j |  d d d g d d t | | d  } t | j |  d d d g d d d  S(   Ni    i   i   g        gdgR2   i   gm0_?g      ?gX*#g!4i t   rowvarg<G?gx-ZP?gD5If?i   i   gvML?gzDT?g/o6q?(   i    i    (   i    i    (   R.   R-   R   R    R3   R   R&   R4   t   rvst   covt   False(   R   t   reset_randomstateR.   R-   t   mvtt   mvt1R9   t   mvt31(    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   test_mvt_pdf   s,    		$$  %		(   R)   R*   R+   R   R7   R@   (    (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyR,   m   s   	t   __main__s   -vvss   -xs   --pdb(   t   __doc__t   numpyR   t   numpy.testingR    R   R   t.   statsmodels.sandbox.distributions.multivariateR   R   t+   statsmodels.sandbox.distributions.mv_normalR   R   t   objectR   R,   R)   t   pytestt   maint   __file__(    (    (    sX   lib/python2.7/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pyt   <module>   s   ^@