U
    Ãmœd¦W  ã                   @   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__Úto_dictZSeriesr   Z	to_pandas)r   r   ÚpZdesired© r8   ú`/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/tsa/arima/tests/test_params.pyÚ	test_init	   sz      ÿÿ    ú  ÿr:   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   ©r7   r8   r9   ÚcheckZ   s    z%test_set_params_single.<locals>.checkç      Àç      Àç      Àç      ÀF©r   ç       Àr>   ç      ð¿éúÿÿÿéûÿÿÿéüÿÿÿéýÿÿÿéþÿÿÿéÿÿÿÿ)r   r   )r   rJ   )r   r   r   r   r!   )r   r   r   r   rL   )r   r   r   r   r!   é   )r   rJ   r   r   rL   é   ç      ð?g       @g      @g      @g      @ç      @r   r"   r!   r   r   r   )r   rL   )r   r!   )r   r   r   r   rJ   )r   r   r   r   r   )r   rL   r   r   rJ   rO   )r   r!   r   r   r   rN   )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@   r8   r?   r9   Útest_set_params_singleQ   s–      ÿ

rT   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?   r8   r9   r@   Ê   s    z4test_set_params_single_nonconsecutive.<locals>.checkrA   rB   rC   rD   FrE   rF   r>   rG   rH   rI   rJ   rK   rL   rM   r   r!   rN   rO   r"   r   rQ   )r   r   rL   )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,   rS   r8   r?   r9   Ú%test_set_params_single_nonconsecutive¿   s`     þ

  $$  $rU   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   rM   r"   rK   r   rI   r   éùÿÿÿrO   é÷ÿÿÿé
   éõÿÿÿ©r   r!   rJ   ©r   rI   r   ©	r   r   r   r   é   r   r   r   éøÿÿÿ©	r   r   r   r   rY   r   r   r   rZ   r   r!   rJ   r_   é   iäÿÿÿr`   ièÿÿÿé    é-   iÊÿÿÿiÎÿÿÿé<   )r$   r%   r   r&   r   r'   r   r   r   r   r   r   r   r*   r+   r(   r,   r-   r.   r/   r0   r1   ©r   r   r7   r8   r8   r9   Útest_set_params_multiple  s@      ÿÿÿ   ÿÿrg   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__rf   r8   r8   r9   Útest_set_poly_short_lags9  sn      ÿ


ÿ
ÿ
ÿ
ÿ
ÿ
ÿrv   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   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   r*   r-   r.   rP   r/   rt   rf   r8   r8   r9   Ú'test_set_poly_short_lags_nonconsecutivet  sB     þÿÿ
ÿ
ÿrw   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	   rV   rW   r   r   rM   r"   r[   r\   r]   r^   ra   rK   r   rI   r   rX   rO   rY   rZ   )r$   r%   r   r&   r   r'   r   r   r(   r,   r*   r-   r.   r/   r   r   r   r   r   rf   r8   r8   r9   Útest_set_poly_longer_lagsœ  s,      ÿ
ÿrx   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   ri   r   rP   ro   ç®Gáz®ï?)r   r&   r   r'   r   r4   r5   r   r   r   r   ©r   r7   r8   r8   r9   Ú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   ry   r   r   ri   r   rP   ro   rz   )r   r&   r   r'   r   r4   r5   r   r   r   r   r{   r8   r8   r9   Ú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   ri   rP   )r   r&   r   r'   r   r3   r{   r8   r8   r9   Ú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)ri   zaSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[nan], seasonal_ar=[nan], seasonal_ma=[nan], sigma2=nan)ro   zaSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[0.2], seasonal_ar=[nan], seasonal_ma=[nan], sigma2=nan)gü©ñÒMbP?zcSARIMAXParams(exog=[1. 2.], ar=[0.5], ma=[0.2], seasonal_ar=[0.001], seasonal_ma=[nan], sigma2=nan)gü©ñÒMbP¿zfSARIMAXParams(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   rf   r8   r8   r9   Útest_repr_str  s(      ÿ
r€   )Únumpyr(   Zpandasr$   Znumpy.testingr   r   r   r   Zstatsmodels.tsa.arimar   r   r:   rT   rU   rg   rv   rw   rx   r|   r}   r~   r€   r8   r8   r8   r9   Ú<module>   s   HnO+;(