
    VfdJ                         d Z ddlZddlmZmZ ddlmZ ddlZddl	m
c mZ g dZddgZ G d d	          Z G d
 de          Z G d de          ZdS )zM
Created on Mon Mar  8 16:18:21 2021

Author: Josef Perktold
License: BSD-3

    N)assert_allcloseassert_array_less)stats))gamma皙?)gamma2r   )invgammag{Gz?)invgauss{Gz?)recipinvgaussr   )bsr   )lognormr   )weibullr   )beta{Gzt?)beta2r   c                        e Zd Zd Zd Zd ZdS )CheckKernelsc           	         |\  }}| j         }| j        }g }g }|D ]V}|                    t          j        ||||                     |                    t          j        ||||                     Wt          j        |          }t          j        |          }|| j        z
  dz  	                                }	t          |	| j                   || j        z
  dz  	                                }	t          |	| j                   d S )N   )rvsx_plotappendkernpdf_kernel_asymcdf_kernel_asymnpasarraypdf_dgpmeanr   amse_pdfcdf_dgpamse_cdf)
selfcasenamebwr   r   kdekcexiamses
             Olib/python3.11/site-packages/statsmodels/nonparametric/tests/test_asymmetric.pytest_kernelszCheckKernels.test_kernels$   s    bh 	@ 	@BJJt+BR>>???JJt+BR>>????joojoo t|#a'--//$...t|#a'--//$.....    c           	         |\  }}| j         }| j        }g }g }|D ]V}|                    t          j        ||||                     |                    t          j        ||||                     Wt          j        |          }t          j        |          }t          j        ||||          }	t          j        ||||          }
t          |	|d           t          |
|d           d S )N-q=rtol)	r   r   r   r   r   r   r   r   r   )r$   r%   r&   r'   r   r   r(   r)   r*   kde1kce1s              r,   test_kernels_vectorizedz$CheckKernels.test_kernels_vectorized9   s    bh 	@ 	@BJJt+BR>>???JJt+BR>>????joojoo#FCT::#FCT::c....c......r.   c                    |\  }}| j         }| j        }t          j        ||||          }t          j        ||||          }t          |          }t          j        |          |z  }	t          j        |||||	          }
t          j        |||||	          }t          |
|d           t          ||d           t          |          }t          j        |          |z  dz  }	t          j        |||||	          }
t          j        |||||	          }t          |
|dz  d           t          ||dz  d           d S )N)weightsr0   r1   r   )	r   r   r   r   r   lenr   onesr   )r$   r%   r&   r'   r   xkde2kce2nwr3   r4   s               r,   test_kernels_weightsz!CheckKernels.test_kernels_weightsN   sR   bhK#AsB55#AsB55HHGAJJN#AsBa@@@#AsBa@@@d////d//// HHGAJJNQ#AsBa@@@#AsBa@@@dQhU3333dQhU333333r.   N)__name__
__module____qualname__r-   r5   r?    r.   r,   r   r   "   sA        / / /*/ / /*4 4 4 4 4r.   r   c                       e Zd Zed             Zej                            de           fd            Z	ej                            de           fd            Z
ej                            de           fd            Z xZS )TestKernelsRplusc                 z   d}d}t           j                            d           d}t          j        ||          }|                    |          }t          j        ddd	          d
z   }|| _        || _        |                    |          | _	        |
                    |          | _        d| _        d| _        d S )Nr   g      ?     )scalesizeg      ?   3   gvIh%<=g-C6?gMb@?)r   randomseedr   r   r   linspacer   pdfr   cdfr"   r!   r#   )clsbrI   nobsdistr0r   r   s          r,   setup_classzTestKernelsRplus.setup_classj   s    
	qQe,,,jjdj##S"b))E1
jj((jj((r.   r%   c                 X    t          t          |                               |           d S N)superrE   r-   r$   r%   	__class__s     r,   r-   zTestKernelsRplus.test_kernels{   s(    %%22488888r.   c                 X    t          t          |                               |           d S rY   )rZ   rE   r5   r[   s     r,   r5   z(TestKernelsRplus.test_kernels_vectorized   s(    %%==dCCCCCr.   c                 X    t          t          |                               |           d S rY   )rZ   rE   r?   r[   s     r,   r?   z%TestKernelsRplus.test_kernels_weights   s(    %%::4@@@@@r.   )r@   rA   rB   classmethodrW   pytestmarkparametrizekernels_rplusr-   r5   r?   __classcell__r\   s   @r,   rE   rE   h   s          [  [V]339 9 9 9 439 [V]33D D D D 43D [V]33A A A A 43A A A A Ar.   rE   c                       e Zd Zed             Zej                            de           fd            Z	ej                            de           fd            Z
ej                            de           fd            Z xZS )TestKernelsUnitc                 j   t           j                            d           d}t          j        dd          }|                    |          }t          j        ddd          }|| _        || _        |                    |          | _	        |
                    |          | _        d	| _        d
| _        d S )Ni@ rH   r      rJ   g|=rG   rM   r   r   )r   rN   rO   r   r   r   rP   r   rQ   r   rR   r"   r!   r#   )rS   rU   rV   r   r   s        r,   rW   zTestKernelsUnit.setup_class   s    
	vAq!!jjdj##UAr**
jj((jj((r.   r%   c                 X    t          t          |                               |           d S rY   )rZ   rg   r-   r[   s     r,   r-   zTestKernelsUnit.test_kernels   s'    ot$$11$77777r.   c                 X    t          t          |                               |           d S rY   )rZ   rg   r5   r[   s     r,   r5   z'TestKernelsUnit.test_kernels_vectorized   s'    ot$$<<TBBBBBr.   c                 X    t          t          |                               |           d S rY   )rZ   rg   r?   r[   s     r,   r?   z$TestKernelsUnit.test_kernels_weights   s'    ot$$99$?????r.   )r@   rA   rB   r_   rW   r`   ra   rb   kernels_unitr-   r5   r?   rd   re   s   @r,   rg   rg      s          [ [V\228 8 8 8 328 [V\22C C C C 32C [V\22@ @ @ @ 32@ @ @ @ @r.   rg   )__doc__numpyr   numpy.testingr   r   scipyr   r`   ,statsmodels.nonparametric.kernels_asymmetricnonparametrickernels_asymmetricr   rc   rm   r   rE   rg   rC   r.   r,   <module>ru      s-        < < < < < < < <        ; ; ; ; ; ; ; ; ;     
C4 C4 C4 C4 C4 C4 C4 C4LA A A A A| A A A@@ @ @ @ @l @ @ @ @ @r.   