U
    Kvf?                     @   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sd}
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	   P/tmp/pip-unpacked-wheel-2v6byqio/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__osZ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.   ?
