
    M/Ph`                        d dl mZ d dlZd dlmZ ddlmZ  G d d          Ze	dk    r7d d	lm
Z
 d dlmZ d dlmc mZ d d
lmZ  e
j        d            e
j        dd          Z ej        e          Z ej        ddd          Z ej        e          Z eee          Z ee                    d                      ed            ej         ddd          Z! ej"                    Z#e#$                    d          Z%e%&                    e! ee!          d           e%'                    dd           e%'                    d d            eej(        d         ej(        d                   Z ej)        e          Zee*                    d           z
  e+                    d           z  Zej,        d          Z-ej.        Z/ ej0        d          Z eee          Z ee                     ej1        ddg                                ej"                      ej&        eddd f         edddf         d           dZ2 ej        e3                    d           d          e4                    d           d          e2          Z5 ej        e3                    d           d         e4                    d           d         e2          Z6 ej7        e5e6          \  Z8Z9 ej)        d  e:e8;                                e9;                                          D                       Z< ej=        e5e6e<>                    e2e2                      ej?                     dS dS )    )lzipN)
array_like   kernelsc                   0    e Zd ZdZd	dZd Zd
dZddZdS )KDEz
    Kernel Density Estimator

    Parameters
    ----------
    x : array_like
        N-dimensional array from which the density is to be estimated
    kernel : Kernel Class
        Should be a class from *
    Nc                 .   t          |ddd          }|j        dk    r|d d d f         }|j        \  }}|t          j                    }|dk    r0t          |t          j                  rt          j        ||          }|| _        || _	        || _
        d S )Nx   T)maxdim
contiguousr   r   )r   ndimshaper   Gaussian
isinstanceCustomKernelNdKernelkernelnr   )selfr   r   nobsn_seriess        f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/sandbox/nonparametric/kde2.py__init__zKDE.__init__   s    q#aD9996Q;;!!!D&	Ah>%''Fa<<67#799 F )(fEEE    c                 B    | j                             | j        |          S N)r   densityr   )r   r   s     r   r   zKDE.density(   s    {""461---r   scottc                 D     t          j         fd|D                       S )Nc                 :    g | ]}                     |          S  )r   ).0xxr   s     r   
<listcomp>z KDE.__call__.<locals>.<listcomp>,   s%    666bb))666r   )nparray)r   r   hs   `  r   __call__zKDE.__call__+   s(    x6666A666777r   	silvermanc                 \    | j         j        t          j        fd|D                       S )Nc                 &    g | ]} |          S r#   r#   )r$   r%   r   s     r   r&   z KDE.evaluate.<locals>.<listcomp>0   s!    111111r   )r   r   r'   r(   )r   r   r)   r   s      @r   evaluatezKDE.evaluate.   s2    +%x1111q111222r   r   )r    )r+   )__name__
__module____qualname____doc__r   r   r*   r.   r#   r   r   r	   r	   
   si        	 	   $. . .8 8 8 83 3 3 3 3 3r   r	   __main__)random)kdetest   g@2   )sizei
   i   )r)   gl\??gA&9?g?o   -g?	eruptionswaitingr   oc                 p    g | ]3\  }}t                               t          j        ||g                    4S r#   )kder   r'   matrix)r$   xiyis      r   r&   r&   d   sB     , , ,&"bbi"b&;&;== , , ,r   )@statsmodels.compat.pythonr   numpyr'   statsmodels.tools.validationr    r   r	   r/   r4   matplotlib.pyplotpyplotplt$statsmodels.nonparametric.bandwidthsnonparametric
bandwidthsbw*statsmodels.sandbox.nonparametric.testdatar5   seed
standard_tr   bw_silvermanr)   linspacesupportr   kernr@   printr   arangeXsfigurefigadd_subplotaxplotset_ylimfaithfulDatar(   meanstdr   r   HpiHr   rA   n_gridminmaxxspyspmeshgridxryrzipravelkde_valscontourreshapeshowr#   r   r   <module>rr      s   * * * * * *     3 3 3 3 3 3      &3 &3 &3 &3 &3 &3 &3 &3R z######555555555BBBBBB FK#b)))AAbk#b%%G 7"""D
#q$--C	E#++h

   	E)	3r#		B
#*,,C			BGGBBKKRKK# 	W!+.0DY0OPPAA	
QVVAYYa A71:DA7Q  D
#q$..C	E#++yry1Q&))
*
*+++CJLLLCHQqqqsVQqqqsVS!!! F
"+aeeAhhqk15588A;
7
7C
"+aeeAhhqk15588A;
7
7C R[c""FBrx , ,s288::rxxzz**, , , - -HCKS(**66::;;;CHJJJJJk r   