U
    Ãmœd?  ã                   @   s&  d Z ddlZddlZddlmZmZ ddlZddlm	Z	 dZ
ej ej e¡¡ZdZe ej ee¡¡Zed Zed ZedkZe ee ¡Zee Ze e ¡ e ¡ d¡ZG d	d
„ d
ƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZ G dd„ deƒZ!G dd„ deƒZ"dd„ Z#dS )z>

Created on Sat Dec 14 17:23:25 2013

Author: Josef Perktold
é    N)Úassert_allcloseÚassert_array_less)Úkernelsz%results/results_kernel_regression.csvZaccidentZserviceé(   c                   @   s<   e Zd ZdZdZdZdZdd„ Zej	j
ej	jdd„ ƒƒZd	S )
ÚCheckKernelMixingffffffæ?gš™™™™™¹?çš™™™™™É?ç333333Ó?c                    sx  | j }| j‰ t ‡ fdd„tD ƒ¡}|| _td|  }td|  }d}|d d …df |d d …df  | }|d d …df }t||dd	d
� t||ddd
� || _|| _	t 
|¡}t|| || | jdd
� t || ¡dd|  k}	t| dƒsôd}
n| j}
t|	 ¡ |
d ƒ |||  }|||  }t |||f¡| _t||df || | jdd
� t||df || | j| jd
� d S )Nc                    s   g | ]}ˆ   tt|¡‘qS © ©Z
smoothconfÚxÚy©Ú.0Úxi©Úkernr	   úe/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/nonparametric/tests/test_kernels.pyÚ
<listcomp>8   s     z4CheckKernelMixin.test_smoothconf.<locals>.<listcomp>Zs_Zse_ç†ÿî1\ÿ?é   é   g�íµ ÷Æ >g#B’¡œÇ;)ÚrtolZatolr   g�íµ ÷Æ°>r   Ú	se_n_diffg      @)Ú	kern_namer   ÚnpÚarrayÚxgÚfittedgÚresultsr   ÚseÚres_seÚisfiniteÚse_rtolÚabsÚhasattrr   r   ÚsumZcolumn_stackZres_fittedgÚupp_rtolÚlow_rtolÚlow_atol)Úselfr   r   Z
res_fittedr    Úcritr   ZfittedZse_validÚmaskr   Zres_uppZres_lowr	   r   r   Útest_smoothconf4   s>    $

 ÿ ÿz CheckKernelMixin.test_smoothconfc                    s&   | j ‰ d}t ‡ fdd„tD ƒ¡}d S )Nr   c                    s   g | ]}ˆ   tt|¡‘qS r	   r
   r   r   r	   r   r   i   s     z9CheckKernelMixin.test_smoothconf_data.<locals>.<listcomp>)r   r   r   r   )r)   r*   Zfitted_xr	   r   r   Útest_smoothconf_datac   s    z%CheckKernelMixin.test_smoothconf_dataN)Ú__name__Ú
__module__Ú__qualname__r"   r&   r'   r(   r,   ÚpytestÚmarkZslowZsmoker-   r	   r	   r	   r   r   -   s   /r   c                   @   s   e Zd ZdZe ¡ ZdS )ÚTestEpanZepan2N)r.   r/   r0   r   r   ZEpanechnikovr   r	   r	   r	   r   r3   l   s   r3   c                   @   s   e Zd ZdZe ¡ ZdS )ÚTestGauZgauN)r.   r/   r0   r   r   ZGaussianr   r	   r	   r	   r   r4   q   s   r4   c                   @   s,   e Zd ZdZe ¡ ZdZdZdZ	dZ
dZdS )ÚTestUniformZrecgš™™™™™é?é   gš™™™™™Ù?r   N)r.   r/   r0   r   r   ZUniformr   r"   r   r&   r'   r(   r	   r	   r	   r   r5   v   s   r5   c                   @   s$   e Zd ZdZe ¡ ZdZdZdZ	dS )ÚTestTriangularZtrié
   g333333Ã?r   N)
r.   r/   r0   r   r   Z
Triangularr   r   r&   r'   r	   r	   r	   r   r7   €   s
   r7   c                       s:   e Zd ZdZe ¡ Zejj	de
dd�‡ fdd„ƒZ‡  ZS )Ú
TestCosineÚcoszNaN mismatchT)ÚreasonZraisesÚstrictc                    s   t t| ƒ ¡  d S )N)Úsuperr9   r,   )r)   ©Ú	__class__r	   r   r,   �   s    zTestCosine.test_smoothconf)r.   r/   r0   r   r   ZCosine2r   r1   r2   ZxfailÚAssertionErrorr,   Ú__classcell__r	   r	   r>   r   r9   ˆ   s    ÿr9   c                   @   s    e Zd ZdZe ¡ ZdZdZdS )ÚTestBiweightZbié	   r   N)	r.   r/   r0   r   r   ZBiweightr   r   r'   r	   r	   r	   r   rB   “   s   rB   c               	   C   sB   dddddddddg	} t  ddd¡}t ¡ |ƒ}t|| d	d
� d S )Ng        g6?,RÆ_Å?g)O·†â?g    Ð`ê?gÍ‹”�§ë?éÿÿÿÿr   rC   g»½×Ùß|Û=)r   )r   Úlinspacer   ZTricuber   )Zres_kxZxxZkxr	   r	   r   Útest_tricubeš   s          ýrF   )$Ú__doc__ÚosÚnumpyr   Znumpy.testingr   r   r1   Z!statsmodels.sandbox.nonparametricr   ÚDEBUGÚpathÚdirnameÚabspathÚ__file__ÚcurdirÚfnameZ
recfromcsvÚjoinr   r   r   ZpositiveÚlogrE   ÚminÚmaxr   r   r3   r4   r5   r7   r9   rB   rF   r	   r	   r	   r   Ú<module>   s.   ?
