
    'YHh                         d Z ddlZddlmZmZ ddlmZ ddlm	Z	m
Z
 ddlmZ ddlmc mZ ddlmZmZmZ d Zd	 Z G d
 d      Z G d de      Zy)zM
Created on Wed Feb 17 23:44:18 2021

Author: Josef Perktold
License: BSD-3

    N)assert_allcloseassert_array_less)stats)CopulaDistributionArchimedeanCopula)
transforms)BernsteinDistributionBernsteinDistributionBVBernsteinDistributionUVc                     t        j                  dg      } | j                  dk(  }| j                  |    j                         dz  | j                  |<   d| j                  j                         z
  | j                  | j                  dk(  <   t	        j
                  dd      }|j                  t        j                  | j                              }t        |      }|j                  | j                        }t        ||d       t        t        j                  t        j                  ||z
              d	       |j                  t        j                  | j                              }|j                  | j                        }t        ||d
       t        t        j                  t        j                  ||z
              d       t        j                  | j                        }t        |      }	|	j                  |      }
t        |
|d       |	j                  |      }t        ||d       |	j                  |d      }
t        |
|d       |	j                  |d      }t        ||d       |	j                  |d      }
t        |
|d       |	j                  |d      }t        ||d       |j!                  d      }t#        |      dk(  sJ y )Ni  r               {Gzt?atolMbP?g{Gz?{Gz?vIh%<=beta)methodbpolyd   )dt_Gridx_flatminr   r   cdfnpsqueezer	   r   r   medianabspdfr   rvslen)gridlocdistrcdf_gbpdcdf_bppdfvpdf_bpxfbpd1cdf_bp1pdf_bp1r%   s                g/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/distributions/tests/test_bernstein.pytest_bernstein_distribution_1dr4      s    88SE?D
++
C{{C4(,,.2DKK$%(9$9DKKq !JJq!EIIbjj-.E

&CWWT[[!FFE.biiv~ 67?99RZZ,-DWWT[[!FFDt,biiv} 56= 
DKK	 B"5)DhhrlGGV%0hhrlGGV%0hhr&h)GGV%0hhr&h)GGV%0hhr'h*GGV%0hhr'h*GGV%0 ''#,Cs8s??    c                     t        j                  ddg      } t        j                  }d}t	         |             }t
        j                  }t
        j                  }t        |||g|      }|j                  | j                  |      }|j                  | j                        }t        |      }	|	j                  | j                        }
t        |
|d       t        t        j                   t        j"                  |
|z
              d       t        j                  ddgd      }|j%                  |j                        }|	j%                  |j                        }t        ||d	d
       t        t        j                   t        j"                  ||z
              d       t        j&                  t        j(                  ddd      t        j*                  d      f      }|	j                  |      }t        ||d d df   d       t        j&                  t        j*                  d      t        j(                  ddd      f      }|	j                  |      }t        ||d d df   d       t        j(                  ddd      }|d d d f   }|	j-                  d      }|j                  |      }t        ||d       |j%                  |      }t        |t        j*                  t/        |            d       |	j-                  d      }|j                  |      }t        ||d       |j%                  |      }t        |t        j*                  t/        |            d       y )N3   r   cop_argsr   r   r   g:0yE>epsr   g{Gz?r   rtol皙?r   r   r   r   )r   r   traTransfFrankr   r   uniformr   r   r   reshapek_gridr	   r   r   r    r"   r#   r$   column_stacklinspaceonesget_marginalr&   )r'   cop_trargscadistr1distr2cadcdfvr*   r+   r,   grid_epsr-   r.   xxcdf_m1cdf_m2xx_bpd_m1pdf_m1bpd_mcdf_mpdf_ms                          r3   test_bernstein_distribution_2drZ   @   sx   88RHD__FD	68	$B]]F]]F
R&&!1D
AC774;;%DLL%E

&CWWT[[!FFDu-biiv} 56>xxRd+H778??#DWWX__%FFDt$7biiv} 56= 
"++aA.
;	<BWWR[FFBq!tH51	"''!*bkk!Q&:;	<BWWR[FFBq!tH51
++aA
C	QWBa FZZ^FFCe,ZZ^FFBGGCG,59QEIIbMEE3U+IIbMEE2773r7+%8r5   c                   (    e Zd Zed        Zd Zd Zy)TestBernsteinBeta2dc                    t        j                  ddg      }t        j                  }d}t	         |             }t        j                  dd      }t        j                  dd      }t        |||g|      }|j                  |j                  |      }|j                  |j                        }	|| _        || _        || _        t        |	      | _        y N[   e   r8      r   r9   )r   r   r@   rA   r   r   r   r   r   r   rC   rD   r'   rO   r)   r
   r+   
clsr'   rI   rJ   rK   rL   rM   rN   rO   r*   s
             r3   setup_classzTestBernsteinBeta2d.setup_classr   s    xxS	"vx(Aq!Aq! ff%5Ewwt{{D)T[[)	)%0r5   c                 r   | j                   }| j                  }| j                  }| j                  }|j                  j
                  d   dk  r^|j                  |j                        }t        ||d       t        t        j                  t        j                  ||z
              d       t        j                  ddgd      }|j                  |j                        }|j                  |j                        }t        ||dd       t        t        j                  t        j                  ||z
              d       |j                  |j                        }|j                  |j                        }t        ||d	d
       t        t        j                  t        j                  ||z
              d       y )Nr   i)
  r?   r   r   r7   r;   r=   gQ?g?)r+   r'   rO   r)   r   shaper   r   r   r    r"   r#   r   r   r$   )	selfr+   r'   rO   r)   r,   rP   r-   r.   s	            r3   
test_basiczTestBernsteinBeta2d.test_basic   s3   hhyyyy

;;Q%'WWT[[)FFDt4biiv}(=>E88RH$/yy))4d;"))BFF6D=$9:DAyy))4c:"))BFF6D=$9:DAr5   c                 Z    | j                   j                  d      }t        |      dk(  sJ y )Nr   )r+   r%   r&   )rg   r%   s     r3   test_rvszTestBernsteinBeta2d.test_rvs   s$    hhll33x3r5   N)__name__
__module____qualname__classmethodrd   rh   rj    r5   r3   r\   r\   p   s    1 1"B,r5   r\   c                       e Zd Zed        Zy)TestBernsteinBeta2ddc                    t        j                  ddg      }t        j                  }d}t	         |             }t        j                  dd      }t        j                  dd      }t        |||g|      }|j                  |j                  |      }|j                  |j                        }	|| _        || _        || _        t        |	      | _        y r^   )r   r   r@   rA   r   r   r   r   r   r   rC   rD   r'   rO   r)   r	   r+   rb   s
             r3   rd   z TestBernsteinBeta2dd.setup_class   s    xxS	"vx(Aq!Aq! ff%5Ewwt{{D)T[[)	'.r5   N)rk   rl   rm   rn   rd   ro   r5   r3   rq   rq      s    / /r5   rq   )__doc__numpyr    numpy.testingr   r   scipyr   $statsmodels.distributions.copula.apir   r   r   r@   statsmodels.distributions.toolsdistributionstoolsr   #statsmodels.distributions.bernsteinr	   r
   r   r4   rZ   r\   rq   ro   r5   r3   <module>r|      sS     < / B , ,M M(V-9`- -`/. /r5   