
    M/Ph                         d Z ddlZddlmZmZ ddlmZmZ ddl	m
Z
mZ  G d d          Z G d d	          Zed
k    rddlZ ej        edddg           dS dS )z=
Created on Sat Apr 16 15:02:13 2011
@author: Josef Perktold
    N)assert_almost_equalassert_allclose)
mvstdtprobmvstdnormcdf)MVTMVNormalc                   B    e Zd Zed             Zd Zd Zd Zd Zd Z	dS )Test_MVN_MVT_probc                    t          j        g dg dg dg          | _        dt          j        d          z  | _        dt          j        d          z  | _        d| _        | j                                        }d|d<   || _        d S )	N)      ?      ?r   )r      r   )r   r   r               )   r   )	npasarray
corr_equalonesabdfcopycorr2)clsr   s     y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pysetup_classzTest_MVN_MVT_prob.setup_class   sz    ___[[[$MNNRWQZZBGAJJ##%%c
			    c           	         | j         | j        }}| j        }| j        }d}d}t	          |t          ||||          d           t	          |t          |||d          d           t          |||dd          }t	          ||d	           d S )
NghU?g)?r   h㈵>abseps:0yE>i )r$   maxpts   )r   r   r   r   r   r   r   )selfr   r   r   r   	probmvt_R	probmvn_Rmvn_highs           r   test_mvn_mvt_1z Test_MVN_MVT_prob.test_mvn_mvt_1   s    vtv1W_
 		Iz!Q
B'G'GKKKI(Az$GGG	L 	L 	L  1jhOOOIx33333r    c           	          | j         | j        }}| j        }| j        }d}d}t	          |t          ||||          d           t	          |t          |||d          d           d S )Ng E?g^Nl?r   r"   r#   )r   r   r   r   r   r   r   )r(   r   r   r   r   r*   r)   s          r   test_mvn_mvt_2z Test_MVN_MVT_prob.test_mvn_mvt_21   sp    vtv1W
		Iz!Qr'B'BAFFFI|Aq%'M'M'MqQQQQQr    c                 2   | j         | j        }}| j        }| j        }|                                }t
          j         |d d <   d}d}ddi}t          |||||          }	t          ||	d           t          |||dd	
          }
t          ||
d           d S )NgR*?gT¸x?epsabsr%   )quadkwdsgMb@?)atol順 r"   r&   r$   g-C6?)
r   r   r   r   r   r   infr   r   r   )r(   r   r   r   r   a2r*   r)   r1   probmvtprobmvns              r   test_mvn_mvt_3z Test_MVN_MVT_prob.test_mvn_mvt_3;   s    vtv1W
VVXX111		e$RE2AAA	76666r1eF4HHH	7666666r    c           
      f   | j         | j        }}| j        }| j        }|                                }t
          j         |d d <   d}d}t          |t          t          j	        d          | ||          d           t          |t          t          j	        d          | |dd          d           d S )NgUU?r   r   r3   r"   r4   )r   r   r   r   r   r   r5   r   r   zerosr   )r(   r   blr   r   r6   r*   r)   s           r   test_mvn_mvt_4z Test_MVN_MVT_prob.test_mvn_mvt_4L   s    2W
 VVXX111		Iz"(1++sE2'N'NPQRRRI(!rc506tE E EFG	I 	I 	I 	I 	Ir    c           
         | j         | j        }}| j        }| j        }t	          j        g d          }d}d}t          t          ||dz   ||          |d           t          |t          ||dz   |dd          d           d S )	N)r   r   r   gT۰?gWa?r   r   r3   r"   r4   )	r   r   r   r   r   arrayr   r   r   )r(   r   r<   r   r   a3r*   r)   s           r   test_mvn_mvt_5z Test_MVN_MVT_prob.test_mvn_mvt_5\   s    2W
 X&&&''		Jr2a4;;YJJJI|B1e7=d(L (L (LMN	P 	P 	P 	P 	Pr    N)
__name__
__module____qualname__classmethodr   r,   r.   r9   r=   rA    r    r   r
   r
      s           [4 4 4*R R R7 7 7"I I I P P P P Pr    r
   c                   0    e Zd Zed             Zd Zd ZdS )TestMVDistributionsc                    t          j        ddgddgg          }g d}t          j        g dg dg dg          }|| _        || _        t	          ||          }t	          t          j        g d          |          }|| _        || _        d S )Nr   r   )r                  @)r   r         ?)r   g      ?333333?)rL   rM   rK   r   r   r   )r   r?   mu3cov3r   mvn3mvn3c)r   covxrO   rP   rQ   rR   s         r   r   zTestMVDistributions.setup_classn   s    x#sc3Z011llx.........0 1 1 T""'''**D11			r    c                 `   | j         }| j        }g d}t          |                    |          |d           g d}t          |                    |          |d           t          t          j        g d          |          }g d}t          |                    |          |d           d S )N)g&Ng&Ng&NgvIh%<=)rtol)gue>?g7P?gTw?rN   )gEOQם?g4x=?g9"8?)rP   rQ   r   logpdfpdfr   r   r?   )r(   rP   rQ   r_valmvn3bs        r   test_mvn_pdfz TestMVDistributions.test_mvn_pdf}   s    yy
 
 
 	D))5u====
 
 
 	E::::))),,d33
 
 
 			$U;;;;;;r    c                 Z   | j         }| j        }t          ddd          }t          |                    t          j        ddg                    dd           t          |                    t          j        ddg                    dd           |                    t          j        d	d	g                    d
z
   t          ddd          }|                    t          j        d	d	g                    dz
   |                    d          }t          t          j	        |d          |j	        d           t          ||d          }t          |                    |          g dd           t          ||d          }t          |                    |          g dd           d S )N)r   r   r   r'   rJ   gdg   )decimalgm0_?r   gX*#g!4r3   F)rowvar)g<G?gx-ZP?gD5If?   r   )gvML?gzDT?g/o6q?)
rP   rO   r   r   rV   r   r?   rW   rvscov)r(   reset_randomstaterP   rO   mvtmvt1r`   mvt31s           r   test_mvt_pdfz TestMVDistributions.test_mvt_pdf   s   yh&!QCJJrxR'9'9::<N$&	( 	( 	( 	(CGGBHb"X$6$6779K$&	( 	( 	( 	( 	

28RH%%&&*;<<61a  BHb"X&&''+<==ggfooBF3u555swJJJJCq!!EIIdOO4 4 4$&	( 	( 	( 	(
 #tQCGGDMM3 3 3$&	( 	( 	( 	( 	( 	(r    N)rB   rC   rD   rE   r   rZ   rf   rF   r    r   rH   rH   k   sM           [< < <(( ( ( ( (r    rH   __main__z-vvsz-xz--pdb)__doc__numpyr   numpy.testingr   r   .statsmodels.sandbox.distributions.multivariater   r   +statsmodels.sandbox.distributions.mv_normalr   r   r
   rH   rB   pytestmain__file__rF   r    r   <module>rp      s        ? ? ? ? ? ? ? ?        E E E E E E E E[P [P [P [P [P [P [P [P|B( B( B( B( B( B( B( B(J zMMMFK64122222 r    