ó
áp7]c        	   @  s]
  d  Z  d d l m Z d d l Z d d l m Z d d l m Z d d l	 m
 Z
 m Z m Z m Z m Z m Z dn \ Z Z d	 d
 d g Z d d d g Z d d d g Z d „  Z d „  Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z e d  k rY
do \ Z Z d	 d
 d g Z d d d g Z d d d g Z e  e  d! ƒ e  d" e! e ƒ e j" e d# e d$ e ƒƒ e  d% e! e ƒ d& e j# e d# e d$ e ƒƒ e  d' e! e ƒ e j$ j" e d& ƒ ƒ e  d( e! e ƒ e j% e d# e d$ e ƒƒ e  d) e! e ƒ e j$ j% e d& ƒ ƒ e  d* e! e ƒ e j& e d# e d$ e ƒƒ e  d+ e! e ƒ e j$ j& e d& ƒ ƒ e  d, e j" e d# d- d$ d. ƒƒ e  d/ e j$ j" e d& d# d- d$ d. ƒƒ e  d0 ƒ e  d1 ƒ e  d2 e! e ƒ e j" e d# e d$ e ƒƒ e  d3 e! e ƒ d& e j# e d# e d$ e ƒƒ e  d4 e! e ƒ e j' j" e d5 ƒ ƒ e  d6 e! e ƒ e j( j" e ƒ ƒ e  d7 e! e ƒ e j% e d# e d$ e ƒƒ e  d8 e! e ƒ e j' j% e d5 ƒ ƒ e  d9 e! e ƒ e j( j% e ƒ ƒ e  d: e! e ƒ e j& e d# e d$ e ƒƒ e  d; e! e ƒ e j' j& e d5 ƒ ƒ e  d< e! e ƒ e j( j& e ƒ ƒ e  d= ƒ e  d> ƒ e  d? ƒ e  d@ ƒ e  dA e! e ƒ e j" e d# e d$ e ƒƒ e  dB e! e ƒ d& e j# e d# e d$ e ƒƒ e  dC e! e ƒ e j% e d# e d$ e ƒƒ e  dA e! e ƒ e j" e d# e d$ e ƒƒ e  dB e! e ƒ d& e j# e d# e d$ e ƒƒ e  dD e! e ƒ e j$ j# e d& ƒ ƒ e  dC e! e ƒ e j% e d# e d$ e ƒƒ e  dE e! e ƒ e j$ j% e d& ƒ ƒ e  dC e! e ƒ e j% e d# e d$ e ƒƒ e  dF ƒ e  dG ƒ e  dH e! e ƒ e j" e dI ƒ ƒ e  dJ e! e ƒ d& e j# e dI ƒ ƒ e  dK e! e ƒ e j) j" e d& dI ƒ ƒ e  dL e! e ƒ e j% e dI ƒ ƒ e  dM e! e ƒ e j) j% e d& dI ƒ ƒ e  dN e! e ƒ e j& e dI ƒ ƒ e  dO e! e ƒ e j) j& e d& dI ƒ ƒ e  dP e j" dQ dI ƒ ƒ e  dR e j) j" dQ d& dI ƒ ƒ e  dS e j dI dT dU ƒƒ e  dV e j) j d& dI dT dU ƒƒ d& Z* dI Z+ dW e+ dW e* dX e+ dY e j, dW e+ dZ e* e+ e* dX ƒ Z- d[ dX e+ d\ d] e- e- e+ dY Z. e  d^ e- e. ƒ e  e j/ ƒ  ƒ e  e j/ d_ dp ƒ ƒ e  da ƒ e  e j) j/ d& dI d_ d` ƒƒ e  e j/ dI d_ d` ƒƒ e j0 j1 db ƒ e j/ dI d_ dc ƒZ2 e j3 d` dI ƒ e2 d` j4 ƒ  e j3 d[ dI ƒ e2 d[ j4 ƒ  e j dI dT dU ƒe j5 e2 ƒ e j& e j6 d d& dd ƒ dI ƒ Z7 e j8 e2 de e7 ƒ\ Z9 Z: e  e9 e; e< e2 ƒ ƒ ƒ d d l= j> Z? e? j@ e2 de df dg dq di eA ƒ\ Z9 Z: ZB e: e: d& e: dh dX 7Z: e? jC e: d  e j% e: d  dI ƒ dj ƒ d d lD ZD eD jE eF dk dl dm g ƒ n  d S(r   sD   
Created on Sun May 09 22:23:22 2010
Author: josef-pktd
Licese: BSD
iÿÿÿÿ(   t   print_functionN(   t   assert_almost_equal(   t   stats(   t   ExpTransf_gent   LogTransf_gent   squarenormalgt
   absnormalgt   negsquarenormalgt   squaretgg        g      ð?gš™™™™™¹?g      à?gÍÌÌÌÌÌì?gffffffî?gš™™™™™ñ?gffffffî¿g      ð¿gš™™™™™ñ¿c          C  s   t  t j ƒ }  |  j d d ƒ } t j j d d ƒ } t | | d ƒ |  j d d ƒ } t j j d d ƒ } t | | d ƒ d  S(   Ni   i
   i   i   i   (   R   R   t   gammat   _cdft   loggammat   cdfR   (   t   loggammaexpgt   cdftrt   cdfst(    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   test_loggamma   s    c          C  sQ   t  t j ƒ }  t j j d d ƒ } |  j d d d d ƒ } t | | d ƒ d  S(   Ni   i    g      ð?i   (   R   R   t   laplacet
   loglaplaceR   R
   R   (   t   loglaplaceexpgR   R   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   test_loglaplace"   s    t   CheckDistEquivalencec           B  s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C  s‚   |  j  j t |  j |  j Ž } d |  j  j t |  j |  j Ž } |  j j t |  j |  j Ž } t	 | | d ƒ t	 | | d ƒ d  S(   Ni   i   (
   t   distR   t   xxt   trargst   trkwdst   sft	   statsdistt   stargst   stkwdsR   (   t   selfR   t   sfctrR   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   test_cdf2   s
    "c         C  sP   |  j  j t |  j |  j Ž } |  j j t |  j |  j Ž } t | | d ƒ d  S(   Ni   (	   R   t   pdfR   R   R   R   R   R   R   (   R   t   pdftrt   pdfst(    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   test_pdf:   s    c         C  sP   |  j  j t |  j |  j Ž } |  j j t |  j |  j Ž } t | | d ƒ d  S(   Ni   (	   R   t   ppft   ppfqR   R   R   R   R   R   (   R   t   ppftrt   ppfst(    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   test_ppf@   s    c         C  sœ   |  j  j |  j i d d 6Ž  } | j d ƒ } |  j  j |  j i d d 6Ž  \ } } t j t j | ƒ d k  ƒ r„ t | | d ƒ n t | | d d ƒ d  S(   Nid   t   sizei    t   mvt   momentsi   g      ð?(	   R   t   rvsR   t   meanR   t   npt   anyt   absR   (   R   R-   t   mean_st   mean_dt   var_d(    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   test_rvsF   s    %c         C  sú   i d d 6} | j  |  j ƒ i d d 6} | j  |  j ƒ t j |  j j |  j | Ž  ƒ } t j |  j j |  j | Ž  ƒ } t	 | d  | d  d ƒ t j
 t j | d ƒ d k  ƒ rÑ t	 | d | d d ƒ n% t	 | d | d t j d ƒ d ƒ d  S(   Nt   mvskR,   i   i   i   i    (   t   updateR   R/   t   arrayR   R   R   R   R   R   R0   R1   t   ones(   R   R   R   t   mvsktrt   mvskst(    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt
   test_statsO   s    !!"(   t   __name__t
   __module__R    R$   R)   R5   R<   (    (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyR   .   s
   					t   TestLoggamma_1c           B  s   e  Z d  „  Z RS(   c         C  sF   t  t j ƒ |  _ d |  _ i  |  _ t j |  _ d |  _ i  |  _	 d  S(   Ni
   (   i
   (   i
   (
   R   R   R	   R   R   R   R   R   R   R   (   R   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   __init__a   s    			(   R=   R>   R@   (    (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyR?   _   s   t   TestSquaredNormChi2_1c           B  s   e  Z d  „  Z RS(   c         C  s=   t  |  _ d |  _ i  |  _ t j |  _ d |  _ i  |  _ d  S(   Ni   (    (   i   (	   R   R   R   R   R   t   chi2R   R   R   (   R   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyR@   l   s    				(   R=   R>   R@   (    (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyRA   j   s   t   TestSquaredNormChi2_2c           B  s   e  Z d  „  Z RS(   c         C  s[   t  |  _ d |  _ t d d d d ƒ |  _ t j |  _ d |  _ t d d d d ƒ |  _	 d  S(   Nt   lociöÿÿÿt   scalei   i   (    (   i   (
   R   R   R   t   dictR   R   RB   R   R   R   (   R   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyR@   v   s    			(   R=   R>   R@   (    (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyRC   t   s   t   TestAbsNormHalfNormc           B  s   e  Z d  „  Z RS(   c         C  s=   t  |  _ d |  _ i  |  _ t j |  _ d |  _ i  |  _ d  S(   N(    (    (	   R   R   R   R   R   t   halfnormR   R   R   (   R   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyR@   €   s    				(   R=   R>   R@   (    (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyRG   ~   s   t   TestSquaredTFc           B  s   e  Z d  „  Z RS(   c         C  s=   t  |  _ d |  _ i  |  _ t j |  _ d |  _ i  |  _ d  S(   Ni
   i   (   i
   (   i   i
   (	   R   R   R   R   R   t   fR   R   R   (   R   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyR@   Š   s    				(   R=   R>   R@   (    (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyRI   ˆ   s   c          C  ss   t  j t d t d t ƒ}  d t  j t d t d t ƒ} t j j t d ƒ } t | |  d ƒ t | | d ƒ d  S(   NRD   RE   i   i   (	   R   R   R   t   lt   sR   R   RB   R   (   R   R   R   (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   test_squared_normal_chi2“   s
    t   __main__sN   
square of standard normal random variable is chisquare with dof=1 distributeds&   sqnorm  cdf for (%3.2f, %3.2f, %3.2f):RD   RE   s&   sqnorm 1-sf for (%3.2f, %3.2f, %3.2f):i   s&   chi2    cdf for (%3.2f, %3.2f, %3.2f):s&   sqnorm  pdf for (%3.2f, %3.2f, %3.2f):s&   chi2    pdf for (%3.2f, %3.2f, %3.2f):s&   sqnorm  ppf for (%3.2f, %3.2f, %3.2f):s&   chi2    ppf for (%3.2f, %3.2f, %3.2f):s   sqnorm  cdf with loc scaleiöÿÿÿi   s   chi2    cdf with loc scalesF   
absolute value of standard normal random variable is foldnorm(0) and s   halfnorm distributed:s'   absnorm  cdf for (%3.2f, %3.2f, %3.2f):s'   absnorm 1-sf for (%3.2f, %3.2f, %3.2f):s'   foldn    cdf for (%3.2f, %3.2f, %3.2f):gñhãˆµøä>s'   halfn    cdf for (%3.2f, %3.2f, %3.2f):s'   absnorm  pdf for (%3.2f, %3.2f, %3.2f):s'   foldn    pdf for (%3.2f, %3.2f, %3.2f):s'   halfn    pdf for (%3.2f, %3.2f, %3.2f):s'   absnorm  ppf for (%3.2f, %3.2f, %3.2f):s'   foldn    ppf for (%3.2f, %3.2f, %3.2f):s'   halfn    ppf for (%3.2f, %3.2f, %3.2f):s6   
negative square of standard normal random variable iss"   1-chisquare with dof=1 distributeds   this is mainly for testings<   the following should be outside of the support - returns nans'   nsqnorm  cdf for (%3.2f, %3.2f, %3.2f):s'   nsqnorm 1-sf for (%3.2f, %3.2f, %3.2f):s'   nsqnorm  pdf for (%3.2f, %3.2f, %3.2f):s'   chi2      sf for (%3.2f, %3.2f, %3.2f):s'   chi2     pdf for (%3.2f, %3.2f, %3.2f):s9   
square of a t distributed random variable with dof=10 iss#           F with dof=1,10 distributeds#   sqt  cdf for (%3.2f, %3.2f, %3.2f):i
   s#   sqt 1-sf for (%3.2f, %3.2f, %3.2f):s#   f    cdf for (%3.2f, %3.2f, %3.2f):s#   sqt  pdf for (%3.2f, %3.2f, %3.2f):s#   f    pdf for (%3.2f, %3.2f, %3.2f):s#   sqt  ppf for (%3.2f, %3.2f, %3.2f):s#   f    ppf for (%3.2f, %3.2f, %3.2f):s   sqt  cdf for 100:id   s   f    cdf for 100:s   sqt  stats:R,   R6   s   f    stats:i   g       @g      @g      @i   i   i   s&   corrected skew, kurtosis of f(1,10) isR*   i   s   sqt random variablesiñ¼«i † i   t   binsi2   t   rangei    t   normedt   rs   -vvss   -xs   --pdb(   g        g      ð?(   g        g      ð?(   i   i   (   i    i   (G   t   __doc__t
   __future__R    t   numpyR/   t   numpy.testingR   t   scipyR   t(   statsmodels.sandbox.distributions.extrasR   R   R   R   R   R   RK   RL   R&   R   t   nxxR   R   t   objectR   R?   RA   RC   RG   RI   RM   R=   t   printt   tupleR   R   RB   R!   R%   t   foldnormRH   RJ   t   v1t   v2t   sqrtt   g1t   g2R-   t   randomt   seedt   rvstsqt   momentR.   t   describet   linspacet   dect	   histogramt   freqt   edgest   floatt   lent   matplotlib.pyplott   pyplott   pltt   histt   Truet   _t   plott   pytestt   maint   __file__(    (    (    sT   lib/python2.7/site-packages/statsmodels/sandbox/distributions/examples/ex_transf2.pyt   <module>   sÆ   .		1


	
,0&,&,&"(

,0&#,&#,&#



,0,,0&,&,

#')#)#)"C&
!*'