
    Vfd                       d Z ddlZddlZddlmZmZmZ ddl	Z	ddl
m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	 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" Z/d# Z0d$ Z1d% Z2d& Z3d' Z4d( Z5d) Z6d* Z7d+ Z8d, Z9d- Z:d. Z;d/ Z<d0 Z=d1 Z>d2 Z?e	j@        jA        d3             ZBd4 ZCd5 ZDe	j@        jA        d6             ZEdS )7zR
Tests for simulation of time series

Author: Chad Fulton
License: Simplified-BSD
    N)assert_assert_allcloseassert_equal)lfilter   )TVSS)SpecificationWarningEstimationWarning)sarimax
structuralvarmaxdynamic_factorc                     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        Nlib/python3.11/site-packages/statsmodels/tsa/statespace/tests/test_simulate.pytest_arma_lfilterr0      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   r6   ct)r6   r    r   r    r   )exogr   r5   )r6   r    r   r   r    r   )r!   r"   r#   r$   r   r%   r&   r'   r(   r)   ranger   )r*   r+   r8   r,   r-   r.   ir5   s           r/   test_arma_directr;   3   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(((((r1   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   )r8   r@   )r8   r   )r   r   r    )r    r   r   	irregularr   )measurement_shocksr   zirregular component addedmatchzfixed intercept
   zdeterministic constantlocal levelrB   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)rK         iT)cycle333333?)rO   stochastic_cycle)r   r   rP   )r!   r"   r#   r$   r(   r   UnobservedComponentsr   r%   r&   r)   r   r	   pytestwarnsaranger'   c_tilecossinarrayr9   dot)r*   r+   r8   eps1eps2eps3mod1mod2r-   r.   r,   warningrD   x1x2Tstatesr:   s                     r/   test_structuralrf      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   )rJ   r   nr4   rJ   r   r   r   r   r    r   r   )r   rJ   )r   r   rJ   zVARMA\(p,q\) models is notrC   rJ   rJ   )rJ   r   rJ   )r   r    皙?皙ɿr   r3   )rE   r   r    rl   rm   r   r   rl   gr    r   r   r   rJ   )r   r   T)r   r5   measurement_errorrG   )r   r5   r8      )r   r   )r!   r"   r#   r$   r(   r   VARMAXr   r%   r&   r)   r   r
   rS   rT   rZ   r'   ravelrV   r9   r[   start_params)r*   r+   r8   r\   r]   r^   r_   r`   r-   r.   ra   rD   
transitionr,   stater:   s                   r/   test_varmaxrw   L  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   rJ   	k_factorsfactor_orderri   r   )皙?r   r   r   r    rG   rj   r   r|   r}   rz   r{   r8   )r|   r}   rp   rq   r   r   r   r    rp      T)rz   r{   r8   error_order	error_var)r!   r"   r#   r$   r(   r   DynamicFactorr   r%   r&   rV   r)   r   rt   )r*   r+   r8   r\   r]   r^   r_   r`   r-   r.   r,   s              r/   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(((((r1   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   rF   )rB   r   r    rn   rh   r4   ry   )r}   r    r   r   r   r}   )r!   r"   r#   r$   r(   r   r%   ssminitialize_knownr&   r   rU   r   rR   diagr   rr   r'   rs   rV   r   r   )	r*   r+   r\   r]   r^   r,   r-   ru   tmps	            r/   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8r1   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   r3   r4   r   rE   )r   r%   r&   r   r!   ones)n_simulationsr,   r-   s      r/   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8r1   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   rN   r   r   rE   .rp   endanchorrB   r   r   )r!   rU   r   r%   filterr(   k_endogr)   predicted_stater   r&   paramsforecast
endogr,   resnsimulationsrB   r   r   r-   r.   
mod_actuals
             r/   (test_sarimax_end_time_invariant_noshocksr   0  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7r1   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   rN   r   r   r   Tr   simple_differencingr   r   rE   r   rp   r   r   r   )r!   cumsumrU   r   r%   r   r(   r   r)   r   r   r&   r   r   r   s
             r/   <test_sarimax_simple_differencing_end_time_invariant_noshocksr   T  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7r1   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   rN   r   r   rE   r   r   r   r   r   )r!   rU   r   r%   r   r"   r$   r   r&   r   r'   r   r   reset_randomstater   r,   r   r   rB   r   r   r-   r.   r   s              r/   "test_sarimax_time_invariant_shocksr   y  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(((((r1   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   rN   r   Tr   r   r   rE   r   r   r   r   r   r   )r!   r   rU   r   r%   r   r"   r$   r   r&   r   r'   r   r   r   s
             r/   :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(((((r1   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   rN   tr5   r   r    r   rE   r      r   r   rm      )r!   rU   r   r%   r   r(   r   r)   r   r   r&   r   r'   r   r   r   s
             r/   (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7r1   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   rN   r   r   Tr   r5   r   r   rE   r   r   r   r   r   rm   r   )r!   r   rU   r   r%   r   r(   r   r)   r   r   r&   r   r'   r   r   r   s
             r/   <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7r1   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   rN   r   r   r   rE   r   r   r   r      rm   r!   rU   r   r%   r   r"   r$   r   r&   r'   r   r   r   r   r   r,   r   r   rB   r   r   r-   xr.   r   s               r/   &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(((((r1   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   rN   r   r   Tr   r   rE   r   r   r   r   r   r   r   rm   )r!   r   rU   r   r%   r   r"   r$   r   r   r&   r'   r   r   r   s               r/   :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(((((r1   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   rN   r   rJ   rE   r8   r   r   r   r8   r   rB   r   r   rm   r   	   )r!   rU   r   r%   r   r(   r   r)   r   r&   r   r'   r   r   r   r   r8   r,   r   r   rB   r   r   r-   r.   r   s              r/   'test_sarimax_time_varying_exog_noshocksr   F  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Gr1   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   rN   r   rJ   r   Tr   r8   r   r   rE   r   r   r   r   rm   r   r   )r!   r   rU   r   r%   r   r(   r   r)   r   r&   r   r'   diffr   r   r   r   s              r/   ;test_sarimax_simple_differencing_time_varying_exog_noshocksr   l  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Gr1   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   rN   r   rJ   rE   r   r   r   r   r   r   rm   r   r   r   r8   r,   r   r   rB   r   r   r-   r   r.   r   s                r/   %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(((((r1   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   rN   r   rJ   r   Tr   r   rE   r   r   r   r   r   rm   )r!   r   rU   r   r%   r   r"   r$   r   r&   r'   r   r   r   r   r   s                r/   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(((((r1   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   rN   llevelr   rE   r   r   r   r   r!   rU   r   rR   r   r(   r   r)   r   r&   r   r   r   r   s
             r/   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7r1   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   rN   r   r   rE   r   r   r   r   r   r!   rU   r   rR   r   r"   r$   r   r&   r   r'   r   r   r   s              r/   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(((((r1   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   rN   r   rJ   r   rE   r   rH   r   r   r   r   r   r   s              r/   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Gr1   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   rN   r   rJ   r   rE   r   rH   r   r   r   r   r   r   )r   r   r8   r,   r   r   rB   r   r   r-   r.   r   s               r/   7test_unobserved_components_end_time_varying_exog_shocksr   ?  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(((((r1   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   rE   rJ   rh   r   r   r   r   r   r   r   r   r   r   r   )r!   rU   reshaper   rr   r   r(   r   r)   r   r&   rd   r   r   r   r   s
             r/   'test_varmax_end_time_invariant_noshocksr   _  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7r1   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   rE   rJ   rh   r   r   r   r   r   r   r   )r!   rU   r   r   rr   r   r"   r$   r   r)   r   r&   r(   r9   sumr   r   r   r   r,   r   r   rB   r   r   r-   r.   r:   r   s               r/   %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(((((r1   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   rE   rJ   r7   r   r   r   r   r   r   r   r   r   r   r   r   r8   out_of_sampler   r   r   r   rN   )r!   rU   r   r   rr   r   r(   r   r)   _set_final_predicted_stater   copyr&   r9   r   r   r   r   )r   r,   r   r   rB   r   r   r-   r.   	tmp_trendr:   r   s               r/   +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   rE   rJ   r7   r   r   r   r   r   r   r   r   rN   )r!   rU   r   r   rr   r   r"   r$   r   r)   r   r   r   r&   r(   r9   r   r   r   )r   r   r,   r   r   rB   r   r   r-   r.   r   r:   r   s                r/   )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   rE   rJ   rh   r5   r8   	r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r!   rU   r   r   rr   r   r(   r   r)   _validate_out_of_sample_exogr   r   r   r&   r9   r   r   r   r   )r   r8   r,   r   r   rB   r   tmp_exogr   r-   r.   r:   r   s                r/   *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      rN   rJ   r   rE   rh   r   r   r   r   r   r   r   r   rq   r   )r!   rU   r   r   rr   r   r"   r$   r   r)   r   r   r   r   r&   r(   r9   r   r   r   )r   r   r8   r,   r   r`   res2r   rB   r   r   r   r-   actual2r.   r:   r   s                    r/   (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   rE   rJ   ry   T)r   r   r   r   r   r   r   r   r   r!   rU   r   r   r   r   filter_univariater   r(   r   r)   r   r&   r9   r   r   r   )r   r,   r   r   rB   r   r   r-   r.   r:   r   s              r/   /test_dynamic_factor_end_time_invariant_noshocksr   S  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7r1   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   rE   rJ   ry   Tr   r   r   r   r   r   r   r   r   r   r   r   r!   rU   r   r   r   r   r   r   r"   r$   r   r)   r   r&   r(   r9   r   r   r   s               r/   -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(((((r1   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   rE   rJ   r~   Tr   r   r   r   r   r   r   )r   r8   r,   r   r   rB   r   r   r-   r.   r:   r   s               r/   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Gr1   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   rN   rJ   r   rE   r~   Tr   r   r   r   r   r   r   r   )r   r   r8   r,   r   r`   r   r   rB   r   r   r-   r   r.   r:   r   s                   r/   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(((((r1   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 )
NrJ   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         r/   !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../////r1   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 )NrJ   r   r   r   r   r   repetitionsyr   rk   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          r/   -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3r1   c                      t          j        ddd          } t          j        t          j        d          |           }t          j        |          }|                    ddg          }|                    dt          j        d          t          j        d          	          }t          j        d
dd          } t          j        ddg|           }t          ||           t          |j                            |j                             |                    ddt          j        d          t          j        d                    }t          j        ddd          } t          j        ddg|           }t          ||           d S )N2000rJ   M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.   s         r/    test_pandas_univariate_dateindexr&  +  s^   	VQS	9	9	9BIbhqkk,,,E
/%
 
 C
**c2Y

C \\!"(1++(*  5 5F	Y	<	<	<BiAb)))GFG$$$FL../// \\!ABHQKK(*  5 5F	Y	<	<	<BiAb)))GFG$$$$$r1   c                     t          j        ddd          } t          j        t          j        d          |           }t          j        |          }|                    ddg          }|                    dt          j        d          t          j        d          d	          }t          j        d
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d          } t           j	        
                    dgddgg          }t          j        t          j        d          | |          }t          ||           t          |j                            |j                             t          |j                            |j                             d S )Nr  rJ   r  r  r  r   r   r   r  r!  r  r   rk   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          r/   ,test_pandas_univariate_dateindex_repetitionsr)  B  s   	VQS	9	9	9BIbhqkk,,,E
/%
 
 C
**c2Y

C \\!"(1++(*  D DF	Y	<	<	<Bm((3%!Q99Gl28F++2wGGGGFG$$$FN!!'/22333 \\!ABHQKK(*  D DF	Y	<	<	<Bm((3%!Q99Gl28F++2wGGGGFG$$$FL..///FN!!'/2233333r1   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 )
Nrk   rh   r   r           r,  r    r   r,  r   rJ   r   r  r  r  )r  r  r!   r(   r   rr   r   r&   r   r  r   r  r	  r
  s         r/   #test_pandas_multivariate_rangeindexr-  ]  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../////r1   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 )Nrk   y1y2r  rh   r   r+  rJ   r  r   r   rJ   r  r  r  r  )r  r  r!   r(   r   rr   r   r&   r  r  r   r   r  r	  r  r  r  s          r/   /test_pandas_multivariate_rangeindex_repetitionsr2  r  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3r1   c                  6   t          j        ddd          } 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d          } t          j        t          j        d          |           }t          ||           t          |j                            |j                             d S )Nr  rJ   r  r  rk   r  rh   r   r+  r   r  r"  )r  r$  r  r!   r(   r   rr   r   r&   r   r   r  r	  r%  s         r/   "test_pandas_multivariate_dateindexr4    sb   	VQS	9	9	9B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l28F++2666GFG$$$FL../////r1   c                     t          j        ddd          } 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d          } t           j	        
                    ddgddgg          }t          j        t          j        d          | |          }t          ||           t          |j                            |j                             t          |j                            |j                             d S )Nr  rJ   r  r  rk   r/  r0  )r  r  rh   r   r+  r  r   r   r1  r  r"  r  )r  r$  r  r!   r(   r   rr   r   r&   r  r  r   r   r  r	  r  r(  s          r/   .test_pandas_multivariate_dateindex_repetitionsr6    s   	VQS	9	9	9B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m((4,A)?@@Gl28F++2wGGGGFG$$$FL..///FN!!'/2233333r1   c                  D   t          j        ddd          } 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  rJ   r  r  r  r   r   r   r  r   r#  )r  r   r,   r   r.   r-   s         r/   test_pandas_anchorr8    sY   	VQS	9	9	9BIbhqkk,,,E
/%
 
 C
**c2Y

Cll1QRXa[[)+!  6 6G \\!BqE(*  5 5FFG$$$FL../// \\!BRXa[[(*  5 5FFG$$$FL../////r1   c                 t    t          t          j        d                    }|                    g d           d S )NrE   rJ   rE   )r   r!   r(   r&   r   r,   s     r/   test_time_varyingr<    s3    
rx  
!
!CLLRr1   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	selectionrE   )r   r   obs_intercept)r   r!   r(   r   r*   eyer   shaper   k_posdefr)   r&   r   rd   r   r,   sims      r/   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:;;;;;r1   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   rE   rB  )r   r!   r(   r   rE  r*   rC  r   rD  r   r)   r&   r   rd   rF  s      r/   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0r1   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@  rE   )	r   r!   r(   r   rD  r   r   rE  r&   r;  s     r/   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r1   )F__doc__numpyr!   pandasr  numpy.testingr   r   r   rS   scipy.signalr   test_impulse_responsesr   statsmodels.tools.sm_exceptionsr	   r
   statsmodels.tsa.statespacer   r   r   r   r0   r;   rf   rw   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   r1   r/   <module>rX     s            @ @ @ @ @ @ @ @ @ @              ( ( ( ( ( (       8 8 8 8 8 8 8 8 8 8 8 8) ) )<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     r1   