
    M/Ph                     ^    d Z ddlZddlmZmZ ddlmZ ddlm	c m
Z d Zd Zd Zd Zd	 ZdS )
zM
Created on Fri Feb 12 10:42:00 2021

Author: Josef Perktold
License: BSD-3

    N)assert_allcloseassert_equal)statsc                     d\  } }t          j        |           | dz
  z  }t          j        |          |dz
  z  }t          j        dd          }t          j        dd          }|                    |          }|                    |          }t          j        |d          }t          j        |d          }	|d d d f         |z  }
|d d d f         |	z  }t          j        |
          }t          j        |          }t          ||
d	
           t          ||d	
           d}t           j
                            d           t          j        |                    |          |                    |          g          }t          j        |||g          }t          |dd dd f         |d         t          |          z  d
           d S )N)            r      r   r   )prepend-q=atoli  i
 )sizeg{Gz?)nparanger   betacdfdiffdtcdf2prob_gridprob2cdf_gridr   randomseedcolumn_stackrvshistogramddlen)k1k2xg1xg2distr1distr2cdf1cdf2prob1prob2cd2dpd2dprobscdfsnobsr   hists                    j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/distributions/tests/test_tools.py	test_gridr0      s   FB
)B--26
"C
)B--26
"C Z1FZ1F::c??D::c??DGD!$$$EGD!$$$E4=4DD>E!DT""ED!!DD$U++++E4e,,,, DINN6
/6::4:00&**$*2G2GH
I
IC>#Sz**DE!""abb&M47SXX#5DAAAAAA    c                     t          j        dd          } t          j        d          }| d d d f         |z  }t          j        g dg dg          }t          j        || |g          }t          ||d           t          j        || |gd	          }t          ||d           t          j        || |gd
	          }t          ||d           t          j        || |                                 z  ||                                z  g          }t          |||                                 z  |                                z  d           t          j        || |                                 z  ||                                z  gd
	          }t          |||                                 z  |                                z  d           d S )Nr	   r   )      ?g      @      @)g      ?r4   g      @)coordsgvIh%<=)rtolslicing)r5   _methodconvolve)r   r   arrayr   average_gridr   max)x1x2yres1res0s        r/   test_average_gridrB   -   s   	1aB	1B
111d7bA8'''''') * *D ?1b"X...DD$U++++?1b"XyAAADD$U++++?1b"XzBBBDD$U++++?1b26688mR"&&((]%CDDDDD$/BFFHH45AAAA?1b26688mR"&&((]%C#-/ / /DD$/BFFHH45AAAAAAr1   c                     ddgt          j        g d          t          j        g d          gt          j        g dg dg          d} t          j        ddg          }t	          |j        | d                    |j        sJ | d	                     t          |j        | d
         j	        d           t          |j
        | d
         j	        ddgz  d           t          j        ddgd          }t          |j
                                        dd           t          |j
                                        dd           t          j        |j                  }t          |                                dd           t          |                                dd           t          j        dgd          }dgt          j        g d          gt          j        g dg          d} t	          |j        | d                    |j        sJ | d	                     t          |j        | d
         j	        d           t          |j
        | d	         d         d d d f         d           t          j        g dd          }g dt          j        g d          t          j        g d          t          j        ddg          gt          j        g dg dg dg          d} t	          |j        | d                    |j        sJ | d	                     t          |j        | d
         j	        d           t          |j
        | d
         j	        g dz  d           d S )Nr   r   )              ?      ?)rD         ?rE   r3   rF   )rD   rD   rD   rD   rD   rF   rF   rF   rF   rF          @rH   rH   rH   rH   )rD   rF   rH         @      @rD   rF   rH   rI   rJ   rD   rF   rH   rI   rJ   )k_grid
x_marginal
idx_flat.TrK   rL   rM   r   r   r
   r   MbP?)eps+?)rN   rG   rE   r3   rP   )rD   rF   rH   rI   rJ   r   )r   r   r
   rD   rF   )rD   rD   rD   rD   rD   rD   rF   rF   rF   rF   rF   rF   rH   rH   rH   rH   rH   rH   )rD   rD   rF   rF   rH   rH   rD   rD   rF   rF   rH   rH   rD   rD   rF   rF   rH   rH   )rD   rF   rD   rF   rD   rF   rD   rF   rD   rF   rD   rF   rD   rF   rD   rF   rD   rF   )r
   r
   r	   )r   r:   r   _Gridr   rK   rL   r   idx_flatTx_flatminr<   concatenate)resggxmfs      r/   test_grid_classrZ   C   s   V(===11(#<#<#<==?KKKKKK#M N N C 
1a&		BCM***=++#l++++BK\!2!45AAAABIs<02aV;%HHHH	1a&e	$	$	$BBIMMOOU7777BIMMOOU7777
.
'
'CCGGIIu51111CGGIIu51111 
1#5	!	!	!BS(#B#B#BCCD#7#7#7"899 C CM***=++#l++++BK\!2!45AAAABIs<03AAAtG<5IIII 
)))	$	$	$BYY(===11(===11(B8,,.       #  	 C CM***=++#l++++BK\!2!45AAAABIs<02YYY>UKKKKKKr1   c                  p   d} t          j        |           | dz
  z  }t          j        d| z            d| z  dz
  z  }t          j        ||          }t	          ||d           t          j        ||d          }t	          ||d           t          j        ||d          }t	          ||d           d S )	Nr   r	   r
   r   r   r   )methodbpoly)r   r   r   _eval_bernstein_1dr   )kr!   r"   res_bps       r/   test_bernstein_1dra   y   s    	A
)A,,!a%
 C
)AE

a!eai
(C"3,,FFCe,,,,"3F;;;FFCe,,,,"3G<<<FFCe,,,,,,r1   c            	         d} t          j        |           | dz
  z  }|d d d f         |z  }t          j        t          j        fD ]x}d| z  }t          j        t          j        t          j        ||z            ||f                                        t                    }||	                    d          z  } |||          }t          |t          j        |d          d           t          j        t          j        |          |dz
  z  t          j        |          f          } |||          }t          ||d d df         d           t          j        t          j        |          t          j        |          |dz
  z  f          } |||          }t          ||d d df         d           zd S )Nr   r	   r
   r   )axisr   r   )r   r   r   _eval_bernstein_2d_eval_bernstein_ddr   unravel_indexastypefloatr<   r   prodones)r_   r!   r)   evalbpk_xx2dr`   s          r/   test_bernstein_2drn      s   	A
)A,,!a%
 Cqqq$w<#D("*?@ 7 7!eo 39!5!5SzBB &-- 	 	swwqzzT""! 4 4 45AAAA ory~~q9273<<HIIT""AAAqD	6666 orws||RYs^^sQw-GHIIT""AAAqD	66666'7 7r1   )__doc__numpyr   numpy.testingr   r   scipyr   statsmodels.distributions.toolsdistributionstoolsr   r0   rB   rZ   ra   rn    r1   r/   <module>rw      s         7 7 7 7 7 7 7 7       , , , , , , , , ,B B B<B B B,3L 3L 3Ll- - -7 7 7 7 7r1   