U
    Kvf  ã                   @   s’  d Z ddlZddlmZ ddlmZ ddlm	Z
 ddlm  mZ ddlm  m  mZ e dddgdddgddd	gg¡Ze d
dd	g¡Ze ee¡ZejddZd	ddgdd	dgdddgdddggZe e¡jddd…dd…f ZddddgZddddgZdd„ eD ƒZ eee dd e!e ƒ e!dƒ e!ee ed ¡k  "d
¡ #d¡ƒ e!ed ek  "d¡ #d¡ƒ e!ej$dd„ d dƒ e!ej$d!d„ d dƒ e %¡ Z&ee&j'e&j(d"d ee&j#e )d#¡d"d e *e¡Z+ej'e+dd$Z,ee&j'e,d%d ee )d#¡e+ #d¡d%d e -¡ Z.ee&j'e.j'd%d e /e¡Z0ej'e+dd$Z1eej(e1d%d ee )d#¡e0 #d¡d%d e 2e ddg¡¡Z3e!e3j#ƒ e!e3j'ƒ e 4e ddg¡dg¡Z5e!e5j#ƒ e!e5j'ƒ e 4e dg¡ddg¡Z5e!e5j#ƒ e!e5j'ƒ e
 6edd…df e
j7edd…dd…f d&d'¡Z8e8 9¡ Z:e!e:j; <e dddg¡¡ƒ e 4e dg¡ddg¡Z5e!e5j#ƒ e 4e dg¡ddg¡Z5e!e:j; <e dddg¡¡ƒ e!e5j#ƒ e =eed¡Z>e>jd dZ?ee>j'ej'e?dd$dd e> @¡ ZAe> %¡ ZBee>j(eBjCd"d eeBj(eBjCd"d ee Dd#¡eAjCd"d e> /e?¡ZEej'eEdd$ZFe> *e?¡ZGej'eGdd$ZHejIeGdd$ZJeeBj#eG #d¡d%d eeBj(eJdd eeBj'eHdd eeAj'eFdd dddgZKe> LeK¡ZMe!eMƒ e!e?e eK¡k  "d
¡ #d¡ƒ e!d(d)ƒ e!d(d*ƒ e!d+eMd* ƒ dddgZKe> LeK¡ZNe!eNƒ e!e?e eK¡k  "d
¡ #d¡ƒ e!d(d,ƒ e!d(d-ƒ e!d+eNd- ƒ eeMd*d.d eeNd-d.d e dd	d	g¡ZOe eOed	 d¡ZPe Qd/dgd.e>eBgd#¡ZRe Qd/dgd0eePgd#¡Ze S¡ ZTeT Ud%d%d¡ ejVedd…df edd…df d1d2d3 e Wd4¡ eT Ud%d%d%¡ ejVedd…df edd…d%f d1d2d3 e Wd5¡ eT Ud%d%d#¡ ejVedd…df edd…d%f d1d2d3 e Wd6¡ dS )7zexamples for multivariate normal and t distributions


Created on Fri Jun 03 16:00:26 2011

@author: josef


for comparison I used R mvtnorm version 0.9-96

é    N)Úassert_array_almost_equalg      ð?g      à?g      è?g      ø?g333333ã?g       @éÿÿÿÿg        i@B )Úsizeg      @gT=ô8gŸÔ?gPÚÕ?g„,i qá?gÃËG½ñÓ?gÅø˜½úûñ>gó!ê×â¬ð>g¶ÞkU?g½!±(H´?c                 C   s   g | ]}t  |¡‘qS © )Úmvn3Úcdf)Ú.0Úar   r   ú^/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/sandbox/distributions/examples/ex_mvelliptical.pyÚ
<listcomp>.   s     r   é   )ÚdecimalÚ ©.Né   c                 C   s   | t d k  d¡S )Nr   r   )ÚxliÚall©Úxr   r   r
   Ú<lambda>5   ó    r   i † c                 C   s   | d t k  d¡S )Nr   r   )Úxliarrr   r   r   r   r
   r   6   r   é   é   )Zrowvaré   T)ÚprependÚRg±(60_Ó?gQLÞ 3_Ó?Zdiffg²¥¢°êÈ?g$ÄK&]éÈ?é   gš™™™™™Ù?iÐ  Ú.g      Ð?)Úalphaz
1 versus 0z
2 versus 0z
2 versus 1)XÚ__doc__ZnumpyÚnpZnumpy.testingr   Zmatplotlib.pyplotZpyplotZpltZstatsmodels.apiÚapiÚsmZ%statsmodels.distributions.mixture_rvsÚdistributionsZmixture_rvsZmixZ+statsmodels.sandbox.distributions.mv_normalZsandboxZ	mv_normalZmvdÚarrayZcov3ÚmuZMVNormalr   Zrvsr   r   ZasarrayÚTr   Zr_cdfZr_cdf_errorsZn_cdfÚprintr   ZmeanZ	expect_mcÚ
normalizedZmvn3nZcovZcorrÚzerosÚ	normalizeZxnZxn_covZnormalized2Zmvn3n2ZstandardizeÚxsZxs_covZmarginalZmv2mZconditionalZmv2cZOLSZadd_constantÚmodZfitÚresÚmodelZpredictZMVTZmvt3ZxtZstandardizedZmvt3sZmvt3nÚsigmaZeyeZxtsZxts_covZxtnZxtn_covZcorrcoefZxtn_corrr	   r   Z	mvt3_cdf0Z	mvt3_cdf1Zmu2Zmvn32Zmv_mixture_rvsZmdÚfigureZfigZadd_subplotZplotÚtitler   r   r   r
   Ú<module>   sÔ   þý"







2











*
*
*