
    M/Ph                     L   d Z ddlm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mZ ddlZddlZddlmZ ddlmZmZmZmZ ddl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#d2dZ$d Z%d Z&d Z'd Z(ej)        j*        d             Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d3dZ3d Z4d Z5d Z6d4d Z7d! Z8d" Z9d# Z:d$ Z;d% Z<d& Z=d' Z>ej)        j*        d(             Z?d) Z@d* ZAd+ ZBd, ZCd- ZDd. ZEd/ ZFd0 ZGd1 ZHdS )5zM
Tests for the generic MLEModel

Author: Chad Fulton
License: Simplified-BSD
    )	MONTH_ENDN)assert_assert_allcloseassert_almost_equalassert_equalassert_raises)nile)kalman_filterkalman_smoothersarimaxvarmax)MLEModelMLEResultsWrapper)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)r6   pandasendogr%   r$   modress          n/var/www/html/test/jupyter/venv/lib/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   rC   r   rD   rE   r   r   r   )r-   zerosr.   reshaper   r   )k_endogr   rB   r8   rC   r   rD   rE   r   r   r   r9   s               r;   !test_init_matrices_time_invariantrI   I   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   rA   rC   r   rD   rE   r   r   r   )r-   rF   rG   r.   r   r   )nobsrH   r   rB   r8   rC   r   rD   rE   r   r   r   r9   s                r;   test_init_matrices_time_varyingrM   j   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0rJ   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r6   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)r9   _kfs      r;   test_wrappingry      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)))))rJ   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?)rtolrO   r+   T)r,   return_params   )r   wpi1_stationaryr-   diffr   r2   r3   r4   r5   r6   r   llfr<   r   )truer8   r9   res1res2rw   
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r9   r:   s     r;   test_score_miscr     s+    HC IIcjrJ   c                  2    t          t          d            d S )Nc                  .    t          j        ddd          S )Nr   r   r>   )r   from_formula rJ   r;   <lambda>z#test_from_formula.<locals>.<lambda>   s    x/DQ1/M/M rJ   )r   NotImplementedErrorr   rJ   r;   test_from_formular     s    %'M'MNNNNNrJ   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KrJ   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#~,-;;rJ   )        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_phiU  s    a#q&jD)))rJ   c                     d| z  S )NrQ   r   )r   s    r;   partial_transform_sigma2z9test_score_analytic_ar1.<locals>.partial_transform_sigma2X  s    F{rJ   )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>   rS   )r-   rF   )r   r   hessians      r;   r   z(test_score_analytic_ar1.<locals>.hessian~  st    (6""q&1a!a7(*a&!)m(<<#,	9rJ   r*   r   皙?)r   r2   r-   r_r   r   untransform_paramsdotdiagr3   r4   r5   _hessian_complex_step_hessian_finite_difference)r9   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<   r3   r4   r5   r6   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   rO      	   T)r   kwargsr   transform_paramsr   filterupdateloglike
loglikeobsr<   r   )r9   rw   r:   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'''''rJ   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   rQ   T)
return_ssmr   r   )r   )r-   arrayr   r   r   r   r_   r
   FilterResultsr   r   )r8   r9   r:   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%%%%%rJ   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r9   s   r;   r   ztest_params.<locals>.<lambda>  s
    s/? rJ   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%(((((rJ   c                 <   t          |           \  }}t          |j        dd          |j        dd                                                     t          |j        dd          t          j        |j        dz
                       t          |j
        d           d S )Nr7   r   r   )r<   r   fittedvaluesr8   squeezeresidr-   rF   rL   r   r\   )r7   r9   r:   s      r;   check_resultsr     s    F+++HC (,cim.C.C.E.EFFF 	!""rx
';';<<< '+++++rJ   c                 F    t          d           t          d           d S )NFr   T)r   r   s    r;   test_resultsr     s*    rJ   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YSstartendr"   r   r   r#   )dynamicstring)r/   r0   r1   r   r   r   predictr   r[   rL   r   get_predictionpredicted_meanr   KeyError)datesr8   r9   r:   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::::::rJ   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/   r0   r1   )r9   r:   r
  r$   s       r;   test_forecastr  7  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&( ( ( ( (rJ   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/   r0   r1   r   r   r   strsummaryr   researchr3   r4   r5   r-   nanfilter_results_standardized_forecasts_error)r  r8   r9   r:   txts        r;   test_summaryr  I  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 p|j        j        j         d           |S )Nr   C_CONTIGUOUSTF_CONTIGUOUS)	r   r   r8   ndimflagsr[   rZ   base	writeable)r8   rL   rH   r   r9   s        r;   check_endogr  d  s    
5
#
#F
#
#C ###0$7774/222 #Q'''$^4d;;;$wo666ci'Hsy/H+H  
 JrJ   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   )r8   r   r   Tr   rQ   )r   rQ   )	r   
ValueErrorr   r   r   r   r  r8   r  )r9   r:   r8   s      r;   test_basic_endogr"  {  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JJrNNNNNrJ   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   rQ   Tr   r   r   r   r   r  r  )r   r   r   r   r   r   r   rD   r   r   r   r   rR         @rH   )r-   r   r   r   r   r8   r  r{   
orig_endogr   rG   r   	TypeErrorr  r  r  r[   r   r!  	transpose)r8   r9   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JJrNNNNNrJ   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   rQ   alwaysr   r   r   r   r#   r   brR   r'  )r   r/  Tr   r   r$  r   r   r   r   r&  rH   )r/   r1   r3   r5   r0   r  r   r   r   r!  	DataFramer   r8   r  r{   r(  valuesilocr-   r   rG   r   )r8   r  r9   r+  s       r;   test_pandas_endogr3     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JJrNNNNNrJ   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   r:  use_f	boxpierce)r<   r  r  r[   r-   randomnormaltest_normalityr   r   r   test_heteroskedasticityr   r   r!  test_serial_correlation)r9   r:   r[   actualdesireds        r;   test_diagnosticsrF  =  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   )r2   
1871-01-01
1970-01-01r   r"   volumer|   n)r8   r&   r~   r"   r;  r@   T)r   lags	df_adjustr+   gZd;,@g<,?MbP?r   )"statsmodels.tsa.statespace.sarimaxr2   r	   r{   load_pandasr/   r0   r$   r"   r6   rC  r   )r2   niledatar9   r:   rD  s        r;   )test_small_sample_serial_correlation_testrS  b  s     ;:::::y$$&&+H]<DIIIHN
'x 	^ " " "C ''))C((d ) 4 445qqq"H>FFVV,4888888rJ   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 ) NrH  rI  r   rJ  rK  r   r     4&kCr   r   r^   r\   rP   gN@a3#@rD   r   r   r   r   r   r   r   r   gke@r   r   r   r;  r@   r   rM  r   r+   gCl;*@g-?rO  r   r7  r6  r   gfW?gW?r   )r	   r{   rQ  r/   r0   r$   r   rZ   r-   expr   rC  r   rA  )rR  r9   r:   rD  s       r;   test_diagnostics_nile_eviewsr]  w  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<<<<<<rJ   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 )!NrH  rI  r   rJ  rK  r   r   rU  rV  rP   g    }@rW  rX  rY  gfffff@rZ  r;  r   r[  )r   r   r+   gGz!@r   r   r7  r6  r   r   r>   )g?gQgQ@r9  r   gQ?)r	   r{   rQ  r/   r0   r$   r   rZ   r   rC  r   rA  rB  )rR  r9   r:   rD  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......rJ   c                  x    t                      \  } }|                                }|                                 d S r   )r<   r  summary_frame)r9   r:   r  s      r;   test_prediction_resultsrc    s:    
 HC  ""GrJ   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QSrJ  )columnsr$   re  dln_invrf  dln_incrg  dln_consumpz
1960-04-01z
1978-10-01)rj  rk  rl  r   r}   r   )r&   r~   r\   r   r   aic	lutkepohlr6  r   bicr   hqic	estat_aic	estat_bicr   rL  unstructured)r&   r~   error_cov_typer\         )r/   r0  r   lutkepohl_datar0   r-   logr   loclutkepohl_ar1_lustatsr   r2   r   r   r   info_criterianobs_effectivelutkepohl_ar1rm  ro  lutkepohl_var1_lustatsr   VARMAXlutkepohl_var1)dtar8   r   r9   r:   rm  ro  rp  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*+++++rJ   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                  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 )NrK  rH  rI  r   rJ     rT   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	   r{   rQ  r/   r0   r$   r2  r   r2   smoothr   r!  appendextendapplylenr   r   r1   r1  )rR  endog1endog2r9   r   
wrong_freqmessagenot_ctsendog3endog4mod2r   s               r;    test_append_extend_apply_invalidr  !  st   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6rss;F?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-0T-U55U9<U9W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   r2   r   r  r   dtyper-   float64)r9   r:   ps      r;   test_integer_paramsr  s  ss    
/)))9999,02 2 2C
**aV

C4iii88A"*%%%%%rJ   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$   equalsri  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  |  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1rJ   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_ranger1   r-   rF   r   r2   r  Indexr  r  rL   r  r8   r9   r:   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:::::rJ   c                     d} t          j        d| t                    }t          j        t	          j        |           |          }t          j        |d          }|                    g d          }t          j        |d         | d	z   t                    }t          j	        d
dg          }t          |j        |||           d S )Nr@   r  r  r#   r  r   r  r   r   r  r  )r/   r0   r   r1   r-   rF   r   r2   r  r  r  r  r  s          r;   test_states_index_dateindexr    s    D	VT		B	B	BBIbhtnnB///E
/%y
1
1
1C
**___
%
%C=r!udQhYOOOL8Y	*++Dsz2|T:::::rJ   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.   r1   rF   r   r2   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:::::rJ   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/   
RangeIndexr1   r-   rF   r   r2   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:::::rJ   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   r2   r   warnsFutureWarning)r8   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%  )I__doc__statsmodels.compat.pandasr   osr  r3   numpyr-   numpy.testingr   r   r   r   r   r7   r/   r   statsmodels.datasetsr	   statsmodels.tsa.statespacer
   r   r   r   #statsmodels.tsa.statespace.mlemodelr   r   (statsmodels.tsa.statespace.tests.resultsr   r   pathdirnameabspath__file__current_pathr   r<   rI   rM   ry   r   marksmoker   r   r   r   r   r   r   r   r   r  r  r  r  r"  r,  r3  rF  rS  r]  r`  rc  r  r  r  r  r  r  r  r  r  r   rJ   r;   <module>r     s    0 / / / / / 				 				                        % % % % % %            L K K K K K K K       
 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 3rJ   