
    M/Phj                       d Z ddlmZ ddlZddlmZmZmZ ddl	Z
ddlZddlmZ ddlmZmZ ddlmZmZmZmZ dd	lmZ d
 Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d  Z.d! Z/d" Z0d# Z1d$ Z2d% Z3d& Z4d' Z5d( Z6d) Z7d* Z8d+ Z9d, Z:d- Z;d. Z<d/ Z=d0 Z>d1 Z?d2 Z@d3 ZAejB        jC        d4             ZDd5 ZEd6 ZFejB        jC        d7             ZGdS )8zR
Tests for simulation of time series

Author: Chad Fulton
License: Simplified-BSD
    )	MONTH_ENDN)assert_assert_allcloseassert_equal)lfilter)EstimationWarningSpecificationWarning)dynamic_factorsarimax
structuralvarmax   )TVSSc                     t           j                            d           d} t           j                            |           }t	          j        dgd          }|                    ddg| d	z   t           j        |df         t          j        |j	                  
          }t          d	gd	dg|          }t          |d	d          |           t	          j        dgd          }|                    ddg| d	z   t           j        |df         t          j        |j	                  
          }t          d	dgd	g|          }t          |d	d          |           t	          j        dgd          }|                    g d| d	z   t           j        |df         t          j        |j	                  
          }t          d	dgd	dg|          }t          |d	d          |           d S )N'  d   sizer   r   r   r   order      ?      ?r   state_shocksinitial_state      ࿩r   r   r   r   r   r   r   皙?r   r!   )nprandomseednormalr   SARIMAXsimulater_zerosk_statesr   r   )nobsepsmodactualdesireds        n/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/tsa/statespace/tests/test_simulate.pytest_arma_lfilterr1      s    INN5D
)



%
%C /1#Y
/
/
/C\\3)TAXBE#q&M(*(>(>  @ @FqcAt9c**GF122J((( /1#Y
/
/
/C\\3)TAXBE#q&M(*(>(>  @ @Fq#hS))GF122J((( /1#Y
/
/
/C\\...$(sAv(*(>(>  @ @Fq#hD	3//GF122J(((((    c                     t           j                            d           d} t           j                            |           }t           j                            |           }t	          j        dgd          }|                    ddg| d	z   t           j        |df         t          j        |j	                  
          }t          j        |           }t          |           D ].}|dk    r||         ||<   d||d	z
           z  ||         z   ||<   /t          |d	d          |           t	          j        dgd          }|                    ddg| d	z   t           j        |df         t          j        |j	                  
          }t          j        |           }t          |           D ].}|dk    r||         ||<   d||d	z
           z  ||         z   ||<   /t          |d	d          |           t	          j        dgd          }|                    g d| d	z   t           j        |df         t          j        |j	                  
          }t          j        |           }t          |           D ]=}|dk    r||         ||<   d||d	z
           z  d||d	z
           z  z   ||         z   ||<   >t          |d	d          |           t	          j        dgdd          }|                    g d| d	z   t           j        |df         t          j        |j	                  
          }t          j        |           }t          |           D ]E}d}|dk    r|||         z   ||<   |d||d	z
           z  z   d||d	z
           z  z   ||         z   ||<   Ft          |d	d          |           t	          j        t          j        | d	z             dd          }|                    g d| d	z   t           j        |df         t          j        |j	                  
          }t          j        |           }t          |           D ]N}dd|d	z   z  z   }|dk    r|||         z   ||<   "|d||d	z
           z  z   d||d	z
           z  z   ||         z   ||<   Ot          |d	d          |           t	          j        t          j        | d	z             t           j        d|f         dd          }|                    g d| d	z   t           j        |df         t          j        |j	                  
          }t          j        |           }t          |           D ]N}dd|d	z   z  z   }|dk    r|||         z   ||<   "|d||d	z
           z  z   d||d	z
           z  z   ||         z   ||<   O|d|z  z
  }t          |d	d          |           d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r    r!   cr   trend)?r   r!   r   r7   ct)r7   r!   r   r!   r   )exogr   r6   )r7   r!   r   r   r!   r   )r"   r#   r$   r%   r   r&   r'   r(   r)   r*   ranger   )r+   r,   r9   r-   r.   r/   ir6   s           r0   test_arma_directr<   <   s   
 INN5D
)



%
%C9&&D /1#Y
/
/
/C\\3)TAXBE#q&M(*(>(>  @ @FhtnnG4[[ 7 766QGAJJwq1u~-A6GAJJF122J((( /1#Y
/
/
/C\\3)TAXBE#q&M(*(>(>  @ @FhtnnG4[[ 3 366QGAJJs1q5z)CF2GAJJF122J((( /1#Y
/
/
/C\\...$(sAv(*(>(>  @ @FhtnnG4[[ J J66QGAJJwq1u~-c!a%j0@@3q6IGAJJF122J((( /1#Yc
:
:
:C\\---tax')uS!V}(*(>(>  @ @F htnnG4[[ 5 566QGAJJ#A"66AE
*+-0V4GAJJF122J(((
 /"(4!8,,IT
J
J
JC\\222D1H')uS!V}(*(>(>  @ @F htnnG4[[ 5 5cQUm#66QGAJJ#A"66AE
*+-0V4GAJJF122J((( /"(4!8,,25D> )7 7 7C\\888$(')uS!V}(*(>(>  @ @F htnnG4[[ 5 5cQUm#66QGAJJ#A"66AE
*+-0V4GAJJd
"GF122J(((((r2   c            	         t           j                            d           d} t           j                            |           }t           j                            |           }t          j        |           }t          j        |           }d|d<   t          j        |           }d|dd <   t          j        dgd          }t          j        dgd	
          }|	                    ddg| |t          j        |j
                            }|	                    ddg| |t          j        |j
                            }	t          ||	           t          j        t          j        |           |d          }t          j        t          j        |           |d	          }|	                    g d| |t          j        |j
                            }|	                    g d| |t          j        |j
                            }	t          ||	           t          j        dgd          }
|
	                    dg| |t          j        |
j
                            }t          ||           t          }d}t          j        ||          5  t          j        dgd          }
d d d            n# 1 swxY w Y   |
	                    dg| |dg          }t          |d|z              t          j        dgd          }
|
	                    dg| |dg          }t          |d|z              t          j        dgd          }
|
	                    ddg| ||t          j        |
j
                            }t          |||z              t          j        dgd          }
|
	                    dg| ||t          j        |
j
                            }t          |||z              t          }d}t          j        ||          5  t          j        dgd          }
d d d            n# 1 swxY w Y   |
	                    ddg| ||ddg          }t          ||t          j        d          z              t          j        dgd          }
|
	                    dg| ||ddg          }t          ||t          j        d          z              t          j        dgd          }
|
	                    ddg| ||ddg          }|t           j        t          j        d          dt          j        dd          z   f         z   }	t          ||	           t          j        dgd          }
|
	                    dg| |ddg          }t           j        t          j        d          dt          j        dd          z   f         }	t          ||	           t          j        dgd           }
|
	                    g d!| |t           j        ||f         ddg          }|t           j        t          j        d          dt          j        dd          z   f         z   }	t          ||	           |
	                    g d!| |t           j        ||f         ddg          }|t           j        t          j        d          t          j        dd"d#          f         z   }	t          ||	           t          j        dgd$          }
|
	                    ddg| ||ddg          }|t           j        t          j        d                   z   }	t          ||	           |
	                    ddg| ||ddg          }|t           j        t          j        d          t          j        dd"d#          f         z   }	t          ||	           t          j        dgd%          }
|
	                    ddg| |ddg          }t           j        t          j        d                   }	t          ||	           |
	                    ddg| |ddg          }t           j        t          j        d          t          j        dd"d#          f         }	t          ||	           t          j        dgdd#d&'          }
|
	                    dg| |dg          }|t          j        dd(gd          z   }	t          ||	           t          j        dgdd#)          }
|
	                    ddg| ||dg          }|t           j        t          j        dd(gd*          t          j        d+d,gd*          f         z   }	t          ||	           t          j        dgdd-.          }
|
	                    dd/g| |ddg          }t          j        d/          t          j        d/          g}t          j        d/           t          j        d/          g}t          j        ||g          }|}	ddg}t-          |           D ]-}|	|xx         |d         z  cc<   t          j        ||          }.t          ||	           t          j        dgdd-d-0          }
|
	                    g d1| |t           j        ||f         ddg          }t          j        d/          t          j        d/          g}t          j        d/           t          j        d/          g}t          j        ||g          }|}	ddg}t-          |           D ]6}|	|xx         |d         z  cc<   t          j        ||          ||         z   }7t          ||	           d S )2N#  r   r   r   1   2   r   )autoregressiver   r   r   r   )r9   rA   )r9   r   )r   r   r!   )r!   r   r   	irregularr   )measurement_shocksr   zirregular component addedmatchzfixed intercept
   zdeterministic constantlocal levelrC   r   r   zrandom walkzfixed slopezdeterministic trendz local linear deterministic trendzrandom walk with driftzlocal linear trendr   r   r         zsmooth trendzrandom trendF)seasonalstochastic_seasonali)rL         iT)cycle333333?)rP   stochastic_cycle)r   r   rQ   )r"   r#   r$   r%   r)   r   UnobservedComponentsr   r&   r'   r*   r   r	   pytestwarnsaranger(   c_tilecossinarrayr:   dot)r+   r,   r9   eps1eps2eps3mod1mod2r.   r/   r-   warningrE   x1x2Tstatesr;   s                     r0   test_structuralrg      s   INN5D
)



%
%C9&&D8D>>D8D>>DDH8D>>DDI *A3qAAAD?A3i000D]]As8T)+$-)@)@  B BFmmS!Hd*,(4=*A*A  C CGFG$$$ *28D>>:;= = =D?28D>>IFFFD]]===$S)+$-)@)@  B BFmmMMM4c*,(4=*A*A  C CGFG$$$ 
)1#{
;
;C\\2$(*(>(>  @ @FFC   
 #G'E	gU	+	+	+ F F-qc3DEEF F F F F F F F F F F F F F F\\2$)+  . .FFBH%%% 
)1#/G
H
HC\\2$)+  . .FFBH%%% 
)1#}
=
=C\\2r(DS'+(*(>(>  @ @F FC$J''' 
)1#}
=
=C\\2$'+(*(>(>  @ @F FC$J'''
 #G'E	gU	+	+	+ B B-qc=AAB B B B B B B B B B B B B B B\\2r(DS'+Aq6  C CFFC")C..0111 
)1#/D
E
EC\\2$'+Aq6  C CFFC")C..0111 
)	
/1 1C\\2r(DS'+Aq6  C CFBE")B--RYr3-?-?)??@@GFG$$$ 
)1#/G
H
HC\\2$4)*A  0 0FeBIbMM1ryS'9'9#99:GFG$$$ 
)1#/C
D
DC\\,,,')uT4Z'8A  P PFBE")B--RYr3-?-?)??@@GFG$$$\\,,,')uT4Z'8A  P PFBE")B--2sA)>)>>??GFG$$$ 
)1#~
>
>C\\2r(DS'+Aq6  C CFBE")C..))GFG$$$\\2r(DS'+Aq6  C CFBE")B--2sA)>)>>??GFG$$$ 
)1#~
>
>C\\2r(D'+Aq6  C CFeBIcNN#GFG$$$\\2r(D'+Aq6  C CFeBIbMM29Ra#8#889GFG$$$ 
)1#{Q>CE E EC\\2$)+  . .FBGRIr***GFG$$$ 
)1#{Q
G
G
GC\\2r(DS'+B4  A AFBE"'2s)R00"'2s)R2H2HHIIGFG$$$ 
)1#{$
G
G
GC\\2s)Tc)*A  0 0F
&++rvc{{	#B6#;;,s	$B
"bAGVF4[[ # #


fQi


6""FG$$$ 
)1#{$;?A A AC\\---#')uT4Z'8A  P PF
&++rvc{{	#B6#;;,s	$B
"bAGVF4[[ - -


fQi


6""T!W,FG$$$$$s$   J++J/2J/>P!!P%(P%c            	      J   t           j                            d           d} t           j                            |           }t           j                            | df          }t          j        |           }t          j        |           }d|d<   t          j        |           }d|dd <   t          j        dggdd	
          }t          j        dgd          }|	                    g d| |t          j        |j
                            }|	                    g d| |t          j        |j
                            }	t          ||	           t          j        dggdd	
          }t          j        dgd          }|	                    g d| |t          j        |j
                            }|	                    g d| |t          j        |j
                            }	t          ||	           t          }
d}t          j        |
|          5  t          j        dggdd	
          }d d d            n# 1 swxY w Y   t          j        dgd          }|	                    g d| |t          j        |j
                            }|	                    g d| |t          j        |j
                            }	t          ||	           t          }
d}t          j        |
|          5  t          j        dggdd
          }d d d            n# 1 swxY w Y   t          j        dgdd
          }|	                    g d| |t          j        |j
                            }|	                    g d| |t          j        |j
                            }	t          ||	           t          j        ddgddgg          }t          j        ddggdd	
          }|	                    t           j        |                                dddf         | t           j        ||f         t          j        |j
                            }t          |d           |	                    t           j        |                                dddf         | t           j        ||f         ddg          }t          j        | df          }	t           j        d         }t'          |           D ]}||	|<   t          j        ||          }t          ||	           t          j        ddggdd	d !          }|	                    t           j        |                                dddddf         | t           j        ||f         t           j        ||f         t          j        |j
                  "          }t          |t           j        ||f                    t          j        t          j        | df          dd	|#          }|	                    t           j        |                                d$d%dddf         | t           j        ||f         ddg          }t          j        | df          }	t           j        d         }t'          |           D ]6}||	|<   || dz
  k     r&||dz            d$d%gz  t          j        ||          z   }7t          ||	           t          j        t           j                            | df          d&d	
          }|	                    |j        |            t          }
d}t          j        |
|          5  t          j        t           j                            | df          dd|#          }d d d            n# 1 swxY w Y   |	                    |j        |            d S )'Niެ r   r   r   r?   r@   r   )rK   r   nr5   rK   r   r   r   r   r!   r   r   )r   rK   )r   r   rK   zVARMA\(p,q\) models is notrD   rK   rK   )rK   r   rK   )r   r!   皙?皙ɿr   r4   )rF   r   r!   rm   rn   r   r   rm   gr!   r   r   r   rK   )r   r   T)r   r6   measurement_errorrH   )r   r6   r9      )r   r   )r"   r#   r$   r%   r)   r   VARMAXr   r&   r'   r*   r   r   rT   rU   r[   r(   ravelrW   r:   r\   start_params)r+   r,   r9   r]   r^   r_   r`   ra   r.   r/   rb   rE   
transitionr-   stater;   s                   r0   test_varmaxrx   U  sL   INN6D
)



%
%C9$++D8D>>D8D>>DDH8D>>DDI =1#fC888D?A3i000D]]===$S)+$-)@)@  B BFmmMMM4c*,(4=*A*A  C CGFG$$$ =1#fC888D?A3i000D]]===$S)+$-)@)@  B BFmmMMM4c*,(4=*A*A  C CGFG$$$  G)E	gU	+	+	+ = =}qcU&<<<= = = = = = = = = = = = = = =?A3i000D]]333T)+$-)@)@  B BFmm444d*,(4=*A*A  C CGFG$$$  G)E	gU	+	+	+ = =}qcU&<<<= = = = = = = = = = = = = = =?A3is;;;D]]777(+)+$-)@)@  B BF mm888$),*,(4=*A*A  C CG FG$$$ C#; #;( ) )J -!Qc
:
:
:C\\"%
 0 0 2 2B2 =>')uT4Z'8(*(>(>  @ @F FA\\"%
 0 0 2 2B2 =>')uT4Z'8A  P PFhay!!GE$KE4[[ * *
z5))FG$$$ -!Qc*.0 0 0C\\"%
 0 0 2 2B2r2 EF-/U38_')uT4Z'8(*(>(>  @ @F FBE#s(O,,, -$++6!# # #C\\"%
 0 0 2 2Ar2q" DEt')uT4Z'8A  P PFhay!!GE$KE4[[ F F
tax<<QK1b')BF:u,E,EEEFG$$$ -
	tQi((cC C CCLL!4(((  G)E	gU	+	+	+  mI4),,F#                 LL!4(((((s6   H99H= H=.LLL89]==^^c            	         t           j                            d           d} t           j                            |           }t           j                            | df          }t          j        |           }t          j        |           }d|d<   t          j        |           }d|dd <   t          j        ddggdd	          }t          j        dgd
          }|	                    g d| t           j
        ||f         |t          j        |j                            }|	                    g d| |t          j        |j                            }	t          |d d df         d|	z             t          |d d df         d|	z             t          j        t          j        | df          dd|          }t          j        dgd
          }|	                    g d| t           j
        ||f         |t          j        |j                            }|	                    g d| |t          j        |j                            }	t          |d d df         d|	z  d|d d df         z  z              t          |d d df         d|	z  d|d d df         z  z
             t          j        t           j                            | df          dd|dd          }
|
	                    |
j        |            d S )Ni+n r   r   r   r?   r@   r   rK   	k_factorsfactor_orderrj   r   )皙?r   r   r   r!   rH   rk   r   r}   r~   r{   r|   r9   )r}   r~   rq   rr   r   r   r   r!   rq      T)r{   r|   r9   error_order	error_var)r"   r#   r$   r%   r)   r
   DynamicFactorr   r&   r'   rW   r*   r   ru   )r+   r,   r9   r]   r^   r_   r`   ra   r.   r/   r-   s              r0   test_dynamic_factorr     s   INN5D
)



%
%C9$++D8D>>D8D>>DDH8D>>DDI '!QAANNND?A3i000D]]888$.0eD$J.?(+)+$-)@)@  B BF mmMMM4c*,(4=*A*A  C CGF111a4L$.111F111a4L#-000 '$(;(;q56TC C CD?A3i000D]]???.0eD$J.?(+)+$-)@)@  B BF mmMMM4c*,(4=*A*A  C CGF111a4L$.1tAAAqDz>"ABBBF111a4L#-!d111a4j."@AAA 
&ry'7'7dAY'7'G'G1234F F FC LL!4(((((r2   c            
      6   t           j                            d           d} t           j                            |           }t          j        |           }t          j        |           }d|d<   t          j        |           }d|dd <   t          j        dgd	          }|j                            dgdgg           |	                    d
dg| |          }t          |dd
t          j        |           z  z             t          j        dgd          }|j                            dgdgg           |	                    ddg| ||          }t          |d|z   |z              t          j        d
dg          }t          j        ddggdd          }|                    ddgt          j        ddg                     |	                    t           j        |                                dddf         | t           j        ||f         t           j        ||f                   }t          |t           j        dd
t          j        |           z  z  ddt          j        |           z  z  f                    t)          j        ddggdd          }|                    dgdgg           |	                    g d| t           j        ||f         |          }dd
t          j        |           z  z  }t          |t           j        d|z  d|z  f                    d S )Nr>   r   r   r   r?   r@   r   r   r   r   r   )r   rG   )rC   r   r!   ro   ri   r5   rz   )r~   r!   r   r   r   r~   )r"   r#   r$   r%   r)   r   r&   ssminitialize_knownr'   r   rV   r   rS   diagr   rs   r(   rt   rW   r
   r   )	r+   r,   r]   r^   r_   r-   r.   rv   tmps	            r0   test_known_initializationr     s    INN5D
)



%
%C8D>>D8D>>DDH8D>>DDI
 /1#Y
/
/
/CGcUaSE***\\3)T\==FFC#ry"66777 
)1#}
=
=CGcUaSE***\\2r(DS'+  - -FFC#I,---
 #s$$J
-!Qc
:
:
:C#rBGQFOO444\\"%
 0 0 2 2B2 =>-/U4:->')uT4Z'8  : :F FBE#RYt__(<"<"$sBIdOO';";#< = > > > 
&Ax11
M
M
MC#!&&&\\333T-/U4:->'+  - -F RYt__$
$CFBE#)S3Y"6788888r2   c                  (   d} t          j        dgdd          }|                    ddg|           }t          |t	          j        |                      |                    ddg|           }t          |t	          j        |           dz             d S )Nr   r   )r   r   r   r4   r5   r   rF   )r   r&   r'   r   r"   ones)n_simulationsr-   r.   s      r0   test_sequential_simulater   +  s     M
/1#Yc
:
:
:C\\1a&-00FFBGM22333\\2q'=11FFBGM22R788888r2   c                  f   t          j        dd          } t          j        |           }|                    ddg          }d}t          j        ||j        f          }t          j        ||j        f          }|j        d         }t          |d           |
                    |d|||	          }ddt          j        d|dz             z  z  }t          ||           |
                    |j        |d|||	          }	t          |	|           t          ||                    |                     d S )
Nr   rO   r   r   rF   .rq   endanchorrC   r   r   )r"   rV   r   r&   filterr)   k_endogr*   predicted_stater   r'   paramsforecast
endogr-   resnsimulationsrC   r   r   r.   r/   
mod_actuals
             r0   (test_sarimax_end_time_invariant_noshocksr   9  sA    IaE
/%
 
 C
**c2Y

CL<"=>>8\3<899L'0MM1%%%\\,u-?'3(5  7 7F 3	!\A%56666GFG$$$ 
L-!#	  % %J J((( FCLL6677777r2   c                     t          j        t          j        dd                    } t          j        | dd          }|                    ddg          }d}t          j        ||j        f          }t          j        ||j        f          }|j	        d	         }t          |d
           |                    |d|||          }ddt          j        d|dz             z  z  }t          ||           |                    |j        |d|||          }	t          |	|           t          ||                    |                     d S )Nr   rO   r   r   r   Tr   simple_differencingr   r   rF   r   rq   r   r   r   )r"   cumsumrV   r   r&   r   r)   r   r*   r   r   r'   r   r   r   s
             r0   <test_sarimax_simple_differencing_end_time_invariant_noshocksr   ]  sR    Ibi2&&''E
/%yd
K
K
KC
**c2Y

CL<"=>>8\3<899L'0MM1%%%\\,u-?'3(5  7 7F 3	!\A%56666GFG$$$ 
L-!#	  % %J J((( FCLL6677777r2   c                 B   t          j        dd          }t          j        |          }|                    ddg          }d}t           j                            |          }t           j                            |          }|j        d ddf         }|                    |d|||	          }t          dgdd
gt           j
        ||f                   d d         |z   }	t          ||	           |                    |j        |d|||	          }
t          |
|	           d S )Nr   rO   r   r   rF   r   r   r   r   r   )r"   rV   r   r&   r   r#   r%   r   r'   r   r(   r   r   reset_randomstater   r-   r   r   rC   r   r   r.   r/   r   s              r0   "test_sarimax_time_invariant_shocksr     s8    IaE
/%
 
 C
**c2Y

CL))|)<<9###66L'B/M\\,u-?'3(5  7 7F 	aYm\&A BCCCRCH	  FG$$$ 
L-!#	  % %J J(((((r2   c                  l   t          j        t          j        dd                    } t          j        | dd          }|                    ddg          }d}t           j                            |	          }t           j                            |	          }|j        d d
df         }|	                    |d|||          }t          d
gd
dgt           j        ||f                   d d         |z   }t          ||           |	                    |j        |d|||          }	t          |	|           d S )Nr   rO   r   Tr   r   r   rF   r   r   r   r   r   r   )r"   r   rV   r   r&   r   r#   r%   r   r'   r   r(   r   r   r   s
             r0   :test_sarimax_simple_differencing_end_time_invariant_shocksr     sI    Ibi2&&''E
/%yd
K
K
KC
**c2Y

CL))|)<<9###66L'B/M\\,u-?'3(5  7 7F 	aYm\&A BCCCRCH	  FG$$$ 
L-!#	  % %J J(((((r2   c            
         t          j        dd          } t          j        | d          }|                    g d          }d}t          j        ||j        f          }t          j        ||j        f          }|j        d         }t          |d           |
                    |d	|||
          }t          dgddgt           j        dt          j        dd          f                   }t          ||           |
                    |j        |d	|||
          }	t          |	|           t          ||                    |                     d S )Nr   rO   tr6   r   r!   r   rF   r      r   r   rn      )r"   rV   r   r&   r   r)   r   r*   r   r   r'   r   r(   r   r   r   s
             r0   (test_sarimax_time_varying_trend_noshocksr     sU    IaE
/%s
+
+
+C
**]]]
#
#CL<"=>>8\3<899L'0MM2&&&\\,u-?'3(5  7 7F qcAt9beB	"b0A0A,A&BCCGFG$$$ 
L-!#	  % %J J((( FCLL6677777r2   c            
         t          j        t          j        dd                    } t          j        | ddd          }|                    g d          }d}t          j        ||j        f          }t          j        ||j        f          }|j	        d	         }t          |d
           |                    |d|||          }t          dgddgt           j        d
t          j        dd          f                   }t          ||           |                    |j        |d|||          }	t          |	|           t          ||                    |                     d S )Nr   rO   r   r   Tr   r6   r   r   rF   r   r   r   r   r   rn   r   )r"   r   rV   r   r&   r   r)   r   r*   r   r   r'   r   r(   r   r   r   s
             r0   <test_sarimax_simple_differencing_time_varying_trend_noshocksr     sj    Ibi2&&''E
/%y.24 4 4C
**]]]
#
#CL<"=>>8\3<899L'0MM2&&&\\,u-?'3(5  7 7F qcAt9beB	"b0A0A,A&BCCGFG$$$ 
L-!#	  % %J J((( FCLL6677777r2   c                 v   t          j        dd          }t          j        |d          }|                    g d          }d}t           j                            |          }t           j                            |          }|j        d ddf         }|                    |d	|||
          }t           j	        ||t          j        dd          z   f         }	t          dgddg|	          d d         |z   }
t          ||
           |                    |j        |d	|||
          }t          ||
           d S )Nr   rO   r   r   r   rF   r   r   r   r      rn   r"   rV   r   r&   r   r#   r%   r   r'   r(   r   r   r   r   r   r-   r   r   rC   r   r   r.   xr/   r   s               r0   &test_sarimax_time_varying_trend_shocksr     sL    IaE
/%s
+
+
+C
**]]]
#
#CL))|)<<9###66L'B/M\\,u-?'3(5  7 7F
 	m\BIb",=,===>AqcAt9a(("-0BBGFG$$$ 
L-!#	  % %J J(((((r2   c                    t          j        t          j        dd                    }t          j        |ddd          }|                    g d          }d}t           j                            |	          }t           j                            |	          }|j        d d
df         }t          |d           |
                    |d|||          }t           j        ||t          j        dd          z   f         }	t          d
gd
dg|	          d d         |z   }
t          ||
           |
                    |j        |d|||          }t          ||
           d S )Nr   rO   r   r   Tr   r   rF   r   r   r   r   r   r   r   rn   )r"   r   rV   r   r&   r   r#   r%   r   r   r'   r(   r   r   r   s               r0   :test_sarimax_simple_differencing_time_varying_trend_shocksr   ,  sq   
 Ibi2&&''E
/%y.24 4 4C
**]]]
#
#CL))|)<<9###66L'B/MM2&&&\\,u-?'3(5  7 7F
 	m\BIb",=,===>AqcAt9a(("-0BBGFG$$$ 
L-!#	  % %J J(((((r2   c            	         t          j        dd          } t          j        dd          dz  }t          j        | |d d                   }|                    g d          }d}t          j        ||j        f          }t          j        ||j        f          }|j        d         }|	                    ||dd          d	|||
          }t          dgddgt           j        |dgdz  f                   |dd          z   }	t          ||	           |	                    |j        ||dd          d	|||
          }
t          |
|	           t          ||                    ||dd                               d S )Nr   rO   r   rK   rF   r9   r   r   r   r9   r   rC   r   r   rn   r   	   )r"   rV   r   r&   r   r)   r   r*   r   r'   r   r(   r   r   r   r   r9   r-   r   r   rC   r   r   r.   r/   r   s              r0   'test_sarimax_time_varying_exog_noshocksr   O  s    IaE9QQD
/%d3B3i
0
0
0C
**]]]
#
#CL<"=>>8\3<899L'0M\\,T"##Yu-?'3(5  7 7F sQIru]QC!G-C'DEEBCCyGFG$$$ 
LtBCCy-!#	  % %J J((( FCLLDILFFGGGGGr2   c            	      `   t          j        t          j        dd                    } t          j        t          j        dd          dz            }t          j        | d|d d         d          }|                    g d          }d	}t          j        ||j        f          }t          j        ||j        f          }|j	        d
         }|
                    ||dd          d|||          }t          dgddgt           j        |dgdz  f                   t          j        |          d	d          z   }	t          ||	           |
                    |j        ||dd          d|||          }
t          |
|	           t          ||                    ||dd                               d S )Nr   rO   r   rK   r   Tr   r9   r   r   rF   r   r   r   r   rn   r   r   )r"   r   rV   r   r&   r   r)   r   r*   r   r'   r   r(   diffr   r   r   r   s              r0   ;test_sarimax_simple_differencing_time_varying_exog_noshocksr   u  s    Ibi2&&''E9RYq"%%q())D
/%ytCRCy.24 4 4C
**]]]
#
#CL<"=>>8\3<899L'0M\\,T"##Yu-?'3(5  7 7F sQIru]QC!G-C'DEEwt}}RSS!"GFG$$$ 
LtBCCy-!#	  % %J J((( FCLLDILFFGGGGGr2   c           	         t          j        dd          }t          j        dd          dz  }t          j        ||d d                   }|                    g d          }d}t           j                            |          }t           j                            |          }|j        d dd	f         }|                    ||dd          d
|||          }	t           j	        ||d d	         f         }
t          dgddg|
          |dd          z   |z   }t          |	|           |                    |j        ||dd          d
|||          }t          ||           d S )Nr   rO   r   rK   rF   r   r   r   r   r   r   rn   r   r   r   r9   r-   r   r   rC   r   r   r.   r   r/   r   s                r0   %test_sarimax_time_varying_exog_shocksr     sz    IaE9QQD
/%d3B3i
0
0
0C
**]]]
#
#CL))|)<<9###66L'B/M\\,T"##Yu-?'3(5  7 7F
 	m\#2#../AqcAt9a((4947IIGFG$$$ 
LtBCCy-!#	  % %J J(((((r2   c           	      4   t          j        t          j        dd                    }t          j        t          j        dd          dz            }t          j        |d|d d         d          }|                    g d          }d	}t           j                            |
          }t           j                            |
          }|j        d ddf         }|	                    ||dd          d|||          }	t           j
        ||d d         f         }
t          dgddg|
          t          j        |          d	d          z   |z   }t          |	|           |	                    |j        ||dd          d|||          }t          ||           d S )Nr   rO   r   rK   r   Tr   r   rF   r   r   r   r   r   rn   )r"   r   rV   r   r&   r   r#   r%   r   r'   r(   r   r   r   r   r   s                r0   9test_sarimax_simple_differencing_time_varying_exog_shocksr     s    Ibi2&&''E9RYq"%%q())D
/%ytCRCy.24 4 4C
**]]]
#
#CL))|)<<9###66L'B/M\\,T"##Yu-?'3(5  7 7F 	m\#2#../AsQIq))BGDMM"##,>>!"GFG$$$ 
LtBCCy-!#	  % %J J(((((r2   c                     t          j        dd          } t          j        | d          }|                    ddg          }d}t          j        ||j        f          }t          j        ||j        f          }|j        d         }|	                    |d|||          }|d	         }t          ||           |	                    |j        |d|||          }	t          |	|           t          ||                    |                     d S )
Nr   rO   llevelr   rF   r   r   r   r   r"   rV   r   rS   r   r)   r   r*   r   r'   r   r   r   r   s
             r0   6test_unobserved_components_end_time_invariant_noshocksr     s    IaE

)%
:
:C
**b"X

CL<"=>>8\3<899L'0M\\,u-?'3(5  7 7F AGFG$$$ 
L-!#	  % %J J((( FCLL6677777r2   c                 J   t          j        dd          }t          j        |d          }|                    ddg          }d}t           j                            |          }t           j                            |          }|j        d ddf         }|                    |d|||	          }|t          j	        t           j
        d
|d d         f                   z   |z   }	t          ||	           |                    |j        |d|||	          }
t          |
|	           d S )Nr   rO   r   r   rF   r   r   r   r   r   r"   rV   r   rS   r   r#   r%   r   r'   r   r(   r   r   r   s              r0   4test_unobserved_components_end_time_invariant_shocksr     s3    IaE

)%
:
:C
**b"X

CL))|)<<9###66L'B/M\\,u-?'3(5  7 7F
 ryq,ss2C/C)DEEE!"GFG$$$ 
L-!#	  % %J J(((((r2   c            	         t          j        dd          } t          j        dd          dz  }t          j        | d|d d                   }|                    g d          }d}t          j        ||j        f          }t          j        ||j        f          }|j        d	         }|	                    ||dd          d
|||          }|d         |dd          z   }	t          ||	           |	                    |j        ||dd          d
|||          }
t          |
|	           t          ||                    ||dd                               d S )Nr   rO   r   rK   r   rF   r   rI   r   r   r   r   r   r   s              r0   9test_unobserved_components_end_time_varying_exog_noshocksr   #  sn    IaE9QQD

)%SbS	
J
J
JC
**\\\
"
"CL<"=>>8\3<899L'0M\\,T"##Yu-?'3(5  7 7F Abcc*GFG$$$ 
LtBCCy-!#	  % %J J((( FCLLDILFFGGGGGr2   c           	         t          j        dd          }t          j        dd          dz  }t          j        |d|d d                   }|                    g d          }d}t           j                            |	          }t           j                            |	          }|j        d dd
f         }|                    ||dd          d|||          }	|t          j	        t           j
        d|d d
         f                   z   |z   |dd          z   }
t          |	|
           |                    |j        ||dd          d|||          }t          ||
           d S )Nr   rO   r   rK   r   rF   r   rI   r   r   r   r   r   r   )r   r   r9   r-   r   r   rC   r   r   r.   r/   r   s               r0   7test_unobserved_components_end_time_varying_exog_shocksr   H  sz    IaE9QQD

)%SbS	
J
J
JC
**\\\
"
"CL))|)<<9###66L'B/M\\,T"##Yu-?'3(5  7 7F
 ryq,ss2C/C)DEEE!"$(I.GFG$$$ 
LtBCCy-!#	  % %J J(((((r2   c                     t          j        dd                              dd          } t          j        | d          }|                    g d          }d}t          j        ||j        f          }t          j        ||j        f          }|j	        d d df         }|
                    |d	|||
          }|d d d f         dt          j        d          z  z  j        }t          ||           |
                    |j        |d	|||
          }	t          |	|           t          ||                    |                     d S )Nr   r   rF   rK   ri   r   r   r   r   r   r   r   r   r   r   r   )r"   rV   reshaper   rs   r   r)   r   r*   r   r'   re   r   r   r   r   s
             r0   'test_varmax_end_time_invariant_noshocksr   h  sX    Ia$$R++E
-S
)
)
)C
**222
3
3CL<"=>>8\3<899L'2.M\\,u-?'3(5  7 7F
 QQQW%RYr]](::=GFG$$$ 
L-!#	  % %J J((( FCLL6677777r2   c                    t          j        dd                              dd          }t          j        |d          }|                    g d          }d}t           j                            ||j        f          }t           j                            ||j	        f          }|j
        d d d	f         }|                    |d
|||          }t          j        ||j        f          }	||	d<   t          d|          D ].}
|	|
dz
                                           ||
dz
           z   |	|
<   /|	|z   }	t          ||	           |                    |j        |d
|||          }t          ||	           d S )Nr   r   rF   rK   ri   r   r   r   r   r   r   r   )r"   rV   r   r   rs   r   r#   r%   r   r*   r   r'   r)   r:   sumr   r   r   r   r-   r   r   rC   r   r   r.   r/   r;   r   s               r0   %test_varmax_end_time_invariant_shocksr     s    Ia$$R++E
-S
)
)
)C
**222
3
3CL))ck/J)KK9##,)E#FFL'2.M\\,u-?'3(5  7 7F
 hck233GGAJ1l## @ @QU^''))LQ,??

**GFG$$$ 
L-!#	  % %J J(((((r2   c                     t          j        dd                              dd          } t          j        | d          }|                    g d          }d}t          j        ||j        f          }t          j        ||j        f          }|	                    d d          5  |j
        d d d	f                                         }d d d            n# 1 swxY w Y   |                    |d
|||          }t          j        ||j        f          }||d<   dt          j        dd          z   }	t          d|          D ]7}
||
dz
                                           |	|
         z   ||
dz
           z   ||
<   8||z   }t          ||           |                    |j        |d
|||          }t          ||           t          ||                    |                     d S )Nr   r   rF   rK   r8   r   r   r   r   r   r   r   r   r   r   r   r   r9   out_of_sampler   r   r   r   rO   )r"   rV   r   r   rs   r   r)   r   r*   _set_final_predicted_stater   copyr'   r:   r   r   r   r   )r   r-   r   r   rC   r   r   r.   r/   	tmp_trendr;   r   s               r0   +test_varmax_end_time_varying_trend_noshocksr     s@    Ia$$R++E
-T
*
*
*C
**@@@
A
ACL<"=>>8\3<899L 
	'	'T	'	D	D : :+AAArE27799: : : : : : : : : : : : : : : \\,u-?'3(5  7 7F
 hck233GGAJBIb"%%%I1l## O OQU^''))IaL8<A;NN

**GFG$$$ 
L-!#	  % %J J((( FCLL6677777s   &$CCCc                    t          j        dd                              dd          }t          j        |d          }|                    g d          }d}t           j                            ||j        f          }t           j                            ||j	        f          }|
                    d d	          5  |j        d d d
f                                         }d d d            n# 1 swxY w Y   |                    |d|||          }t          j        ||j        f          }	||	d<   dt          j        dd          z   }
t          d|          D ]7}|	|dz
                                           |
|         z   ||dz
           z   |	|<   8|	|z   }	t#          ||	           |                    |j        |d|||          }t#          ||	           d S )Nr   r   rF   rK   r8   r   r   r   r   r   r   r   r   rO   )r"   rV   r   r   rs   r   r#   r%   r   r*   r   r   r   r'   r)   r:   r   r   r   )r   r   r-   r   r   rC   r   r   r.   r/   r   r;   r   s                r0   )test_varmax_end_time_varying_trend_shocksr     s4    Ia$$R++E
-T
*
*
*C
**@@@
A
ACL))ck/J)KK9##,)E#FFL 
	'	'T	'	D	D : :+AAArE27799: : : : : : : : : : : : : : : \\,u-?'3(5  7 7F
 hck233GGAJBIb"%%%I1l## O OQU^''))IaL8<A;NN

**GFG$$$ 
L-!#	  % %J J(((((s   >$C..C25C2c            	      X   t          j        dd                              dd          } t          j        dd          dz  }t          j        | d|d d                   }|                    g d          }d}t          j        ||j        f          }t          j        ||j        f          }|	                    |dd          d          }|
                    |d	          5  |j        d d d
f                                         }d d d            n# 1 swxY w Y   |                    ||dd          d|||          }	t          j        ||j        f          }
||
d<   t          d|          D ]:}|
|dz
                                           |d|z            z   ||dz
           z   |
|<   ;|
|z   }
t!          |	|
           |                    |j        ||dd          d|||          }t!          ||
           t!          |	|                    ||dd                               d S )Nr   r   rF   rK   ri   r6   r9   	r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r"   rV   r   r   rs   r   r)   r   r*   _validate_out_of_sample_exogr   r   r   r'   r:   r   r   r   r   )r   r9   r-   r   r   rC   r   tmp_exogr   r.   r/   r;   r   s                r0   *test_varmax_end_time_varying_exog_noshocksr     s    Ia$$R++E9QQD
-StCRCy
9
9
9C
**:::
;
;CL<"=>>8\3<899L //RSS	/LLH		'	'XR	'	H	H : :+AAArE27799: : : : : : : : : : : : : : : \\,T"##Yu-?'3(5  7 7F
 hck233GGAJ1l## O OQU^''))DaL8<A;NN

**GFG$$$ 
LtBCCy-!#	  % %J J((( FCLLDILFFGGGGGs   &$DDDc           
      .   t          j        dd                              dd          }t          j        dd          dz  }t          j        |d d         d|d d                   }|                    g d	          }t          j        |d|d d                   }|                    g d	          }d}t           j                            ||j        f
          }t           j                            ||j	        f
          }	|
                    |dd          d          }
|                    |
d          5  |j        d d df                                         }d d d            n# 1 swxY w Y   |                    ||dd          d||	|          }|                    ||dd          d||	|j        d d df                   }t          j        ||j        f          }||d<   t!          d|          D ]:}||dz
                                           |d|z            z   |	|dz
           z   ||<   ;||z   }t%          ||           t%          ||           |                    |j        ||dd          d||	|          }t%          ||           d S )Nr      rO   rK   r   rF   ri   r   r   r   r   r   r   r   r   rr   r   )r"   rV   r   r   rs   r   r#   r%   r   r*   r   r   r   r   r'   r)   r:   r   r   r   )r   r   r9   r-   r   ra   res2r   rC   r   r   r   r.   actual2r/   r;   r   s                    r0   (test_varmax_end_time_varying_exog_shocksr   ,  s    Ia$$R++E9QQD
-crc
#D"I
>
>
>C
**:::
;
;C=cSbS	:::D;;<<<==DL))ck/J)KK9##,)E#FFL //RSS	/LLH		'	'XR	'	H	H : :+AAArE27799: : : : : : : : : : : : : : : \\,T"##Yu-?'3(5  7 7F mmLtBCCy/A)5*.*>qqq"u*E  G GG
 hck233GGAJ1l## O OQU^''))DaL8<A;NN

**GFG$$$GW%%% 
LtBCCy-!#	  % %J J(((((s   <$E,,E03E0c                     t          j        dd                              dd          } t          j        | dd          }d|j        _        |                    g d          }d}t          j        ||j	        f          }t          j        ||j
        f          }|j        d         }|                    |d	|||
          }t          j        ||j	        f          }||d<   t          d|          D ]}	||	dz
           ||	dz
           z   ||	<   ||z   }t          ||           |                    |j        |d	|||
          }
t          |
|           t          ||                    |                     d S )Nr   r   rF   rK   rz   T)r   r   r   r   r   r   r   r   r   r"   rV   r   r
   r   r   filter_univariater   r)   r   r*   r   r'   r:   r   r   r   )r   r-   r   r   rC   r   r   r.   r/   r;   r   s              r0   /test_dynamic_factor_end_time_invariant_noshocksr   \  s    Ia$$R++E

&u
J
J
JC $CG
**)))
*
*CL<"=>>8\3<899L'0M \\,u-?'3(5  7 7F hck233GGAJ1l## : :QU^l1q5&99

**GFG$$$ 
L-!#	  % %J J((( FCLL6677777r2   c                    t          j        dd                              dd          }t          j        |dd          }d|j        _        |                    g d          }d}t           j        	                    ||j
        f          }t           j        	                    ||j        f          }|j        d	         }|                    |d
|||          }t          j        ||j
        f          }	||	d<   t          d|          D ]}
|	|
dz
           ||
dz
           z   |	|
<   |	|z   }	t!          ||	           |                    |j        |d
|||          }t!          ||	           d S )Nr   r   rF   rK   rz   Tr   r   r   r   r   r   r   r   r   r   r   r   r"   rV   r   r
   r   r   r   r   r#   r%   r   r*   r   r'   r)   r:   r   r   r   s               r0   -test_dynamic_factor_end_time_invariant_shocksr     s   Ia$$R++E

&u
J
J
JC $CG
**111
2
2CL))ck/J)KK9##,)E#FFL'0M \\,u-?'3(5  7 7F hck233GGAJ1l## : :QU^l1q5&99

**GFG$$$ 
L-!#	  % %J J(((((r2   c            	         t          j        dd                              dd          } t          j        dd          dz  }t          j        | dd|d d                   }d|j        _        |                    g d          }d}t          j        ||j	        f          }t          j        ||j
        f          }|j        d         }|                    ||dd          d	|||
          }t          j        ||j	        f          }	||	d<   t          d|          D ]}
|	|
dz
           ||
dz
           z   |	|
<   |	|z   |dd d f         z   }	t          ||	           |                    |j        ||dd          d	|||
          }t          ||	           t          ||                    ||dd                               d S )Nr   r   rF   rK   r   Tr   r   r   r   r   r   r   )r   r9   r-   r   r   rC   r   r   r.   r/   r;   r   s               r0   2test_dynamic_factor_end_time_varying_exog_noshocksr     s    Ia$$R++E9QQD

&u,0"I7 7 7C $CG
**111
2
2CL<"=>>8\3<899L'0M \\,T"##Yu-?'3(5  7 7F hck233GGAJ1l## : :QU^l1q5&99

**T"##t)_<GFG$$$ 
LtBCCy-!#	  % %J J((( FCLLDILFFGGGGGr2   c           	      Z   t          j        dd                              dd          }t          j        dd          dz  }t          j        |d d         dd|d d                   }d|j        _        |                    g d	          }t          j        |dd|d d                   }d|j        _        |                    g d	          }d}t           j        	                    ||j
        f
          }t           j        	                    ||j        f
          }	|j        d         }
|                    ||dd          d||	|
          }|                    ||dd          d||	|
          }t          j        ||j
        f          }|
|d<   t          d|          D ]}||dz
           |	|dz
           z   ||<   ||z   |dd d f         z   }t!          ||           t!          ||           |                    |j        ||dd          d||	|
          }t!          ||           d S )Nr   r   rO   rK   r   rF   r   Tr   r   r   r   r   r   r   r   )r   r   r9   r-   r   ra   r   r   rC   r   r   r.   r   r/   r;   r   s                   r0   0test_dynamic_factor_end_time_varying_exog_shocksr    sr    Ia$$R++E9QQD

&crc
aad3B3iA A AC $CG
**111
2
2C'crc< < <D!%DH;;33344DL))ck/J)KK9##,)E#FFL'0M \\,T"##Yu-?'3(5  7 7F mmLtBCCy/A)5*7  9 9G hck233GGAJ1l## : :QU^l1q5&99

**T"##t)_<GFG$$$GW%%% 
LtBCCy-!#	  % %J J(((((r2   c                     t          j        t          j        d                    } t	          j        |           }|                    ddg          }|                    dt          j        d          t          j        d                    }t          j        ddg          }t          ||           |                    ddt          j        d          t          j        d                    }t          j	        dd          }t          j        ddg|	          }t          ||           t          |j                            |j                             d S )
NrK   r   r   r   r   r   r   r   r      index)pdSeriesr"   r)   r   r&   r   r'   r   
RangeIndexr   r  equalsr   r-   r   r.   r/   ixs         r0   !test_pandas_univariate_rangeindexr    s#   Ibhqkk""E
/%
 
 C
**c2Y

C \\!"(1++(*  5 5FiAGFG$$$ \\!ABHQKK(*  5 5F	q!		BiAb)))GFG$$$FL../////r2   c                  B   t          j        t          j        d                    } t	          j        |           }|                    ddg          }|                    dt          j        d          t          j        d          d          }t           j        	                    dgddgg          }t          j
        t          j        d          |	          }t          ||           t          |j                            |j                             |                    ddt          j        d          t          j        d          d
          }t          j        dd          }t           j        	                    dgddgg          }t          j
        t          j        d          ||          }t          ||           t          |j                            |j                             t          |j                            |j                             d S )NrK   r   r   r   r   r   repetitionsyr   rl   columnsr   r   r   r  r  r  r  )r  r  r"   r)   r   r&   r   r'   
MultiIndexfrom_product	DataFramer   r   r  r
  r	  r  r   r-   r   r.   r  r/   r  s          r0   -test_pandas_univariate_rangeindex_repetitionsr    s   Ibhqkk""E
/%
 
 C
**c2Y

C \\!"(1++(*  D DFm((3%!Q99Gl28F++W===GFG$$$FN!!'/22333 \\!ABHQKK(*  D DF	q!		Bm((3%!Q99Gl28F++2wGGGGFG$$$FL..///FN!!'/2233333r2   c                  >   t          j        ddt                    } t          j        t	          j        d          |           }t          j        |          }|                    ddg          }|	                    dt	          j        d          t	          j        d                    }t          j        d	dt                    } t          j        d
d
g|           }t          ||           t          |j                            |j                             |	                    ddt	          j        d          t	          j        d                    }t          j        ddt                    } t          j        d
d
g|           }t          ||           d S )N2000rK   startperiodsfreqr  r   r   r   r   2000-01r   r  2000-03r  
date_ranger   r  r"   r)   r   r&   r   r'   r   r   r  r
  r  r   r-   r   r.   r/   s         r0    test_pandas_univariate_dateindexr&  4  s^   	VQY	?	?	?BIbhqkk,,,E
/%
 
 C
**c2Y

C \\!"(1++(*  5 5F	Y		B	B	BBiAb)))GFG$$$FL../// \\!ABHQKK(*  5 5F	Y		B	B	BBiAb)))GFG$$$$$r2   c                     t          j        ddt                    } t          j        t	          j        d          |           }t          j        |          }|                    ddg          }|	                    dt	          j        d          t	          j        d          d          }t          j        d	dt                    } t           j
                            d
gddgg          }t          j        t	          j        d          | |          }t          ||           t          |j                            |j                             |	                    ddt	          j        d          t	          j        d          d          }t          j        ddt                    } t           j
                            d
gddgg          }t          j        t	          j        d          | |          }t          ||           t          |j                            |j                             t          |j                            |j                             d S )Nr  rK   r  r  r   r   r   r  r!  r  r   rl   r  r  r"  )r  r$  r   r  r"   r)   r   r&   r   r'   r  r  r  r   r   r  r
  r  r  r   r-   r   r.   r  r/   s          r0   ,test_pandas_univariate_dateindex_repetitionsr)  K  s   	VQY	?	?	?BIbhqkk,,,E
/%
 
 C
**c2Y

C \\!"(1++(*  D DF	Y		B	B	BBm((3%!Q99Gl28F++2wGGGGFG$$$FN!!'/22333 \\!ABHQKK(*  D DF	Y		B	B	BBm((3%!Q99Gl28F++2wGGGGFG$$$FL..///FN!!'/2233333r2   c                     t          j        t          j        d                    } t	          j        | d          }|                    g d          }|                    dt          j        d          t          j        d                    }t          j        t          j        d                    }t          ||           |                    ddt          j        d          t          j        d                    }t          j	        dd          }t          j        t          j        d          |	          }t          ||           t          |j                            |j                             d S )
Nrl   ri   r   r           r,  r!   r   r,  r   rK   r   r  r  r  )r  r  r"   r)   r   rs   r   r'   r   r	  r   r  r
  r  s         r0   #test_pandas_multivariate_rangeindexr-  f  s=   L&))**E
-S
)
)
)C
**333
4
4C \\!"(6*:*:(*  5 5Fl28F++,,GFG$$$ \\!ABHV4D4D(*  5 5F	q!		Bl28F++2666GFG$$$FL../////r2   c                  R   t          j        t          j        d          ddg          } t	          j        | d          }|                    g d          }|                    dt          j        d          t          j        d          d	          }t           j        	                    ddgd
dgg          }t          j        t          j        d          |          }t          ||           t          |j                            |j                             |                    ddt          j        d          t          j        d          d          }t          j        dd          }t           j        	                    ddgd
dgg          }t          j        t          j        d          ||          }t          ||           t          |j                            |j                             t          |j                            |j                             d S )Nrl   y1y2r  ri   r   r+  rK   r  r   r   rK   r  r  r  r  )r  r  r"   r)   r   rs   r   r'   r  r  r   r   r  r
  r	  r  r  s          r0   /test_pandas_multivariate_rangeindex_repetitionsr2  {  s   L&))D$<@@@E
-S
)
)
)C
**333
4
4C \\!"(6*:*:(*  D DFm((4,A)?@@Gl28F++W===GFG$$$FN!!'/22333 \\!ABHV4D4D(*  D DF	q!		Bm((4,A)?@@Gl28F++2wGGGGFG$$$FL..///FN!!'/2233333r2   c                  J   t          j        ddt                    } t          j        t	          j        d          |           }t          j        |d          }|                    g d          }|	                    dt	          j        d          t	          j        d          	          }t          j        t	          j        d          |           }t          ||           |	                    ddt	          j        d          t	          j        d          
          }t          j        ddt                    } t          j        t	          j        d          |           }t          ||           t          |j                            |j                             d S )Nr  rK   r  rl   r  ri   r   r+  r   r  r"  )r  r$  r   r  r"   r)   r   rs   r   r'   r   r   r  r
  r%  s         r0   "test_pandas_multivariate_dateindexr4    sb   	VQY	?	?	?BL&))444E
-S
)
)
)C
**333
4
4C \\!"(6*:*:(*  5 5Fl28F++2666GFG$$$ \\!ABHV4D4D(*  5 5F	Y		B	B	BBl28F++2666GFG$$$FL../////r2   c                     t          j        ddt                    } t          j        t	          j        d          ddg|           }t          j        |d	          }|                    g d
          }|	                    dt	          j        d          t	          j        d          d          }t           j
                            ddgddgg          }t          j        t	          j        d          ||           }t          ||           t          |j                            |j                             |	                    ddt	          j        d          t	          j        d          d          }t          j        ddt                    } t           j
                            ddgddgg          }t          j        t	          j        d          | |          }t          ||           t          |j                            |j                             t          |j                            |j                             d S )Nr  rK   r  rl   r/  r0  )r  r  ri   r   r+  r  r   r   r1  r  r"  r  )r  r$  r   r  r"   r)   r   rs   r   r'   r  r  r   r   r  r
  r  r(  s          r0   .test_pandas_multivariate_dateindex_repetitionsr6    s   	VQY	?	?	?BL&))D$<rJJJE
-S
)
)
)C
**333
4
4C \\!"(6*:*:(*  D DFm((4,A)?@@Gl28F++WBGGGGFG$$$FN!!'/22333 \\!ABHV4D4D(*  D DF	Y		B	B	BBm((4,A)?@@Gl28F++2wGGGGFG$$$FL..///FN!!'/2233333r2   c                  N   t          j        ddt                    } t          j        t	          j        d          |           }t          j        |          }|                    ddg          }|	                    ddt	          j        d          t	          j        d                    }|	                    d| d         t	          j        d          t	          j        d                    }t          ||           t          |j                            |j                             |	                    dd	t	          j        d          t	          j        d                    }t          ||           t          |j                            |j                             d S )
Nr  rK   r  r  r   r   r   r  r   r#  )r  r   r-   r   r/   r.   s         r0   test_pandas_anchorr8    sY   	VQY	?	?	?BIbhqkk,,,E
/%
 
 C
**c2Y

Cll1QRXa[[)+!  6 6G \\!BqE(*  5 5FFG$$$FL../// \\!BRXa[[(*  5 5FFG$$$FL../////r2   c                 t    t          t          j        d                    }|                    g d           d S )NrF   rK   rF   )r   r"   r)   r'   r   r-   s     r0   test_time_varyingr<    s3    
rx  
!
!CLLRr2   c                    t          t          j        d                    }t          j        |j        |j        |j        f          |d<   t          j        |j                  |d<   d|dd d f<   |dd d d d df         dz  |d<   |dd d d d df         |d<   t          |d         j        |j        j	        |j        j	        f           t          |d         j        |j
        |j        j	        f           |                    g dt          j        |j
                  	          }t          |d d
         |dd d d d
f         j                   d S )Nr:  obs_cov)r>  .r   r   state_intercept	state_cov	selectionrF   )r   r   obs_intercept)r   r"   r)   r   r+   eyer   shaper   k_posdefr*   r'   r   re   r   r-   sims      r0   test_time_varying_obs_covrH    sL   
rx  
!
!CXs{CKBCCC	NVCK00C !C111;111a/014C;111a/0C[!'#'*:CG<L)MNNN[!'#,8H)IJJJ
,,r2RXcl-C-C,
D
DCCGS!!!RaR!78:;;;;;r2   c                 \   t          t          j        d                    }|dd d d d df         dz  |d<   |dd d d d df         |d<   d|dd d f<   t          j        |j        j        |j        j        |j        f          |d<   t          j        |j        j                  |d<   t          |d         j        |j	        |j	        f           t          |d         j        |j
        |j        j        f           |                    g d          }t          ||d	         j                   d S )
Nr:  r>  r   rA  r?  r@  )r@  .r   rF   rB  )r   r"   r)   r   rE  r+   rC  r   rD  r   r*   r'   r   re   rF  s      r0   test_time_varying_state_covrJ    s'   
rx  
!
!CAAAqqq!+,q0C	N;111a/0C !C111x!1373CSX NOOC "sw'7 8 8CY%S['ABBB[!'#,8H)IJJJ
,,r2

CC_-/00000r2   c                 p   t          t          j        d                    }|dd d d d df         |d<   |dd d d d df         |d<   t          |d         j        |j        |j        f           t          |d         j        |j        j        |j        j        f           |                    g d           d S )Nr:  r>  r   r@  rF   )	r   r"   r)   r   rD  r   r   rE  r'   r;  s     r0   test_time_varying_selectionrL    s    
rx  
!
!CAAAqqq!+,C	N;111a/0CY%S['ABBB[!'#'*:CG<L)MNNNLLRr2   )H__doc__statsmodels.compat.pandasr   numpyr"   numpy.testingr   r   r   pandasr  rT   scipy.signalr   statsmodels.tools.sm_exceptionsr   r	   statsmodels.tsa.statespacer
   r   r   r   test_impulse_responsesr   r1   r<   rg   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r&  r)  r-  r2  r4  r6  r8  marksmoker<  rH  rJ  rL   r2   r0   <module>rY     s    0 / / / / /     @ @ @ @ @ @ @ @ @ @                                    ) ( ( ( ( () ) )<a) a) a)Hr% r% r%jo) o) o)d*) *) *)Z49 49 49n9 9 9!8 !8 !8H"8 "8 "8J) ) )@) ) )B!8 !8 !8H#8 #8 #8L) ) )> )  )  )F#H #H #HL$H $H $HN) ) )@!) !) !)H!8 !8 !8H) ) )>"H "H "HJ) ) )@8 8 8D) ) )D)8 )8 )8X$) $) $)N*H *H *HZ-) -) -)`&8 &8 &8R!) !) !)H)H )H )HX.) .) .)b0 0 0*4 4 42% % %.4 4 460 0 0*4 4 420 0 0,4 4 440 0 0.   
< < <
1 
1 
1     r2   