
    "g                     \    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y)
zM
Created on Fri Feb 12 10:42:00 2021

Author: Josef Perktold
License: BSD-3

    N)assert_allcloseassert_equal)statsc                  Z   d\  } }t        j                  |       | dz
  z  }t        j                  |      |dz
  z  }t        j                  dd      }t        j                  dd      }|j	                  |      }|j	                  |      }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                  j                  d       t        j                  |j                  |      |j                  |      g      }t        j                  |||g      }t        |dd dd f   |d   t        |      z  d
       y )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                    g/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/distributions/tests/test_tools.py	test_gridr0      sh   FB
))B-26
"C
))B-26
"C ZZ1FZZ1F::c?D::c?DGGD!$EGGD!$E4=4DD>E!DT"ED!DD$U+E4e, DIINN6
//6::4:0&**$*2GH
IC>>#Sz*DE!"ab&M47SX#5DA    c                  D   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                  || | j                         z  ||j                         z  g      }t        ||| j                         z  |j                         z  d       t        j                  || | j                         z  ||j                         z  gd
	      }t        ||| j                         z  |j                         z  d       y )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   -   sH   	1aB	1B
1d7bA88'') *D ??1b"X.DD$U+??1b"XyADD$U+??1b"XzBDD$U+??1b2668mR"&&(]%CDDD$/BFFH45A??1b2668mR"&&(]%C#-/DD$/BFFH45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                  j                         dd       t        |j                  j                         dd       t        j                  |j                        }t        |j                         dd       t        |j                         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       y )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((#<=?KK#M NC 
1a&	BCM*==+#l++=BKK\!2!4!45ABIIs<022aV;%H	1a&e	$BBIIMMOU7BIIMMOU7
..
'CCGGIu51CGGIu51 
1#5	!BS((#BCD#7"89C CM*==+#l++=BKK\!2!4!45ABIIs<03AtG<5I 
)	$B((=1((=1((B8,. # 	C CM*==+#l++=BKK\!2!4!45ABIIs<022Y>UKr1   c                  `   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       y )	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            	      Z   d} t        j                  |       | dz
  z  }|d d d f   |z  }t        j                  t        j                  fD ]^  }d| z  }t        j
                  t        j                  t        j                  ||z        ||f            j                  t              }||j                  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       a y )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      sf   	A
))A,!a%
 Cq$w<#D(("*?*?@ 7!eoo  39!5SzB&- 	 	swwqzT"! 45A ooryy~q92773<HIT"AqD	6 oorwws|RYYs^sQw-GHIT"AqD	6'7r1   )__doc__numpyr   numpy.testingr   r   scipyr   statsmodels.distributions.toolsdistributionstoolsr   r0   rB   rZ   ra   rn    r1   r/   <module>rw      s8     7  , ,B<B,3Ll-7r1   