U
    KvfW                     @   s   d dl Zd dlZd dlmZmZmZmZ d dl	m
Z
mZ dd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    N)assert_assert_equalassert_allcloseassert_raises)specificationparamsc                  C   s  t jdggdgd} tj| ddd}tj|d}t|j| t|jdg t|j	dg t|j
d	g t|jd
g t|jdg t|jddd	d
ddg t|jd t|jd t|jd t|jd t|jd t|jd t|jtj t|jtjg t|jtjg t|jtjg t|jtjg t|jtj t|jjtjdtjf  t|jjtjdtjf  t|jjtjddddtjf  t|j jtjddddtjf  t|j!jtjdtjgd f  t|j"jtjdtjgd f  t#|j$  t#|j%  t&t'|j(d t&t'|j(d tjgtjgtjgtjgtjgtjd}t|) | t j*tjg|j |jd}t+|, | t jddggddgd} tj| ddd}tj|d}t|jd t|jd t|jd t|jd t|jd t|jd d S )Nr   acolumns   r   r   r   r   r      exogorderseasonal_orderspeczar.L1zma.L1zar.S.L4zma.S.L4sigma2r         is_stationaryis_invertible)exog_params	ar_params	ma_paramsseasonal_ar_paramsseasonal_ma_paramsr   )indexb)   r      )r   r   r   r   r"   r!      )-pd	DataFramer   SARIMAXSpecificationr   SARIMAXParamsr   r   Z
exog_namesZar_namesZma_namesZseasonal_ar_namesZseasonal_ma_namesZparam_namesZk_exog_paramsZk_ar_paramsZk_ma_paramsZk_seasonal_ar_paramsZk_seasonal_ma_paramsZk_paramsnpnanr   r   r   r   r   ar_polycoefr_ma_polyseasonal_ar_polyseasonal_ma_polyreduced_ar_polyreduced_ma_polyr   is_completeis_validr   
ValueError__getattribute__Zto_dictZSeriesr   Z	to_pandas)r   r   pZdesired r7   K/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/tsa/arima/tests/test_params.py	test_init	   sz            r9   c                     s  t jdggdgd} tj| ddd}tj|d d2 fd	d
	}d _|  d _|  d _|  d _	|dd d _
|ddd d _t j t j  t jddddddg t jdg t jdg t jdg t j	dg t j
dg t jd t jjtjd  t jjtjd  t jjtjd  t jjtjd  t jjtjd  t jjtjd  d g _d!g _d"g _d#g _	d$g _
d%g _d&d'd(d)d*d+g _t jd&d'd(d)d*d+g t jd&g t jd'g t jd(g t j	d)g t j
d*g t jd% td% _td$ _td# _td" _	td! _
td  _t jd+d*d)d(d'd&g t jd+g t jd*g t jd)g t j	d(g t j
d'g t jd  d&d'd(d)d*d+g _t jd&d'd(d)d*d+g t jd&g t jd'g t jd(g t j	d)g t j
d*g t jd% t jjtjd,  t jjtjd-  t jjtjd.  t jjtjd/  t jjtjd0  t jjtjd1  d S )3Nr   r   r	   r   r   r   r   raisec                    sd   t  j  t  j  | dkr0tt jd nt j|  |dkrTtt jd nt j| d S Nr:   r   r   	r   r2   r3   r   r4   r5   r   r   r   r   r   r6   r7   r8   checkZ   s    z%test_set_params_single.<locals>.check                        Fr          r=         )r   r   )r   rI   )r   r   r   r   r!   )r   r   r   r   rK   )r   r   r   r   r!      )r   rI   r   r   rK            ?g       @g      @g      @g      @      @r   r"   r!   r   r   r   )r   rK   )r   r!   )r   r   r   r   rI   )r   r   r   r   r   )r   rK   r   r   rI   rN   )r   r!   r   r   r   rM   )r:   r:   )r$   r%   r   r&   r   r'   r   r   r   r   r   r   r   r2   r3   r   r*   r+   r(   r,   r-   r.   r/   r0   r1   arrayr   r   r?   r7   r>   r8   test_set_params_singleQ   s      

rS   c                     s  t jdggdgd} tj| ddgdddgfddgdddgdfd}tj|d d# fd	d
	}d _|  d _|  d _|  d _	|dd d _
|ddd d _t j t j  t jddddddg t jdg t jdg t jdg t j	dg t j
dg t jd t jjdddg t jjdddg t jjdddddddddg	 t jjdddddddddg	 t jjdddddddddddg t jjdddddddddddg ddddddg _t jddddddg t jdg t jdg t jdg t j	dg t j
dg t jd  t jjtjd!  t jjtjd"  t jjdddddddddg	 t jjdddddddddg	 t jjdddddddddddg t jjdddddddddddg d S )$Nr   r   r	   r   r   r   r   r:   c                    sd   t  j  t  j  | dkr0tt jd nt j|  |dkrTtt jd nt j| d S r;   r<   r=   r>   r7   r8   r?      s    z4test_set_params_single_nonconsecutive.<locals>.checkr@   rA   rB   rC   FrD   rE   r=   rF   rG   rH   rI   rJ   rK   rL   r   r!   rM   rN   r"   r   rP   )r   r   rK   )r   r   r!   )r:   r:   )r$   r%   r   r&   r   r'   r   r   r   r   r   r   r   r2   r3   r   r*   r+   r-   r.   r/   r0   r1   r(   r,   rR   r7   r>   r8   %test_set_params_single_nonconsecutive   s`     

  $$  $rT   c                  C   sj  t jddggddgd} tj| ddd}tj|d}d	d
dddddddddg|_t|jd	d
dddddddddg t|jd	d
g t|jddg t|j	ddg t|j
ddg t|jddg t|jd t|jjtjd  t|jjtjd  t|jjtjd  t|jjtjd  t|jjddddddddddd g t|jjdddddd!d"ddd#d$g d S )%Nr   r   r    r	   r"   r   r"   r"   r   r"   r   r   r   rL   r"   rJ   r   rH   r   rN   
   r   r!   rI   r   rH   r   	r   r   r   r      r   r   r   	r   r   r   r   rX   r   r   r   rY   r   r!   rI   r^      ir_   i    -   ii<   )r$   r%   r   r&   r   r'   r   r   r   r   r   r   r   r*   r+   r(   r,   r-   r.   r/   r0   r1   r   r   r6   r7   r7   r8   test_set_params_multiple  s@         rf   c               
   C   s  t jddggddgd} tj| ddd}tj|d}d	d
g|_t|jdg t	j
d	dg|_t|jdg d	dg|_t|jdg t	j
d	dg|_t|jdg d	ddddg|_t|jdg t	j
d	ddddg|_t|jdg d	ddddg|_t|jdg t	j
d	ddddg|_t|jdg tt|jddd
g tt|jdddg tt|jddddddg tt|jddddddg tt|jdd	 tt|jdd	g tt|jdd	 tt|jdd	g tt|jdd	 tt|jdd	g tt|jdd	dddg tt|jdd	 tt|jdd	g tt|jdd	dddg tt|jdd	d
dg tt|jdd	ddg tt|jdd	dddddg tt|jdd	dddddg tt|jdd	d	ddddg tt|jdd	d	ddddg d S )Nr   r   r    r	   r   r   r   r   r               ?皙皙?333333?ffffff?皙ɿ皙?      п      ?皙?333333?r*   r"   r-   r.   r/   r$   r%   r   r&   r   r'   r*   r   r   r(   Z
polynomialZ
Polynomialr-   r   r.   r   r/   r   r   r4   __setattr__re   r7   r7   r8   test_set_poly_short_lags9  sn      







ru   c                  C   s  t jddggddgd} tj| ddgdddgfddgdddgdfd}tj|d}ddd	g|_t|jd
g t	j
dddg|_t|jdg dddg|_t|jdg t	j
dddg|_t|jdg dddddddddg	|_t|jdg t	j
dddddddddg	|_t|jdg dddddddddg	|_t|jdg t	j
dddddddddg	|_t|jdg tt|jdddd	g tt|jddddg tt|jddddddddddg	 tt|jddddddddddg	 d S )Nr   r   r    r	   r   r   r   r   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   r*   r-   r.   rO   r/   rs   re   r7   r7   r8   'test_set_poly_short_lags_nonconsecutivet  sB     

rv   c                  C   s   t jddggddgd} tj| ddd}tj|d}d	d
g|_d|_tj	d |_
tj	d |_tj	d |_tj	d |_t|jd	d
dddddddddg t|jd	d
g t|jddg t|jddg t|jddg t|jddg t|jd d S )Nr   r   r    r	   rU   rV   r   r   rL   r"   rZ   r[   r\   r]   r`   rJ   r   rH   r   rW   rN   rX   rY   )r$   r%   r   r&   r   r'   r   r   r(   r,   r*   r-   r.   r/   r   r   r   r   r   re   r7   r7   r8   test_set_poly_longer_lags  s,      
rw   c                  C   s   t jddd} tj| d}tt|jd dg|_dg|_t	|j
 dg|_t	|j
  dg|_dg|_t	|j
 dg|_t	|j
  d	g|_d	g|_t	|j
 d
g|_d
g|_t	|j
 dg|_dg|_t	|j
  d S )Nr   r   r   r   r   r   rh   r   rO   rn   Gz?)r   r&   r   r'   r   r4   r5   r   r   r   r   r   r6   r7   r7   r8   test_is_stationary  s2     



r{   c                  C   s   t jddd} tj| d}tt|jd dg|_dg|_t	|j
 dg|_t	|j
  dg|_dg|_t	|j
 dg|_t	|j
  d	g|_d	g|_t	|j
 d
g|_d
g|_t	|j
 dg|_dg|_t	|j
  d S )Nr   r   rx   r   r   rh   r   rO   rn   ry   )r   r&   r   r'   r   r4   r5   r   r   r   r   rz   r7   r7   r8   test_is_invertible  s2     



r|   c                  C   s   t jddddd} tj| d}t|j  dddddg|_t|j dddddg|_t|j  dddddg|_t|j  dddddg|_t|j  dddddg|_t|j  d S )Nr   r   T)r   r   Zenforce_stationarityZenforce_invertibilityr   rh   rO   )r   r&   r   r'   r   r3   rz   r7   r7   r8   test_is_valid  s$      
r}   c                  C   s   t jddggddgd} tj| ddd}tj|d}tt|d	 d
dg|_tt|d dg|_	tt|d dg|_
tt|d dg|_tt|d dg|_tt|d d|_tt|d d S )Nr   r   r    r	   r   r   r   r   zcSARIMAXParams(exog=[nan nan], ar=[nan], ma=[nan], seasonal_ar=[nan], seasonal_ma=[nan], sigma2=nan)r   r"   zaSARIMAXParams(exog=[1. 2.], ar=[nan], ma=[nan], seasonal_ar=[nan], seasonal_ma=[nan], sigma2=nan)rh   zaSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[nan], seasonal_ar=[nan], seasonal_ma=[nan], sigma2=nan)rn   zaSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[0.2], seasonal_ar=[nan], seasonal_ma=[nan], sigma2=nan)gMbP?zcSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[0.2], seasonal_ar=[0.001], seasonal_ma=[nan], sigma2=nan)gMbPzfSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[0.2], seasonal_ar=[0.001], seasonal_ma=[-0.001], sigma2=nan)g">$@ziSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[0.2], seasonal_ar=[0.001], seasonal_ma=[-0.001], sigma2=10.123))r$   r%   r   r&   r   r'   r   reprr   r   r   r   r   r   re   r7   r7   r8   test_repr_str  s(      
r   )Znumpyr(   Zpandasr$   Znumpy.testingr   r   r   r   Zstatsmodels.tsa.arimar   r   r9   rS   rT   rf   ru   rv   rw   r{   r|   r}   r   r7   r7   r7   r8   <module>   s   HnO+;(