
    Vfd                     @   d Z ddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZmZ ddlmZmZ ddlmZ ddlmZmZmZmZmZ ddlmZmZ ej                            ej                            e                    Z ddggdggdggdggd	d
Z!d1dZ"d Z#d Z$d Z%d Z&ej'        j(        d             Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d2dZ1d Z2d Z3d Z4d3dZ5d  Z6d! Z7d" Z8d# Z9d$ Z:d% Z;d& Z<ej'        j(        d'             Z=d( Z>d) Z?d* Z@d+ ZAd, ZBd- ZCd. ZDd/ ZEd0 ZFdS )4zM
Tests for the generic MLEModel

Author: Chad Fulton
License: Simplified-BSD
    N)sarimaxvarmaxkalman_filterkalman_smoother)MLEModelMLEResultsWrapper)nile)assert_assert_almost_equalassert_equalassert_allcloseassert_raises)results_sarimaxresults_var_misc   approximate_diffuse)k_statesdesign
transition	selection	state_covinitializationTFc                    t          j        d          dz  }d|z  }|rCt          j        ddd          }t          j        ||          }t          j        ||          }t          j        ||dd	d
d	          }| rVt          j                    5  t          j	        d           |
                    d          }d d d            n# 1 swxY w Y   nd }||fS )Nd         ?   
1960-01-01MSperiodsfreqindex)r   r   r   TF)exogordertime_varying_regressionmle_regressionuse_exact_diffuseignore)disp)nparangepd
date_rangeSeriesr   SARIMAXwarningscatch_warningssimplefilterfit)r5   pandasendogr$   r#   modress          Nlib/python3.11/site-packages/statsmodels/tsa/statespace/tests/test_mlemodel.pyget_dummy_modr;   "   s-    IcNN3EU7D ,lCdCCC	%u---yU+++
/D	 $U     C
  $&& 	# 	#!(+++''r'""C	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 8Os   +CCCc                     d} d}d}t          j        d          }t          j        |           dz  }t          j        t          j        | |z            dz  | |f          }t          j        t          j        | dz            dz  | | f          }t          j        |          dz  }t          j        t          j        |dz            dz  ||f          }t          j        t          j        ||z            dz  ||f          }	t          j        t          j        |dz            dz  ||f          }
t	          |||||||||	|

  
        }t          |d         |           t          |d         |           t          |d	         |           t          |d
         |           t          |d         |           t          |d         |	           t          |d         |
           d S )Nr      r   
   r   r   	r   k_posdefobs_interceptr   obs_covstate_interceptr   r   r   rB   r   rC   rD   r   r   r   )r,   zerosr-   reshaper   r   )k_endogr   rA   r7   rB   r   rC   rD   r   r   r   r8   s               r:   !test_init_matrices_time_invariantrH   <   s    GHHHWEIg&&,MZ
	'H$%%+gx-@B BFj7A:..4w6HIIGi))C/OBIhk22S88X:NOOJ

	(X%&&,x.BD DI
29Xq[11C7(H9MNNI
58h!.v"O(I&	( ( (C C(-888CM6***C	NG,,,C)*O<<<C%z222C$i000C$i00000    c                  ^   d} d}d}d}t          j        d          }t          j        t          j        || z            dz  || f          }t          j        t          j        ||z  | z            dz  ||| f          }t          j        t          j        |dz  | z            dz  ||| f          }t          j        t          j        || z            dz  || f          }t          j        t          j        |dz  | z            dz  ||| f          }	t          j        t          j        ||z  | z            dz  ||| f          }
t          j        t          j        |dz  | z            dz  ||| f          }t	          ||||||||	|
|
  
        }t          |d         |           t          |d	         |           t          |d
         |           t          |d         |           t          |d         |	           t          |d         |
           t          |d         |           d S )Nr?   r   r=   r   r>   r   r@   rB   r   rC   rD   r   r   r   )r,   rE   rF   r-   r   r   )nobsrG   r   rA   r7   rB   r   rC   rD   r   r   r   r8   s                r:   test_init_matrices_time_varyingrL   ]   s`    DGHHHWEJry4883> '0 0MZ
	'H$t+,,s2Wh4MO OFj
	'1*t#$$s*Wgt,DF FGj
	(T/""S(8T*:< <O
	(A+$%%+h$-GI IJ

	(X%,--3	8T"$ $I 

	(A+$%%+h$-GI II 58h!.v"O(I&	( ( (C C(-888CM6***C	NG,,,C)*O<<<C%z222C$i000C$i00000rI   c                  x
   t          d          \  } }t          | d         dt          j        d          z             d| dddd d f<   t          | j        dddd d f         d           t          | j        d         j        d	           d
gg| d<   t          | j        d         d
           t          | j        d         j        d           t          | j        d           d| _        t          | j        j        d           t          | j        | j        j                   d| _        t          | j        j        d           t          | j        d           d| _        t          | j        j        d           t          t          | j
        t                    d           |                                  |                     d           t          | j
        j        d           t          | j
        j        d           |                     dgdgg           t          | j
        j        d           t          | j
        j        dg           t          | j
        j        dgg           |                                  t          | j
        j        d           t          | j        j        t*          j                   t          | j        j        t*          j                   t          | j        j        t*          j                   t          | j        j        t8          j                   | j                                         | j        j        }t          |j        t*          j                   t          |j        t*          j                   t          |j        t*          j                   |                      d           | !                    d           | "                    d           | #                    d           t          | j        j        d           t          | j        j        d           t          | j        j        d           t          | j        j        d           t          |j        t*          j                   t          |j        t*          j                   t          |j        t*          j                   |                      d           | j                                         | j        j        }t          |j        d           t          |j        d           t          |j        d           d S )NFr5   r   r   r          @r   r   r   r   )r   r   r         @r   r   r   grh|?g    _Bg   mBTg     j@r   g      @(   known
stationarye   f   g   )$r;   r   r,   r-   ssmshapeloglikelihood_burn	toleranceinitial_variance
isinstancer   objectinitialize_defaultinitialize_approximate_diffuseinitialization_typeapproximate_diffuse_varianceinitialize_knownconstantstationary_covinitialize_stationaryfilter_methodr   FILTER_CONVENTIONALstability_methodSTABILITY_FORCE_SYMMETRYconserve_memoryMEMORY_STORE_ALLsmoother_outputr   SMOOTHER_ALL_initialize_filter_kalman_filterset_filter_methodset_stability_methodset_conserve_memoryset_smoother_output)r8   _kfs      r:   test_wrappingrx      s    u%%%FC ^$cBIcNN&:;;; C!Q1a*+Q///"(+666 TFCM("---"(&111 '+++C+Q/// 1222CM"E***%t,,,C)4000 C.77>>>
 &&s+++#79NOOO#@#FFF"v&&&#7AAA#,rd333#2bTF;;;#7FFF &(IJJJ .0 0 0 (-*HIII(/*FGGG G   		B!=#DEEE$m&LMMM#]%CDDD
 #S!!!C   C    &,,,)3///(#...(#... !=#DEEE$m&LMMM#]%CDDD !G    
	B!1%%%$c***#S)))))rI   c                     t           j        } t          j        | d                   dd          }t	          j        |dd          }t          j                    5  t          j        d           |	                    ddd	d
          }|	                    dddd
          }d d d            n# 1 swxY w Y   t          |j        |j        d           t          d
          \  }}t          j                    5  t          j        d           |	                    dd          }d d d            n# 1 swxY w Y   t          |ddgd           d S )Ndatar   r   r   r   c)r%   trendr)   ncgr   opgF)methodr+   optim_hessianoptim_complex_stepoim{Gz?)rtolrN   r*   T)r+   return_params   )r   wpi1_stationaryr,   diffr   r1   r2   r3   r4   r5   r   llfr;   r   )truer7   r8   res1res2rv   
res_paramss          r:   test_fit_miscr      s   *DGDL!!!""%E
/%y
<
<
<C 
	 	"	" 1 1h'''wwe!5*/  1 1wwe!5*/  1 1	1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 DHdhT2222 u%%%FC		 	"	" : :h'''WW"DW99
: : : : : : : : : : : : : : :
 
QFA.....s%   AB,,B03B09,D11D58D5c                  \    t                      \  } }|                     |j                   d S N)r;   scoreparamsr8   r9   s     r:   test_score_miscr   
  s+    HC IIcjrI   c                  2    t          t          d            d S )Nc                  .    t          j        ddd          S )Nr   r   r=   )r   from_formula rI   r:   <lambda>z#test_from_formula.<locals>.<lambda>  s    x/DQ1/M/M rI   )r   NotImplementedErrorr   rI   r:   test_from_formular     s    %'M'MNNNNNrI   c            
         t          j        ddgd          } d }d }t          j        d         }t          j         ||d         |d                    ||d         |d                   f         }|                     |d	d	
          }t          ||           |                     |d	d
          }t          ||d           |                     |d	dd	          }t          ||d           |                     |d	dd	          }t          ||           |                     |d	dd          }	t          |	|d           |                     |d	ddd	          }
t          |
|d           d }d }|                     |          }t          j        t          j        t          j         ||d                    ||d                   f                   t          j         ||d         |d                    ||d         |d                   f                   }|                     |dd	
          }t          ||           |                     |dd
          }t          ||d           |                     |ddd	          }t          ||d           |                     |ddd	          }t          ||           |                     |ddd          }	t          |	|d           |                     |dddd	          }
t          |
|d           t          j        d         }d } ||d         |d                   }t          j
                    5  t          j        d           t          |                     |          dz  |d           t          |                     |          dz  |d           d d d            d S # 1 swxY w Y   d S )Nr         ?r   r   r   r%   c                 B    d| dz  d| z  |z  z   dz
  z  |d| dz  z
  z  z  S )N      r   r   r   phisigma2s     r:   partial_phiz,test_score_analytic_ar1.<locals>.partial_phi  s5    sAv#f,q01Vq36z5JKKrI   c                 *    dd|z  | z   dz
  z  |dz  z  S )Nr   r         ?r   r   s     r:   partial_sigma2z/test_score_analytic_ar1.<locals>.partial_sigma2  s#    qx#~,-;;rI   )        r   r   T)transformedapprox_complex_stepFh㈵>atol)r   r   approx_centeredharvey)r   r   r   )r   r   r   r   c                     dd| dz  z   dz  z  S )Ng      r   r   g      ?r   )r   s    r:   partial_transform_phiz6test_score_analytic_ar1.<locals>.partial_transform_phiH  s    a#q&jD)))rI   c                     d| z  S )NrP   r   )r   s    r:   partial_transform_sigma2z9test_score_analytic_ar1.<locals>.partial_transform_sigma2K  s    F{rI   )r   r   c                     t          j        d          }| dz   dz
  | dz  dz
  dz  z  |d<   dd|dz  z  z  x|d<   |d<   || z   dz
  |d	z  z  |d
<   |S )N)r   r   r   r   r   r   r*   r   r   )r   r   r   r=   rR   )r,   rE   )r   r   hessians      r:   r   z(test_score_analytic_ar1.<locals>.hessianq  st    (6""q&1a!a7(*a&!)m(<<#,	9rI   r)   r   皙?)r   r1   r,   r_r   r   untransform_paramsdotdiagr2   r3   r4   _hessian_complex_step_hessian_finite_difference)r8   r   r   r   analytic_score	approx_cs	approx_fdapprox_fd_centered	harvey_cs	harvey_fdharvey_fd_centeredr   r   uparamsr   analytic_hessians                   r:   test_score_analytic_ar1r     s    /1c()
4
4
4CL L L< < < U5\F UF1Ivay))vay&),,	-.N
 		&d	MMII~...		&d	NNII~D9999 			&d"& 	 	( 	(  I~D9999		&d8.2  4 4II~...		&d8.3  5 5II~D99996tH7<37 # 9 9 &TBBBB* * *   $$V,,GV
++GAJ77..wqz::; < 	= 	=
kk&)VAY//nVAYq	223 	45 5N 		'u$	OOII~...		'u.3  5 5II~D9999 			'u%"& 	 	( 	(  &TBBBB		'uX.2  4 4II~...		'uX.3  5 5II~D99997h7<37 # 9 9 &TBBBB U7^F   wvay&)44		 	"	" 5 5h'''11&99A=(t	5 	5 	5 	566v>>B(t	5 	5 	5 	5	5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s   A%OOOc                  P   t                      \  } }t          j                    5  t          j        d           |                     |j        dd          }t          |j        d         d           |                     |j        dd          }t          |j        d           t          |j        d         d           |                     |j        dd	          }t          |j        d	           t          |j        d         d
           |                     |j        dd          }t          |j        d           t          |j        d         d           |                     |j        dd          }t          |j        d           t          |j        d         d           |                     |j        dd          }t          |j        d           t          |j        d         d           |                     |j        dd          }t          |j        d           t          |j        d         d           t          j
        t                    5  |                     |j        dd           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr)   r*   none)r+   cov_typedescriptionz!Covariance matrix not calculated.approxzLCovariance matrix calculated using numerical (complex-step) differentiation.r   zmCovariance matrix calculated using the observed information matrix (complex-step) described in Harvey (1989).r   zQCovariance matrix calculated using the outer product of gradients (complex-step).robustzQuasi-maximum likelihood covariance matrix used for robustness to some misspecifications; calculated using the observed information matrix (complex-step) described in Harvey (1989).
robust_oimrobust_approxzQuasi-maximum likelihood covariance matrix used for robustness to some misspecifications; calculated using numerical (complex-step) differentiation.invalid_cov_type)r;   r2   r3   r4   r5   r   r   cov_kwdsr   pytestraisesr   r   s     r:   test_cov_paramsr     sV   HC 
	 	"	" 5F 5Fh'''ggcjrFg;;L'/	1 	1 	1 ggcjrHg==S\8,,,L'	  	  	 
 ggcjrEg::S\5)))L'@	A 	A 	A
 ggcjrEg::S\5)))L'(	) 	) 	)
 ggcjrHg==S\8,,,L'L	M 	M 	M ggcjrLgAAS\<000L'L	M 	M 	M ggcjrOgDDS\?333L'.	/ 	/ 	/ ].// 	F 	FGGCJR2DGEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fi5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5Fs6   H4JJ7JJ	J
J	JJ"Jc                     t          ddgfi t          } t          |                     ddg          ddg           t          |                     ddg          ddg           |                     g d           |                     g d           |                     g d           |                     g d           t          d          \  } }t          |                     ddg          ddg           t          |                     ddg          ddg           |                     ddgd	          }t          |j
        ddg           |                     ddgd          }t          |j
        ddg           d S )
Nr   r   r=   F)r   rN      	   T)r   kwargsr   transform_paramsr   filterupdateloglike
loglikeobsr;   r   )r8   rv   r9   s      r:   test_transformr     s   
Aq6
$
$V
$
$C C((!Q001a&999C**Aq622QF;;; JJruJ%%%JJruJ%%%KKK&&&NN25N))) u%%%FC C((!Q001a&999C**Aq622QF;;; **aV*
.
.CCJA'''
**aV*
/
/CCJA'''''rI   c                     t          j        ddg          } t          | fi t          }|                    g d          }t          t          |t          j                  d           |                    g           }t          t          |t                    d           t          |j
        d           |                    g d          }t          t          |t                    d           t          |j
        d           d S )Nr   rP   T)
return_ssmr   r   )r   )r,   arrayr   r   r   r   r^   r   FilterResultsr   r   )r7   r8   r9   s      r:   test_filterr     s    Hb"XE
5
#
#F
#
#C **RD*
)
)CC!<==tDDD **R..CC!233T:::u%%% **R%*
(
(CC!233T:::u%%%%%rI   c                      t          ddgfi t           t          t           fd           t	           j        g            dg _        dg _        t	           j        dg           t	           j        dg           d S )Nr   r   c                       j         S r   )start_paramsr8   s   r:   r   ztest_params.<locals>.<lambda>  s
    s/? rI   a)	r   r   r   r   r   param_names_start_params_param_namesr   r   s   @r:   test_paramsr     s    
Aq6
$
$V
$
$C %'?'?'?'?@@@"%%% CuC!A3'''3%(((((rI   c                 <   t          |           \  }}t          |j        dd          |j        dd                                                     t          |j        dd          t          j        |j        dz
                       t          |j
        d           d S )Nr6   r   r   )r;   r   fittedvaluesr7   squeezeresidr,   rE   rK   r   r[   )r6   r8   r9   s      r:   check_resultsr      s    F+++HC (,cim.C.C.E.EFFF 	!""rx
';';<<< '+++++rI   c                 F    t          d           t          d           d S )NFr   T)r   r   s    r:   test_resultsr     s*    rI   c                  T   t          j        ddd          } t          j        ddg|           }t          |fi t          }|                    g           }|                                }t          |j        |j	        f           t          |                                j        |           t          |                    d          |                                           t          ddgfi t          }|                    g           }t          t          |j        d	           d S )
N
1980-01-01
1981-01-01ASstartendr!   r   r   r"   )dynamicstring)r.   r/   r0   r   r   r   predictr   rZ   rK   r   get_predictionpredicted_meanr   KeyError)datesr7   r8   r9   r  s        r:   test_predictr    s   M,TJJJEIq!fE***E
5
#
#F
#
#C
**R..C kkmmG,,,C&&((7AAA CKKK55s{{}}EEE Aq6
$
$V
$
$C
**R..C(CK::::::rI   c                  (   t          ddgfi t          } |                     g           }|                    d          }t	          |t          j        d          dz             t	          |                    d          j        |           t          j
        ddd          }t          t          j        ddg|	          fi t          } |                     g           }t	          |                    d          t          j        d          dz             t	          |                    d
          t          j        d          dz             t	          |                    d          j        t          j        d          dz             d S )Nr   r   r?   )steps)r?   r   r   r   r"   z
1960-12-01)r   r   r   forecastr   r,   onesget_forecastr  r.   r/   r0   )r8   r9   r	  r#   s       r:   test_forecastr  *  se   
Aq6
$
$V
$
$C
**R..C||"|%%HHbgennq0111C$$2$..=xHHH M,===E
29aV5111
<
<V
<
<C
**R..CCLLrL**BGENNQ,>???CLL|L44bgennq6HIIIC$$2$..=GENNQ&( ( ( ( (rI   c                  0   t          j        ddd          } t          j        g d|           }t          |fi t          }|                    g           }t          |                                          }t          t          j
        d|          d ud           t          t          j
        d	|          d ud           t          t          j
        d
|          d ud           t          j                    5  t          j        d           t          j        |j        j        d d <   |                                 d|j        _        |                                 d|j        _        |                                 d d d            d S # 1 swxY w Y   d S )Nr   z
1984-01-01r   r   )r   r   r=   r   r   r"   zSample:\s+01-01-1980Tz\s+- 01-01-1984zModel:\s+MLEModelr)   r   r   )r.   r/   r0   r   r   r   strsummaryr   researchr2   r3   r4   r,   nanfilter_results_standardized_forecasts_error)r  r7   r8   r9   txts        r:   test_summaryr  <  s   M,TJJJEIoooU333E
5
#
#F
#
#C
**R..C ckkmm

C 2C88DdKKK-s334?FFF /55TA4HHH 
	 	"	"  h'''>@f8;;<8;>8                 s   :BFFFr   c                    t          | fi |}t          |j        j        d           t          |j        j        d         d           t          |j        j        ||f           t          |j        j        j        d           t          |j        j        j        d         d           t          |j        j        j        ||f           t          |j        j        j        |j        u d           |S )Nr   C_CONTIGUOUSTF_CONTIGUOUS)r   r   r7   ndimflagsrZ   rY   base)r7   rK   rG   r   r8   s        r:   check_endogr  W  s    
5
#
#F
#
#C ###0$7774/222 #Q'''$^4d;;;$wo666#sy0$777JrI   c                     t          t          t          dd           t          t          t          dd           t          t          t          dd           t          dgfi t          } |                     g           }t          |j        j        dgg           t          dgfi t          } |                     g           }t          |j        j        dgg           t          dgfi t          } |                     g           }t          |j        j        dgg           t          dgfi t          } t          t          | j        g            ddg}t          |fi t          } |                     g            dgdgg}t          |fi t          } |                     g            d}t          |fi t          } |                     g            d S )Nr   )r7   r   r   Tr   rP   )r   rP   )	r   
ValueErrorr   r   r   r   r  r7   r  )r8   r9   r7   s      r:   test_basic_endogr   k  s   
 *ha!<<<<*hcA>>>>*hdQ???? A3
!
!&
!
!C
**R..C#)QC5111
B4
"
"6
"
"C
**R..C#)QC5111
D6
$
$V
$
$C
**R..C#)QC5111
C5
#
#F
#
#C*cj"--- HE
e
&
&v
&
&CJJrNNNTB4LE
e
&
&v
&
&CJJrNNNE
e
&
&v
&
&CJJrNNNNNrI   c                  	   t          j        ddg          } t          | fi t          }t	          |j        j        |j        j        ud           t	          |j        j        | ud           t	          |j        j        j        | ud           d| d<   t	          |j        t           j	        d         
                    dd                     t	          |j        j        |            t          j        d          } t          t          t          | fi t           t          j        ddg          } t	          | j        d           t	          | j        d         d           t	          | j        d	         d           t	          | j        d
           t          | fi t          }|                    g            t          j        ddg          
                    dd          } t	          | j        d           t	          | j        d         d           t	          | j        d           t          | fi t          }|                    g            t          j        ddg          
                    dd          } t	          | j        d           t	          | j        d         d           t	          | j        d           t          t$          t          | fi t           t          j        ddg          
                    dd                                          } t	          | j        d           t	          | j        d	         d           t	          | j        d           t          | fi t          }|                    g            t          j        ddg          
                    dd                                          } t	          | j        d           t	          | j        d	         d           t	          | j        d           t          t$          t          | fi t           t          j        ddg          
                    ddd          } t          t$          t          | fi t           ddgdggddgddggdggdggdggdd}t          j        ddgddgg          } t          | fddi|}|                    g            d S )Nr   rP   Tr   r   r   r   r   r  r  )r   r   r   r   r   r   r   rC   r   r   r   r   rQ         @rG   )r,   r   r   r   r   r7   r  rz   
orig_endogr   rF   r   	TypeErrorr  r  r  rZ   r   r  	transpose)r7   r8   kwargs2s      r:   test_numpy_endogr*    sf   
 Hb"XE
5
#
#F
#
#Csx'::DAAAu,d333$)6===E!HBE$K//155666$e,,,
 HRLLE)[%::6::: Hb"XEQ^,d333^,d333d###
e
&
&v
&
&CJJrNNN Hb"X&&q!,,EQ^,d333 f%%%
e
&
&v
&
&CJJrNNN Hb"X&&q!,,EQ^,d333 f%%% *k5;;F;;; Hb"X&&q!,,6688EQ ^,d333f%%%
e
&
&v
&
&CJJrNNN Hb"X&&q!,,6688EQ ^,d333f%%% *k5;;F;;; Hb"X&&q!Q//E*k5;;F;;;
 1#t1a&1a&9IseA3%se/ G
 Hr2hR)**E
e
2
2Q
2'
2
2CJJrNNNNNrI   c                     t          j        ddg          } t          j        d           t          j        ddd          }t          j        ddg|          } t          | fi t          }|                    g            t          j        d	d
g|          } t          t          t
          | fi t           t          j        ddg|          } t          | fi t          }|                    g            t          j
        d	ddgi|          } t          | fi t          }|                    g            t          j
        ddgddgd|          } t          t          t
          | fi t           t          j
        d	ddgi|          } t          | fi t          }t          |j        j        |j        j        ud           t          |j        j        | ud           t          |j        j        j        j        | ud           d| j        d<   t          |j        t$          j        d                             dd                     t+          |j        j        |            ddgdggddgddggdggdggdggdd}t          j
        ddgddgd|          } t          | fddi|}|                    g            d S )Nr   rP   alwaysr   r   r   r   r"   r   brQ   r%  )r   r-  Tr   r   r"  r   r   r   r   r$  rG   )r.   r0   r2   r4   r/   r  r   r   r   r  	DataFramer   r7   r  rz   r&  valuesilocr,   r   rF   r   )r7   r  r8   r)  s       r:   test_pandas_endogr1    s    Ir2hE(### M,TJJJEIr2he,,,E
e
&
&v
&
&CJJrNNN IsCj...E*k5;;F;;; Ir2he,,,E
e
&
&v
&
&CJJrNNN L#Bx666E
e
&
&v
&
&CJJrNNN LBxr2h77uEEEE *k5;;F;;; L#Bx666E
e
&
&v
&
&Csx'::DAAAu,d333$+0=tDDDEJtBE$K//155666CH'///
 1#t1a&1a&9IseA3%se/ G
 LBxr2h77uEEEE
e
2
2Q
2'
2
2CJJrNNNNNrI   c                  F   t                      \  } }|j        j        j        }t          j                            |          |j        _        |                    d           }|                    d          }t          ||           t          t          |j        d           |                    d           }|                    d          }t          ||           t          j        t                    5  |                    d d           d d d            n# 1 swxY w Y   t          j        t                    5  |                    d           d d d            n# 1 swxY w Y   |                    d           }|                    d          }t          ||           t          j        t                    5  |                    d           d d d            n# 1 swxY w Y   |                    d dd	
           |                    d           d S )N)sizer   
jarqueberainvalidbreakvar)r   alternativeljungboxdF)r   r8  use_f	boxpierce)r;   r  r  rZ   r,   randomnormaltest_normalityr   r   r   test_heteroskedasticityr   r   r  test_serial_correlation)r8   r9   rZ   actualdesireds        r:   test_diagnosticsrD  -  s   HC <BE
	e$$ 4 t,,F   55GFG$$$%s'9)LLLL(((55F)))<<GFG$$$	z	"	" H H##4Y#GGGH H H H H H H H H H H H H H H	*	+	+ 6 6##9#5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 (((55F)))<<GFG$$$	*	+	+ 6 6##9#5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 tEJJJ{33333s6   :DD"%D"E%%E),E)G((G,/G,c                  d   ddl m}  t          j                                        j        }t          j        ddd          |_         | |d         dd	|j        j        
          }|	                                }|
                    ddd          dd d df         }t          |ddgd           d S )Nr   )r1   
1871-01-01
1970-01-01r   r!   volumer{   n)r7   r%   r}   r!   r9  r?   T)r   lags	df_adjustr*   gZd;,@g<,?MbP?r   )"statsmodels.tsa.statespace.sarimaxr1   r	   rz   load_pandasr.   r/   r#   r!   r5   rA  r   )r1   niledatar8   r9   rB  s        r:   )test_small_sample_serial_correlation_testrQ  R  s     ;:::::y$$&&+H]<DIIIHN
'x 	^ " " "C ''))C((d ) 4 445qqq"H>FFVV,4888888rI   c                  b   t           j                                        j        } t          j        ddd          | _        t          | d         dddd	          }d|j        d
<   t          j	        d          |j        d<   d|j        d<   d|j        d<   t          j	        d          |j        d<   |
                    g           }|                    dd          dd d df         }t          |ddgd           |                    d          dd df         }t          |ddgd           d S ) NrF  rG  r   rH  rI  r   r     4&kCr   r   r]   r[   rO   gN@a3#@rC   r   r   r   r   r   r   r   r   gke@r   r   r   r9  r?   r   rK  r   r*   gCl;*@g-?rM  r   r5  r4  r   gfW?gW?r   )r	   rz   rO  r.   r/   r#   r   rY   r,   expr   rA  r   r?  )rP  r8   r9   rB  s       r:   test_diagnostics_nile_eviewsr[  g  sC    y$$&&+H]<DIIIHN
Q,t  C  CGN!vh//CGO"#CG!"CG!#!1!1CG
**R..C ((
(DDQ2XNFFVUO$7777 |44QU;FFXx0t<<<<<<rI   c                     t           j                                        j        } t          j        ddd          | _        t          | d         dddd	          }d|j        d
<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   |                    g           }|	                    dd          d         }t          |dgd           |                    d          d         }|d         |d         |d         g}t          |g dd           |                    d          d         }t          |d gd           d S )!NrF  rG  r   rH  rI  r   r   rS  rT  rO   g    }@rU  rV  rW  gfffff@rX  r9  r   rY  )r   r   r*   gGz!@r   r   r5  r4  r   r   r=   )g?gQgQ@r7  r   gQ?)r	   rz   rO  r.   r/   r#   r   rY   r   rA  r   r?  r@  )rP  r8   r9   rB  norms        r:   #test_diagnostics_nile_durbinkoopmanr^    si    y$$&&+H]<DIIIHN
Q,t  C  CGN%CGO"#CG!"CG!'CG
**R..C ((
(CCHMFFTF....
 \2215D1gtAwQ(FF///d;;;; ((
(;;DAFFTF......rI   c                  x    t                      \  } }|                                }|                                 d S r   )r;   r  summary_frame)r8   r9   r  s      r:   test_prediction_resultsra    s:    
 HC  ""GrI   c            	      H
   t          j        t          j        g dt          j        ddd                    } t          j        | d                                                   | d<   t          j        | d	                                                   | d
<   t          j        | d                                                   | d<   | j        ddg df         }t          j	        }t          j        |d         ddd          }|                    |d                   }t          |j        |d                    |                    dd          d|j        z  z
  }|                    dd          dt          j        |j                  z  |j        z  z
  }|                    dd          dt          j        t          j        |j                            z  |j        z  z
  }t          ||d                    t          ||d                    t          ||d                    t          j        }|j        dz
  }|j        t          j        |j                  z
  }t          ||d                    t          ||d                    |                    d          dz
  }|                    d          t          j        |j                  z
  }t          ||d                    t          ||d                    t          j        }t+          j        |dd d!d"          }|                    |d                   }t          |j        |d                    |                    dd          d#|j        z  z
  }|                    dd          d$t          j        |j                  z  |j        z  z
  }|                    dd          d#t          j        t          j        |j                            z  |j        z  z
  }t          ||d                    t          ||d                    t          ||d                    t          j        }|j        d#z
  }|j        d$t          j        |j                  z  z
  }t          ||d                    t          ||d                    |                    d          d#z
  }|                    d          d$t          j        |j                  z  z
  }t          ||d                    t          ||d                    d S )%N)invincconsumpr   z
1982-10-01QSrH  )columnsr#   rc  dln_invrd  dln_incre  dln_consumpz
1960-04-01z
1978-10-01)rh  ri  rj  r   r|   r   )r%   r}   r[   r   r   aic	lutkepohlr4  r   bicr   hqic	estat_aic	estat_bicr   rJ  unstructured)r%   r}   error_cov_typer[         )r.   r.  r   lutkepohl_datar/   r,   logr   loclutkepohl_ar1_lustatsr   r1   r   r   r   info_criterianobs_effectivelutkepohl_ar1rk  rm  lutkepohl_var1_lustatsr   VARMAXlutkepohl_var1)dtar7   r   r8   r9   rk  rm  rn  s           r:   #test_lutkepohl_information_criteriar    s   
,'1J1J1JmL,TBBBD D DC VCJ'',,..C	NVCJ'',,..C	NI//4466CGL-999: ;E 1D
/%	*)3-.0 0 0C
**T(^
$
$CCGT)_--- U;773%%&CU;77rvc()))C,>>?Cf[99BF26#"4556669KKLDCe%%%Ce%%%D$v,''' )D
'A+C
'BF3-..
.CCk*+++Ck*+++


E
"
"Q
&C


E
"
"RVC,>%?%?
?CCk*+++Ck*+++ 2D
-V3'5!N N NC
**T(^
$
$CCGT)_--- U;773%%&CU;77rvc()))C,>>?Cf[99BF26#"4556669KKLDCe%%%Ce%%%D$v,''' *D
'E/C
'As1222
2CCk*+++Ck*+++


E
"
"U
*C


E
"
"Q0B)C)C%C
CCCk*+++Ck*+++++rI   c                     t           j                                        j        d         } t          j        ddd          | _        | j        d d         }| j        dd         }t          j        |dd	
          }|	                    dg          }t          t          |j        |ddi           t          t          |j        |ddi           t          t          |j        |ddi           t          t          |j        |di i           t          t          |j        |di i           t          t          |j        |di i           | j        dd         }t          j        | j        d         t          |          d          |_        d}t!          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t!          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   d}t!          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d}t!          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   | j        dd         }d}t!          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t!          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   d}t!          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d}t!          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   t          j        | j        d d         j                  }t          j        | j        d d         j                  dd          }	t          j        |d|d	          }
|
	                    ddg          }t          j        | d d         j                  dd          }d}t!          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t!          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   d}t!          j        t          |          5  |                    |	|           d d d            n# 1 swxY w Y   d}t!          j        t          |          5  |                    |	|           d d d            d S # 1 swxY w Y   d S )NrI  rF  rG  r   rH     rS   r   T)r%   concentrate_scaler   r   r   )
fit_kwargsr   r   r   r   r    r!   zeGiven `endog` does not have an index that extends the index of the model. Expected index frequency is)matchzdGiven `exog` does not have an index that extends the index of the model. Expected index frequency is)r$   z.The indices for endog and exog are not aligned   )   zJGiven `endog` does not have an index that extends the index of the model.$zIGiven `exog` does not have an index that extends the index of the model.$r%   r$   r  g?)r	   rz   rO  r.   r/   r#   r0  r   r1   smoothr   r  appendextendapplylenr   r   r0   r/  )rP  endog1endog2r8   r   
wrong_freqmessagenot_ctsendog3endog4mod2r   s               r:    test_append_extend_apply_invalidr    sq   y$$&&+H5H]<DIIIHN]3B3F]2b5!F
/&	T
J
J
JC::seD*dk6((35 5 5 5*dk6((35 5 5 5*dj&((35 5 5 5 *dk6z2>NOOOO*dk6z2>NOOOO*dj&j"=MNNNN r"u%J}nQZtE E EJ9G	z	1	1	1    J                             	z	1	1	1    J                             9G	z	1	1	1 - -F,,,- - - - - - - - - - - - - - ->G	z	1	1	1 - -F,,,- - - - - - - - - - - - - - -
 mBrE"GG	z	1	1	1  G              	z	1	1	1  G              G	z	1	1	1 * *F)))* * * * * * * * * * * * * * *>G	z	1	1	1 * *F)))* * * * * * * * * * * * * * * Yx}SbS)011FYx}SbS)011"##6F?6-13 3 3D;;Sz""D i",--bcc2GG	z	1	1	1  G              	z	1	1	1  G              G	z	1	1	1 * *F)))* * * * * * * * * * * * * * *>G	z	1	1	1 * *F)))* * * * * * * * * * * * * * * * * *s   +GGG3HHH=I!!I%(I%	J--J14J1$LL
L
,MMM6NN!NO&&O*-O*:SS #S T$$T(+T(U00U47U4V==WWc                      t          j        g ddg dd          } |                     ddg          }|                    ddg d	
          }t	          |j        t          j                   d S )N)r   r   r   r   )r   r   r   Tr  r   r   r   )r=   r=   r   )r   r   r$   )r   r1   r   r  r   dtyper,   float64)r8   r9   ps      r:   test_integer_paramsr  c  ss    
/)))9999,02 2 2C
**aV

C4iii88A"*%%%%%rI   c                 X   t           j                            ||g                                          }t           j                            ||g                                          }t           j                            ||g                                          }t	          | j        j                            |                     t	          | j        j                            |                     t	          | j	        j                            |                     t	          | j        j                            |                     t	          | j
        j                            |                     t	          | j
        j                            |                     t	          | j        j                            |                     t	          | j
        j                            |                     t	          | j        j                            |                     t	          | j        j                            |                     t	          | j        j                            |                     t	          | j        j                            |                     d S r   )r.   
MultiIndexfrom_product	swaplevelr
   	predictedr#   equalsrg  predicted_covfilteredfiltered_covsmoothedsmoothed_cov)statesixpredicted_ixcolspredicted_cov_ixfiltered_cov_ixsmoothed_cov_ixs          r:   check_states_indexr  l  s   }11	t 'ikk m00"d<<FFHHOm00"d<<FFHHO F")),77888F$++D11222F &--.>??@@@F$++D11222 FO!((,,---FO#**400111F%,,_==>>>FO#**400111 FO!((,,---FO#**400111F%,,_==>>>FO#**40011111rI   c                  |   d} t          j        d| d          }t          j        t          j        |           |          }t          j        |d          }|                    g d          }t          j        |d	         | d
z   d          }t          j        ddg          }t          |j
        |||           d S Nr?   2000Mr  r"   r   r   r   r   r   r   r   r   r   state.0state.1)r.   period_ranger0   r,   rE   r   r1   r  Indexr  r  rK   r  r7   r8   r9   r  r  s          r:   test_states_index_periodindexr    s    D	vt#	>	>	>BIbhtnnB///E
/%y
1
1
1C
**___
%
%C?AqsKKKL8Y	*++Dsz2|T:::::rI   c                  |   d} t          j        d| d          }t          j        t          j        |           |          }t          j        |d          }|                    g d          }t          j        |d	         | d
z   d          }t          j        ddg          }t          |j
        |||           d S r  )r.   r/   r0   r,   rE   r   r1   r  r  r  r  r  s          r:   test_states_index_dateindexr    s    D	VT	<	<	<BIbhtnnB///E
/%y
1
1
1C
**___
%
%C=r!udQhSIIIL8Y	*++Dsz2|T:::::rI   c                     d} t          j        t          j        d                    }t          j        t          j        |           |          }t          j        |d          }|                    g d          }t          j        t          j        d                    }t          j        ddg          }t          |j
        |||           d S )	Nr?   r"   r  r   r     r  r  )r.   r  r,   r-   r0   rE   r   r1   r  r  r  r  s          r:   test_states_index_int64indexr    s    D	")B--	 	 BIbhtnnB///E
/%y
1
1
1C
**___
%
%C8BIbMM**L8Y	*++Dsz2|T:::::rI   c                     d} t          j        d          }t          j        t          j        |           |          }t          j        |d          }|                    g d          }t          j        d          }t          j        ddg          }t          |j
        |||           t          j        d	d
d          }t          j        t          j        |           |          }t          j        |d          }|                    g d          }t          j        d	dd          }t          j        ddg          }t          |j
        |||           d S )Nr?   r"   r  r   r  r  r  r  r       r=   #   )r.   
RangeIndexr0   r,   rE   r   r1   r  r  r  r  r  s          r:   test_states_index_rangeindexr    s3   D 
r		BIbhtnnB///E
/%y
1
1
1C
**___
%
%C=$$L8Y	*++Dsz2|T::: 
q"a	 	 BIbhtnnB///E
/%y
1
1
1C
**___
%
%C=B**L8Y	*++Dsz2|T:::::rI   c                      g d} t          j        |            t          j        t                    5  t          j        | d           d d d            d S # 1 swxY w Y   d S )N)r   r   r   T)invalid_kwarg)r   r1   r   warnsFutureWarning)r7   s    r:   test_invalid_kwargsr    s    JJEOE	m	$	$ 3 3T22223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   AAA)TF)Fr#  )G__doc__osr  r2   numpyr,   r6   r.   r   statsmodels.tsa.statespacer   r   r   r   #statsmodels.tsa.statespace.mlemodelr   r   statsmodels.datasetsr	   numpy.testingr
   r   r   r   r   (statsmodels.tsa.statespace.tests.resultsr   r   pathdirnameabspath__file__current_pathr   r;   rH   rL   rx   r   marksmoker   r   r   r   r   r   r   r   r   r  r  r  r  r   r*  r1  rD  rQ  r[  r^  ra  r  r  r  r  r  r  r  r  r  r   rI   r:   <module>r     s    
			 				          9 9 9 9 9 9 9 9 9 9 9 9 K K K K K K K K % % % % % %P P P P P P P P P P P P P P' ' ' ' ' ' ' ' wrwx8899 qcUA3%#qcU+
 
   41 1 1B%1 %1 %1Ph* h* h*V/ / /4   O O Oi5 i5 i5X9F 9F 9Fx( ( (>& & &&) ) ) 
, 
, 
,   
; ; ;0( ( ($  6   (% % %PZ Z Zz: : :z"4 "4 "4J9 9 9*= = =>!/ !/ !/H   Z, Z, Z,zO* O* O*d& & &2 2 28; ; ;; ; ;; ; ;; ; ;83 3 3 3 3rI   