
    M/Ph{_              $       >   d dl Zd dlZd dlZd dlmZmZmZ d dl	m
ZmZ d dlmZ d Zd Zd Zej                            dd d d d  ej        d	g          d
fdd d d  ej        dd	g          d
fdd d d  ej        ddg          d
fdd d d  ej        g d          d
fdd d d  ej        dgdz  dgz             d
fd dd d  ej        d	g          d
fd ddd ej        d	g          d
fddd d  ej        dd	g          d
fdddd ej        dd	g          d
fd d d d  ej        d	g          dfdd d d  ej        dd	g          dfdd d d  ej        ddg          dfdd d d  ej        g d          dfdd d d  ej        dgdz  dgz             dfd dd d  ej        d	g          dfd ddd ej        d	g          dfddd d  ej        dd	g          dfdddd ej        dd	g          dfg          d             Zej                            dddddddddddddgd d dd d dd d d!fddd d d d d ddgdd d d!fdddgd ddgddgd ddgdd d d!fd"d#d$d%d&d'd(dd)gddddddd*d!d d fd+d)gddddddd*d!d d fd+d)d,gddddddd*d!d d fd d)d,gddddddd*d!d d fd-g          d.             Zd/ Zd0 Zej                            d1d2d3dddg d4fd5d3dddg d6fd7d3dddg d8fd9d3dddg d:fd2d;dddd<d=gfd5d3d ddd<d=gfd5d3d!ddg d>fd5d3dd dg d6fd5d3dd!dg d6fd5d3ddd g d>fg
          d?             Zd@ ZdS )A    N)assert_equalassert_allcloseassert_raises)constrain_stationary_univariate!unconstrain_stationary_univariate)specificationc                 B   |\  }}}|\  }	}
}}t          | j        |||f           t          | j        |	|
||f           t          | j        |           t          | j        |           t          | j        |           t          | j        |	           t          | j        |
           t          | j        |           t          | j	        |           t          | j
        t          |t                    r|nt          j        d|dz                        t          | j        t          |t                    r|nt          j        d|dz                        t          | j        t          |	t                    r|	nt          j        d|	dz                        t          | j        t          |t                    r|nt          j        d|dz                        t          |t                    r|d         n|}t          |t                    r|d         n|}t          |	t                    r|	d         n|	}t          |t                    r|d         n|}t          | j        |           t          | j        |           t          | j        |           t          | j        |           t          | j        |||z  z              t          | j        |||z  z              t          | j        |           t          | j        |           t          | j        |           d S )N   )r   orderseasonal_orderar_orderdiffma_orderseasonal_ar_orderseasonal_diffseasonal_ma_orderseasonal_periodsar_lags
isinstancelistnparangema_lagsseasonal_ar_lagsseasonal_ma_lagsmax_ar_ordermax_ma_ordermax_seasonal_ar_ordermax_seasonal_ma_ordermax_reduced_ar_ordermax_reduced_ma_orderenforce_stationarityenforce_invertibilityconcentrate_scale)specr   r   r#   r$   r%   pdqPDQsr   r   r   r    s                    n/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/tsa/arima/tests/test_specification.pycheck_attributesr/      s   GAq!JAq!QaAY'''$q!Ql333"""A"""'+++#Q''''+++&***!!T**C!!	!QU0C0CF F F!!T**C!!	!QU0C0CF F F &!!T**C!!	!QU0C0CF F F&!!T**C!!	!QU0C0CF F F 'q$//61R55QL&q$//61R55QL%/4%8%8?AbEEa%/4%8%8?AbEEa"L111"L111+-BCCC+-BCCC* 5 99; ; ;* 5 99; ; ; *,@AAA+-BCCC'):;;;;;    c                    |\  }}}|\  }}}}t          |          }t          |t                    rt          |          n|}t          |t                    rt          |          n|}t          |t                    rt          |          n|}t          |t                    rt          |          n|}t          |           }||	z   |
z   |z   |z   }|s|                    d           t          | j        |           t          | j        |           t          | j        ||z   dk               t          | j	        |dk               t          | j
        |           t          | j        |           t          | j        |           t          | j        |           t          | j        |           t          | j        ||z   |z   |z   |z   |z              t          | j        |           t          | j        |	           t          | j        |
           t          | j        |           t          | j        |           t          | j        |           d S )Nsigma2r   )lenr   r   intappendr   is_ar_consecutiveis_ma_consecutiveis_integratedis_seasonalk_exog_paramsk_ar_paramsk_ma_paramsk_seasonal_ar_paramsk_seasonal_ma_paramsk_params
exog_namesar_namesma_namesseasonal_ar_namesseasonal_ma_namesparam_names)r&   r   r   r#   r$   r%   r6   r7   r@   rA   rB   rC   rD   r'   r(   r)   r*   r+   r,   r-   r:   r;   r<   r=   r>   k_variance_paramsrE   s                              r.   check_propertiesrG   ;   s[    GAq!JAq!Q
OOM&q$//6#a&&&QK&q$//6#a&&&QK%/4%8%8?3q666a%/4%8%8?3q666a 1122(836GG$%K %8$$$'):;;;'):;;;#QUQY///!1q5)))#]333!;///!;///*,@AAA*,@AAA,{:%&(<="#$ $ $
 *---))))))'):;;;'):;;;!;/////r0   c           	      
   t           j        ||||	|
|f         }||||	|
d}|s||d<   t          |                     |          |           t           | j        d	i ||           t          |                     |          d            t          t          | j        g            t          t          | j        dg|dd                                          z              t          t          | j        t           j        t           j	        |dd          f                    t          t          | j        t           j        t           j
        |dd          f                    | j        dk    r}t           j        |t          j        |          |t          j        |	          |
|f         }|rt          t          | j        |           n#t          |                     |          d            | j        dk    r}t           j        ||t          j        |          |	t          j        |
          |f         }|rt          t          | j        |           n#t          |                     |          d            | j        dk    r}t           j        |t          j        |          |t          j        |	          |
|f         }|rt          t          | j        |           n#t          |                     |          d            | j        dk    r}t           j        ||t          j        |          |	t          j        |
          |f         }|rt          t          | j        |           n#t          |                     |          d            |sft           j        ||||	|
df         }t          t          | j        |           t           j        ||||	|
df         }t          t          | j        |           |}|}|	}|
}|}| j        dk    r#|r!t#          t          j        |                    }| j        dk    r$|r"t#          t          j        |                     }| j        dk    r#|r!t#          t          j        |	                    }| j        dk    r$|r"t#          t          j        |                     }|s|dz  }t           j        ||||||f         }t           j        ||||	|
|f         }t'          |                     |          |           t'          |                     |          |           t'          |                     |                     |                    |           d S )
N)exog_params	ar_params	ma_paramsseasonal_ar_paramsseasonal_ma_paramsr2   ar
   r           r         ? )r   r_r   split_paramsjoin_paramsvalidate_paramsr   
ValueErrortolistinfnanr   	ones_like
zeros_liker   r   r    unconstrainarrayr   unconstrain_paramsconstrain_params)r&   r   r   r#   r$   r%   rI   rJ   rK   rL   rM   r2   paramsdesiredunconstrained_ar_paramsunconstrained_ma_params unconstrained_seasonal_ar_params unconstrained_seasonal_ma_paramsunconstrained_sigma2unconstrained_paramss                       r.   check_methodsrh   e   s    U	F #002 2G  #"""6**G444!!,,G,,f555%%f--t444 *d2B777 *d2%&*++---/ / / *d2%qrr
*+- - -*d2%qrr
*+- - - 1L##M,--
   	=*d&:FCCCC--f55t<<<1L##M,--
 ! 	=*d&:FCCCC--f55t<<<!A%%M)$$L+,,
   	=*d&:FCCCC--f55t<<<!A%%M)$$L+,,
 ! 	=*d&:FCCCC--f55t<<<  @
 	j$"6???
 	j$"6??? (''9$'9$!1!5"-bhy.A.A"B"B1!6"-rx	/B/B.B"C"C!A%%*>%!34455 	)!A%%*?%"BCCCDD 	) ;3s:5((	 U	F D++F335IJJJD))*>??HHHd55f==>>H H H H Hr0   zn,d,D,s,params,which      ?r'   r
   rP   皙ɿ      Y@   )rj   rP   rk      rO      r)   c           
      
   |dk    r&| |d}}}d t          d|dz             D             }g }	n%d|| }}}g }d t          d|dz             D             }	|d |         }
||d         }|d         }d|d|f\  }}}}|||f||||ff}d d d d}|                                }|                    ddg ||	g g d	           |                                }|                    g |
|g g |d
           t          j        |||f||||f          }t          |g|R i | t          |g|R i | t          |g|R i | t          j        |||||||          }t          |g|R i | t          |g|R i | t          |g|R i | d S )Nr'   r   c                     g | ]}d |z  S zar.L%drQ   .0is     r.   
<listcomp>z/test_specification_ar_or_ma.<locals>.<listcomp>!      :::QHqL:::r0   r
   c                     g | ]}d |z  S zma.L%drQ   rr   s     r.   ru   z/test_specification_ar_or_ma.<locals>.<listcomp>&  rv   r0   r   r#   r$   r%   Tr6   r7   r@   rA   rB   rC   rD   rI   rJ   rK   rL   rM   r2   )r   r   )r   r   r   r   r   r   r   )rangecopyupdater   SARIMAXSpecificationr/   rG   rh   )nr(   r+   r-   r`   whichr'   r)   rA   rB   rJ   rK   r2   r*   r,   argskwargsproperties_kwargsmethods_kwargsr&   s                       r.   test_specification_ar_or_mar     sx   2 ||Qa1::%1q5//:::Qa1::%1q5//:::rr
IqtIBZFAq!JAq!Q1I1a|$D $!%! F !!! ! " " " [[]]N       -!QiAq!6 6 6D T+D+++F+++T6D666$5666$0000000 -Q!1qB B BD T+D+++F+++T6D666$5666$000000000r0   zUendog,exog,p,d,q,P,D,Q,s,enforce_stationarity,enforce_invertibility,concentrate_scale)NNr   r   r   r   r   r   r   TTF)NNr
   r   r
   r   r   r   r   TTF)NNr
   r
   r
   r   r   r   r   TTF)NNr
   r   r   r   r   r   rn   TTF)NNr   r   r   r
   r
   r
   rn   TTF)NNr
   r   r   r
   r   r   rn   TTF)NNr
   r   r   r
   r
   r
   rn   TTF)NNrl   r
      rn   r
   r      TTFr   TF)NNrl   r
   r   rn   r
   r   r   FFT)NNrl   r
   r   rn   r
   r   r   TFT)NNrl   r
   r   rn   r
   r   r   FTT)TNrl   r
   r   rn   r
   r   r   FTT)Nrl   rl   r
   r   rn   r
   r   r   FTT)Trl   rl   r
   r   rn   r
   r   r   FTT)yNrl   r
   r   rn   r
   r   r   FTTx1r   r   x2)r   rl   rl   r
   r   rn   r
   r   r   FTTc                 
   t          |t                    rt          |          }|d         }n|x}}t          |t                    rt          |          }|d         }n|x}}t          |t                    rt          |          }|d         }n|x}}t          |t                    rt          |          }|d         }n|x}}||z  z   t          d|z  dz   d|z  z  dz   ||z            z   dz   }| du rt	          j        |          dz  } nRt          | t                    r,t          j        t	          j        |          dz  |           } n| t          d          t          |t                    r_d t          |          D             }t	          j        |t          |          z                                |t          |                    }nt          |t                    r^|}t	          j        |t          |          z                                |t          |                    }t          j        ||	          }n|g }nt          d
          |||f|||ff}|	|
|d}|                                }t          |t                     o|dk    }t          |t                     o|dk    }|                    |||d t          |t                    r|nt          d|dz             D             d t          |t                    r|nt          d|dz             D             fdt          |t                    r|nt          d|dz             D             fdt          |t                    r|nt          d|dz             D             d           |                                }|                    t	          j        t          |                    |dk    rg n#t!          t	          j        |          dz            |dk    rg n&t!          t	          j        |          dz   dz            |dk    rg n#t!          t	          j        |          dz
            |dk    rg n&t!          t	          j        |          dz
  dz            |rg ndd           t#          j        | ||||f|||f|	|
|          }t'          |g|R i | t)          |g|R i | t+          |g|R i | t#          j        | ||||||||	|
|          }t'          |g|R i | t)          |g|R i | t+          |g|R i | d S )Nr   r   r
   Tri   namezInvalid `endog` in test setup.c                     g | ]
}d |dz   z  S )zx%dr
   rQ   rr   s     r.   ru   z&test_specification.<locals>.<listcomp>  s     ;;;!eq1uo;;;r0   columnszInvalid `exog` in test setup.ry   r   c                     g | ]}d |z  S rq   rQ   rr   s     r.   ru   z&test_specification.<locals>.<listcomp>  2     F F F qLF F Fr0   c                     g | ]}d |z  S rx   rQ   rr   s     r.   ru   z&test_specification.<locals>.<listcomp>  r   r0   c                      g | ]
}d |z  z  S )zar.S.L%drQ   rs   rt   r-   s     r.   ru   z&test_specification.<locals>.<listcomp>  8     F F F !a% F F Fr0   c                      g | ]
}d |z  z  S )zma.S.L%drQ   r   s     r.   ru   z&test_specification.<locals>.<listcomp>  r   r0   rz   
   d   rn   g46<@r{   )exogr   r   r#   r$   r%   )r   r   r   r   r   r   r   r   r#   r$   r%   )r   r   r3   maxr   r   strpdSeriesrV   r4   r|   reshape	DataFramer}   r~   	constrainr   r   r/   rG   rh   )endogr   r'   r(   r)   r*   r+   r,   r-   r#   r$   r%   r;   r   r<   r   r=   r   r>   r    nobsr@   r   r   r   r6   r7   r   r&   s           `                    r.   test_specificationr   X  s^   T !T '!ffu%&&l!T '!ffu%&&l!T 9"1vv !"7884!T 9"1vv !"7884 q1u9s1|+a/44q81<'0146 6 6 9::D
 }}	$#%	E3		 ;	")D//C/e<<<		9:::$ 
:;;uT{{;;;
yJ/0088s:OO	D$		 :
yJ/0088s:OO|D*555	

8999 1I1a|$D 4!6. F
 &q$///N4IQ4N&q$///N4IQ4N.. F F%a..CaaE!QUOOF F FF F%a..CaaE!QUOOF F FF F F F%a..CaaE!QUOOF F FF F F F%a..CaaE!QUOOF F FG G H H H" [[]]NyZ11""BBbi,,r122""BBry--2c9::&!++BBbi 4559::&!++BBry!566;sBCC)5""v7 7 8 8 8" -D!QiAq!13+- - -D T+D+++F+++T6D666$5666$0000000 -DQ!1q13+- - -D T+D+++F+++T6D666$5666$000000000r0   c            	      P   t          j                    } t          | j        d           t          | j        d           t          j        t          j        dgd          t          j        ddggddg          d	d
ddd          } d}t          t          |           |           d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   )r
   r
   rl   )rl   r
   r   r   FT)r   r   r   r   r#   r$   r%   zSARIMAXSpecification(endog=y, exog=['x1', 'x2'], order=(1, 1, 2), seasonal_order=(2, 1, 0, 12), enforce_stationarity=False, enforce_invertibility=False, concentrate_scale=True))	r   r   r   r   r   r   r   r   repr)r&   ra   s     r.   	test_miscr     s    -//DY'''$l333 -i#&&&\Aq6(T4L999"%     D*G dW%%%%%r0   c                  ,   t          t          t          j        dd           t          t          t          j        dd           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d	           t          t          t          j        d
           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        d           t          t          t          j        dt	          j        d                     t          j        d          } t          t          | j                   t          t          | j        ddg           d S )Nr
   r   r   r
   )r   r   )r   r   )r   r   r   )r   )      ?r   r   )r   r   r   )r   r   r   )r   )r   r   r   rn   )r   )r   r   r   rn   )r   r   r   rn   )r   r   r   rn   )r
   r   r   r   )r
   r   r   r   )r
   r   r   r
   )r
   )r   rl   )r   r   )r   g?g333333?)rJ   )r   rV   r   r   r   zerosrT   r&   s    r.   test_invalidr     s   *m@!A/ / / /*m@!*aA A A A*m@"$ $ $ $*m@#% % % %*m@"$ $ $ $*m@#% % % %*m@   *m@!/1 1 1 1*m@!.0 0 0 0*m@!/1 1 1 1*m@!.0 0 0 0*m@!/1 1 1 1*m@!-/ / / /*m@!.0 0 0 0*m@!-/ / / /*m@!%' ' ' ' *m@!'):):< < < < -q999D*d.///*d.3*EEEEEEr0   zWorder,seasonal_order,enforce_stationarity,enforce_invertibility,concentrate_scale,validr   r   )yule_walkerburginnovationshannan_rissaneninnovations_mle
statespacer   )r   r   r   r   r   )r   r   r
   )r   r   r   r   )r
   r   r
   )r   r   r   )r
   r   r   rn   r   r   )r   r   r   r   c                    t          j        | ||||          }h d}t          |          }t          |j        |           |D ]%}	t          |                    |	          d            &|                    |          D ]-}	t          |	|           t          t          |j        |	           .t          j        t          j        g| ||||          }t          |j        dh           t          |                    d          d            |                    dg          D ]}	t          t          |j        |	           d S )N)r   r   r#   r$   r%   >   r   r   r   r   r   r   )r   r   r   r#   r$   r%   r   )r   r   setr   valid_estimatorsvalidate_estimator
differenceprintr   rV   r   rY   )
r   r   r#   r$   r%   validr&   
estimatorsra   	estimators
             r.   test_valid_estimatorsr   7  s|   F -N13+	- - -DF F FJ%jjG&000 ? ?	T,,Y77>>>>**733 F F	i-...j$"99EEEE -vhN13+- - -D &777((66===**L>:: F F	j$"99EEEEF Fr0   c                  b    t          j                    } t          t          | j        d           d S )Nnot_an_estimator)r   r   r   rV   r   r   s    r.   test_invalid_estimatorr   x  s,    -//D*d57IJJJJJr0   )numpyr   pandasr   pytestnumpy.testingr   r   r    statsmodels.tsa.statespace.toolsr   r   r   r\   statsmodels.tsa.arimar   r/   rG   rh   markparametrizer]   r   r   r   r   r   r   rQ   r0   r.   <module>r      s5            F F F F F F F F F F6 6 6 6 6 6 6 6 0 / / / / /*< *< *<Z'0 '0 '0T^H ^H ^HB /1a2$%1a3)$$c*1a4,''-1a+++,,c2Aq("(C52:.//51a2$%1a2$%1a3)$$c*1a3)$$c*1a2$%1a3)$$c*1a4,''-1a+++,,c2Aq("(C52:.//51a2$%1a2$%1a3)$$c*1a3)$$c*-2  071 711 071t  . 98888889 
4!QAq!Q4u=	4Aq!QA4u=	4!a!Q!QQFAtT5I ;99 :668	D61aAq!Rd;4&!Q1aBtT:4,1aAq"eT4@	D$<Aq!Q2udDA5;1   B}1 }1C   B}1@& & &('F 'F 'FT 4 
L$d
+ 
+ 
+	, 
L$d
+ 
+ 
+	, 
L$d
 
 
	 
L$d	=	=	=	?	L$d
\	*	, 
L$d
\	*	,	L%t	A	A	A	C	L$d
 
 
	 
L$t
 
 
	 
L$d	A	A	A	C76 @F FA @FBK K K K Kr0   