U
    Kvfó  ã                
   @   s¢   d Z ddlZddlZddlmZmZ ddlmZm	Z	m
Z
 dd„ Zdd„ Zej d	eje dd
d¡e ddd¡f ddgddgfe dd
d¡ddfg¡dd„ ƒZdS )zH
unit test for spline and other smoother classes

Author: Luca Puggini

é    N)Úassert_allcloseÚassert_equal)ÚUnivariatePolynomialSmootherÚPolynomialSmootherÚBSplinesc                  C   sL   t  ddd¡} t| dd}t|jjdƒ t|jd d …df |  ¡ d ƒ d S )Nr   é   é   é   ©Údegree)r   r	   é   )ÚnpÚlinspacer   r   ÚbasisÚshaper   Zravel)ÚxZpol© r   úK/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/gam/tests/test_smooth_basis.pyÚ#test_univariate_polynomial_smoother   s    r   c                  C   sp   t j d¡ t j ddd¡} ddg}t| |ƒ}t|ƒD ]4\}}t| d d …|f |dj}t|j	| j|ƒ q6d S )Nr   r   )é
   r   r	   é   r
   )
r   ÚrandomÚseedÚnormalr   Ú	enumerater   r   r   Z	smoothers)r   ÚdegreesZmpsÚiÚdegZuv_basisr   r   r   Ú"test_multivariate_polynomial_basis   s    
r   zx, df, degreer   éd   r   r   é   r	   c                 C   s   t | ||ƒ}| | ¡ d S )N)r   Z	transform)r   Zdfr   Zbspliner   r   r   Útest_bsplines"   s    r!   )Ú__doc__ZpytestZnumpyr   Znumpy.testingr   r   Zstatsmodels.gam.smooth_basisr   r   r   r   r   ÚmarkZparametrizeZc_r   r!   r   r   r   r   Ú<module>   s    
 ýúþ