
    !g                     j   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<                  j?                  ej<                  jA                  e!            Z"d	d	ggd	ggd	ggd	ggd
dZ#d/dZ$d Z%d Z&d Z'd Z(ejR                  jT                  d        Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d0dZ3d Z4d Z5d Z6d1dZ7d Z8d Z9d  Z:d! Z;d" Z<d# Z=d$ Z>ejR                  jT                  d%        Z?d& Z@d' ZAd( ZBd) ZCd* ZDd+ ZEd, ZFd- ZGd. ZHy)2zM
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initializationc                    t        j                  d      dz  }d|z  }|rFt        j                  ddd      }t        j                  ||      }t        j                  ||      }t        j                  ||dd	d
d	      }| rHt        j                         5  t        j                  d       |j                  d      }d d d        ||fS d }||fS # 1 sw Y   |fS xY w)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          k/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/tsa/statespace/tests/test_mlemodel.pyget_dummy_modr<   /   s     IIcN3EU7DlCdC		%u-yyU+
//D	 $U C
 $$& 	#!!(+''r'"C	# 8O 8O	# 8Os   (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   |
       y )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HHWEIIg&,MZZ
		'H$%+gx-@BFjj7A:.4w6HIGii)C/OBIIhk2S88X:NOJ


		(X%&,x.BDI

299Xq[1C7(H9MNI
58h!.v"O(I&	(C C(-8CM6*C	NG,C)*O<C%z2C$i0C$i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   |       y )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HHWEJJryy483> '0MZZ
		'H$t+,s2Wh4MOFjj
		'1*t#$s*Wgt,DFGjj
		(T/"S(8T*:<O
		(A+$%+h$-GIJ


		(X%,-3	8T"$I 


		(A+$%+h$-GII 58h!.v"O(I&	(C C(-8CM6*C	NG,C)*O<C%z2C$i0C$i0rJ   c                     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       | j                          | j                  d       t        | j                  j                  d       t        | j                  j                  d       | j!                  dgdgg       t        | j                  j                  d       t        | j                  j"                  dg       t        | j                  j$                  dgg       | j'                          t        | j                  j                  d       t        | j                  j(                  t*        j,                         t        | j                  j.                  t*        j0                         t        | j                  j2                  t*        j4                         t        | j                  j6                  t8        j:                         | j                  j=                          | j                  j>                  }t        |j(                  t*        j,                         t        |j.                  t*        j0                         t        |j2                  t*        j4                         | jA                  d       | jC                  d       | jE                  d       | jG                  d       t        | j                  j(                  d       t        | j                  j.                  d       t        | j                  j2                  d       t        | j                  j6                  d       t        |j(                  t*        j,                         t        |j.                  t*        j0                         t        |j2                  t*        j4                         | jA                  d       | j                  j=                          | j                  j>                  }t        |j(                  d       t        |j.                  d       t        |j2                  d       y )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 ^$cBIIcN&:; C!Q1a*+Q/"((+6 TFCM("-"((&1 ''+C++Q/ 1 12CM""E*%%t,C))40 C..7>
 &&s+##779NO##@@#F"v&##77A##,,rd3##22bTF;##77F &&(I(IJ  ..0 ((-*H*HI((/*F*FG GG 			B!!=#D#DE$$m&L&LM##]%C%CD
 #S!C C  &&,))3/((#.((#. !!=#D#DE$$m&L&LM##]%C%CD !GG  
		B!!1%$$c*##S)rJ   c                  |   t         j                  } t        j                  | d         dd  }t	        j
                  |dd      }t        j                         5  t        j                  d       |j                  ddd	d
      }|j                  dddd
      }d d d        t        j                  j                  d       t        d
      \  }}t        j                         5  t        j                  d       |j                  dd      }d d d        t        ddgd       y # 1 sw Y   xY w# 1 sw Y   %xY w)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GGDL!!"%E
//%y
<C 
	 	 	" 1h'wwe!5*/  1wwe!5*/  1	1 DHHdhhT2 u%FC		 	 	" :h'WW"DW9
:
 
QFA.!1 1: :s   A D&%)D2&D/2D;c                  T    t               \  } }| j                  |j                         y N)r<   scoreparamsr9   r:   s     r;   test_score_miscr     s    HC IIcjjrJ   c                  &    t        t        d        y )Nc                  0    t        j                  ddd      S )Nr   r   r>   )r   from_formula rJ   r;   <lambda>z#test_from_formula.<locals>.<lambda>   s    x/D/DQ1/M rJ   )r   NotImplementedErrorr   rJ   r;   test_from_formular     s    %'MNrJ   c            
      d   t        j                  ddgd      } d }d }t        j                  d   }t        j                   ||d   |d          ||d   |d         f   }| j	                  |d	d	
      }t        ||       | j	                  |d	d
      }t        ||d       | j	                  |d	dd	      }t        ||d       | j	                  |d	dd	      }t        ||       | j	                  |d	dd      }	t        |	|d       | j	                  |d	ddd	      }
t        |
|d       d }d }| j                  |      }t        j                  t        j                  t        j                   ||d          ||d         f         t        j                   ||d   |d          ||d   |d         f         }| j	                  |dd	
      }t        ||       | j	                  |dd
      }t        ||d       | j	                  |ddd	      }t        ||d       | j	                  |ddd	      }t        ||       | j	                  |ddd      }	t        |	|d       | j	                  |dddd	      }
t        |
|d       t        j                  d   }d } ||d   |d         }t        j                         5  t        j                  d       t        | j                  |      dz  |d       t        | j                  |      dz  |d       d d d        y # 1 sw Y   y xY w)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~  ss    ((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   #  st    //1c()
4CL< UU5\F UUF1Ivay)vay&),	-.N
 		&d	MII~.		&d	NII~D9 			&d"& 	 	(  I~D9		&d8.2  4II~.		&d8.3  5II~D96tH7<37 # 9 &TB* $$V,GVV
+GAJ7.wqz:; < 	=
k&)VAY/VAYq	23 	45N 		'u$	OII~.		'u.3  5II~D9 			'u%"& 	 	(  &TB		'uX.2  4II~.		'uX.3  5II~D97h7<37 # 9 &TB UU7^F vay&)4		 	 	" 5h'11&9A=(t	566v>B(t	5	5 5 5s   AL&&L/c                  <   t               \  } }t        j                         5  t        j                  d       | j	                  |j
                  dd      }t        |j                  d   d       | j	                  |j
                  dd      }t        |j                  d       t        |j                  d   d       | j	                  |j
                  dd	      }t        |j                  d	       t        |j                  d   d
       | j	                  |j
                  dd      }t        |j                  d       t        |j                  d   d       | j	                  |j
                  dd      }t        |j                  d       t        |j                  d   d       | j	                  |j
                  dd      }t        |j                  d       t        |j                  d   d       | j	                  |j
                  dd      }t        |j                  d       t        |j                  d   d       t        j                  t              5  | j	                  |j
                  dd       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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     sE   HC 
	 	 	" 5Fh'ggcjjrFg;LL'/	1 ggcjjrHg=S\\8,LL'	 
 ggcjjrEg:S\\5)LL'@	A
 ggcjjrEg:S\\5)LL'(	)
 ggcjjrHg=S\\8,LL'L	M ggcjjrLgAS\\<0LL'L	M ggcjjrOgDS\\?3LL'.	/ ]]./ 	FGGCJJR2DGE	Fi5F 5Fh	F 	Fi5F 5Fs$   H4JJ5JJ	JJc                     t        ddgfi t        } t        | j                  ddg      ddg       t        | j	                  ddg      ddg       | j                  g d       | j                  g d       | j                  g d       | j                  g d       t        d      \  } }t        | j                  ddg      ddg       t        | j	                  ddg      ddg       | j                  ddgd	      }t        |j                  ddg       | j                  ddgd      }t        |j                  ddg       y )
Nr   r   r>   F)r   rO      	   T)r   kwargsr   transform_paramsr   filterupdateloglike
loglikeobsr<   r   )r9   rw   r:   s      r;   test_transformr     s1   
Aq6
$V
$C C((!Q01a&9C**Aq62QF; JJruJ%JJruJ%KKK&NN25N) u%FC C((!Q01a&9C**Aq62QF; **aV*
.CCJJA'
**aV*
/CCJJA'rJ   c                     t        j                  ddg      } t        | fi t        }|j	                  g d      }t        t        |t        j                        d       |j	                  g       }t        t        |t              d       t        |j                  d       |j	                  g d      }t        t        |t              d       t        |j                  d       y )Nr   rQ   T)
return_ssmr   r   )r   )r-   arrayr   r   r   r   r_   r
   FilterResultsr   r   )r8   r9   r:   s      r;   test_filterr     s    HHb"XE
5
#F
#C **RD*
)CC!<!<=tD **R.CC!23T:u% **R%*
(CC!2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       y )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     sj    
Aq6
$V
$C %'?@"% CuC!!A3'3%(rJ   c                 (   t        |       \  }}t        |j                  dd  |j                  dd  j	                                t        |j
                  dd  t        j                  |j                  dz
               t        |j                  d       y )Nr7   r   r   )r<   r   fittedvaluesr8   squeezeresidr-   rF   rL   r   r\   )r7   r9   r:   s      r;   check_resultsr     su    F+HC ((,ciim.C.C.EF 		!"rxx
';< ''+rJ   c                 4    t        d       t        d       y )NFr   T)r   r   s    r;   test_resultsr     s    rJ   c                  $   t        j                  ddd      } t        j                  ddg|       }t        |fi t        }|j                  g       }|j                         }t        |j                  |j                  f       t        |j                         j                  |       t        |j                  d      |j                                t        ddgfi t        }|j                  g       }t        t        |j                  d	       y )
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    MM,TJEIIq!fE*E
5
#F
#C
**R.C kkmG,C&&(77A CKKK5s{{}E Aq6
$V
$C
**R.C(CKK:rJ   c                     t        ddgfi t        } | j                  g       }|j                  d      }t	        |t        j                  d      dz         t	        |j                  d      j                  |       t        j                  ddd      }t        t        j                  ddg|	      fi t        } | j                  g       }t	        |j                  d      t        j                  d      dz         t	        |j                  d
      t        j                  d      dz         t	        |j                  d      j                  t        j                  d      dz         y )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  s   
Aq6
$V
$C
**R.C||"|%HHbggenq01C$$2$.==xH MM,=E
299aV51
<V
<C
**R.CCLLrL*BGGENQ,>?CLL|L4bggenq6HIC$$2$.==GGENQ&(rJ   c                     t        j                  ddd      } t        j                  g d|       }t        |fi t        }|j                  g       }t        |j                               }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  |j                          d|j                   _        |j                          d|j                   _        |j                          d d d        y # 1 sw Y   y xY w)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)   MM,TJEIIoU3E
5
#F
#C
**R.C ckkm
C 2C8DdK-s34?F /5TA4H 
	 	 	" h'>@ff88;;<8;>8  s   &BE>>F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 xs! |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4/2 ##Q'$$^4d;$$wo6cii'Hsyy/H/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        } | j	                  g       }t        |j                  j                  dgg       t        dgfi t        } | j	                  g       }t        |j                  j                  dgg       t        dgfi t        } | j	                  g       }t        |j                  j                  dgg       t        dgfi t        } t        t        | j                  g        ddg}t        |fi t        } | j	                  g        dgdgg}t        |fi t        } | j	                  g        d}t        |fi t        } | j	                  g        y )Nr   )r8   r   r   Tr   rQ   )r   rQ   )	r   
ValueErrorr   r   r   r   r  r8   r  )r9   r:   r8   s      r;   test_basic_endogr"  {  sd   
 *ha!<*hcA>*hdQ? A3
!&
!C
**R.C##))QC51
B4
"6
"C
**R.C##))QC51
D6
$V
$C
**R.C##))QC51
C5
#F
#C*cjj"- HE
e
&v
&CJJrNTB4LE
e
&v
&CJJrNE
e
&v
&CJJrNrJ   c                  L	   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   j                  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        }|j#                  g        t        j                  ddg      j                  dd      } t	        | j                  d       t	        | j                  d   d       t	        | j                   d       t        | fi t        }|j#                  g        t        j                  ddg      j                  dd      } t	        | j                  d       t	        | j                  d   d       t	        | j                   d       t        t$        t        | fi t         t        j                  ddg      j                  dd      j'                         } t	        | j                  d       t	        | j                  d	   d       t	        | j                   d       t        | fi t        }|j#                  g        t        j                  ddg      j                  dd      j'                         } t	        | j                  d       t	        | j                  d	   d       t	        | j                   d       t        t$        t        | fi t         t        j                  ddg      j                  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|}|j#                  g        y )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,    s   
 HHb"XE
5
#F
#Csxx':'::DAu,d3$$))6=E!HBEE$K//156$$e,
 HHRLE)[%:6: HHb"XEQ^,d3^,d3d#
e
&v
&CJJrN HHb"X&&q!,EQ^,d3 f%
e
&v
&CJJrN HHb"X&&q!,EQ^,d3 f% *k5;F; HHb"X&&q!,668EQ ^,d3f%
e
&v
&CJJrN HHb"X&&q!,668EQ ^,d3f% *k5;F; HHb"X&&q!Q/E*k5;F;
 1#t1a&1a&9IseA3%se/G
 HHr2hR)*E
e
2Q
2'
2CJJrNrJ   c                     t        j                  ddg      } t        j                  d       t        j                  ddd      }t        j                  ddg|      } t        | fi t        }|j                  g        t        j                  d	d
g|      } t        t        t
        | fi t         t        j                  ddg|      } t        | fi t        }|j                  g        t        j                  d	ddgi|      } t        | fi t        }|j                  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   j)                  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|}|j                  g        y )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     sg    IIr2hE(# MM,TJEIIr2he,E
e
&v
&CJJrN IIsCj.E*k5;F; IIr2he,E
e
&v
&CJJrN LL#Bx6E
e
&v
&CJJrN LLBxr2h7uEE *k5;F; LL#Bx6E
e
&v
&Csxx':'::DAu,d3$$++00=tDEJJtBEE$K//156CHH''/
 1#t1a&1a&9IseA3%se/G
 LLBxr2h7uEE
e
2Q
2'
2CJJrNrJ   c                     t               \  } }|j                  j                  j                  }t        j
                  j                  |      |j                  _        |j                  d       }|j                  d      }t        ||       t        t        |j                  d       |j                  d       }|j                  d      }t        ||       t        j                  t              5  |j                  d d       d d d        t        j                  t              5  |j                  d       d d d        |j                  d       }|j                  d      }t        ||       t        j                  t              5  |j                  d       d d d        |j                  d dd	
       |j                  d       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   HxY w)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 <<BBE
		e$ 4 t,F   5GFG$%s'9'9)L(((5F)))<GFG$	z	" H##4Y#GH	*	+ 6##9#56 (((5F)))<GFG$	*	+ 6##9#56 tEJ{3H H6 66 6s$   2G'GG%GG"%G.c                  X   ddl m}  t        j                  j	                         j                  }t        j                  ddd      |_         | |d   dd	|j                  j                  
      }|j                         }|j                  ddd      dd d df   }t        |ddgd       y )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     ;yy$$&++H]]<DIHN
x 	^^  "C '')C((d ) 445q"H>FFVV,48rJ   c                  `   t         j                  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<   |j                  g       }|j                  dd      dd d df   }t        |ddgd       |j                  d      dd df   }t        |ddgd       y ) 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  s    yy$$&++H]]<DIHN
Q,tC  CGGN!vvh/CGGO"#CGG!"CGG!#!1CGG
**R.C ((
(DQ2XNFFVUO$7 |4QU;FFXx0t<rJ   c                  d   t         j                  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<   |j                  g       }|j                  dd      d   }t        |dgd       |j                  d      d   }|d   |d   |d   g}t        |g dd       |j                  d      d   }t        |d gd       y )!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`    s5    yy$$&++H]]<DIHN
Q,tC  CGGN%CGGO"#CGG!"CGG!'CGG
**R.C ((
(CHMFFTF.
 \215D1gtAwQ(FF/d; ((
(;DAFFTF.rJ   c                  ^    t               \  } }|j                         }|j                          y r   )r<   r  summary_frame)r9   r:   r  s      r;   test_prediction_resultsrc    s)    
 HC  "GrJ   c            	      	   t        j                  t        j                  g dt        j                  ddd            } t        j                  | d         j                         | d<   t        j                  | d	         j                         | d
<   t        j                  | d         j                         | d<   | j                  ddg df   }t        j                  }t        j                  |d   ddd      }|j                  |d         }t        |j                  |d          |j                  dd      d|j                   z  z
  }|j                  dd      dt        j                  |j                         z  |j                   z  z
  }|j                  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          |j                  d      dz
  }|j                  d      t        j                  |j                         z
  }t        ||d          t        ||d          t        j(                  }t+        j,                  |dd d!d"      }|j                  |d         }t        |j                  |d          |j                  dd      d#|j                   z  z
  }|j                  dd      d$t        j                  |j                         z  |j                   z  z
  }|j                  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          |j                  d      d#z
  }|j                  d      d$t        j                  |j                         z  z
  }t        ||d          t        ||d          y )%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    sP   
,,''1JmmL,TBDC VVCJ',,.C	NVVCJ',,.C	NI/446CGGL-9: ;E 11D
//%	*)3-.0C
**T(^
$CCGGT)_- U;73%%%&CU;7rvvc(())C,>,>>?Cf[9BFF266#"4"45669K9KKLDCe%Ce%D$v,' ))D
''A+C
''BFF3--.
.CCk*+Ck*+


E
"Q
&C


E
"RVVC,>,>%?
?CCk*+Ck*+ 22D
--V3'5!NC
**T(^
$CCGGT)_- U;73%%%&CU;7rvvc(())C,>,>>?Cf[9BFF266#"4"45669K9KKLDCe%Ce%D$v,' **D
''E/C
''As1122
2CCk*+Ck*+


E
"U
*C


E
"Q0B0B)C%C
CCCk*+Ck*+rJ   c                     t         j                  j                         j                  d   } t        j                  ddd      | _        | j                  d d }| j                  dd }t        j                  |dd	
      }|j                  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  |j                  |       d d d        t!        j"                  t        |      5  |j                  |       d d d        d}t!        j"                  t        |      5  |j                  ||       d d d        d}t!        j"                  t        |      5  |j                  ||       d d d        | j                  dd }d}t!        j"                  t        |      5  |j                  |       d d d        t!        j"                  t        |      5  |j                  |       d d d        d}t!        j"                  t        |      5  |j                  ||       d d d        d}t!        j"                  t        |      5  |j                  ||       d d d        t        j$                  | j                  d d j&                        }t        j$                  | j                  d d j&                        j                  dd  }	t        j                  |d|d	      }
|
j                  ddg      }t        j$                  | d d j&                        dd  }d}t!        j"                  t        |      5  |j                  |       d d d        t!        j"                  t        |      5  |j                  |       d d d        d}t!        j"                  t        |      5  |j                  |	|       d d d        d}t!        j"                  t        |      5  |j                  |	|       d d d        y # 1 sw Y   3xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   RxY w# 1 sw Y   &xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)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  !  sx   yy$$&++H5H]]<DIHN]]3BF]]2b!F
//&	T
JC::seD*dkk6((35*dkk6((35*djj&((35 *dkk6z2>NO*dkk6z2>NO*djj&j"=MN r"%J}}nnQZtEJ9G	z	1  J 	z	1  J 9G	z	1 -F,->G	z	1 -F,-
 mmBr"GG	z	1 G	z	1 GG	z	1 *F)*>G	z	1 *F)* YYx}}Sb)001FYYx}}Sb)00166rs;F??6-13D;;Sz"D ii",,-bc2GG	z	1 G	z	1 GG	z	1 *F)*>G	z	1 *F)* *e      - -- -  * ** *  * ** *s   *S-S:TTT!T.T;<U+U U"U.U:-S7:TTT!T+.T8;UUU"U+.U7:Vc                      t        j                  g ddg dd      } | j                  ddg      }|j                  ddg d	
      }t	        |j
                  t        j                         y )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  sQ    
//)99,02C
**aV
C4i8A"**%rJ   c                 n   t         j                  j                  ||g      j                         }t         j                  j                  ||g      j                         }t         j                  j                  ||g      j                         }t	        | j
                  j                  j                  |             t	        | j
                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j
                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j                  j                  j                  |             t	        | j                  j                  j                  |             y 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'ik mm00"d<FFHOmm00"d<FFHO F"")),78F$$++D12F  &&--.>?@F$$++D12 FOO!!((,-FOO##**401F%%,,_=>FOO##**401 FOO!!((,-FOO##**401F%%,,_=>FOO##**401rJ   c                  z   d} t        j                  d| d      }t        j                  t        j                  |       |      }t        j                  |d      }|j                  g d      }t        j                  |d	   | d
z   d      }t        j                  ddg      }t        |j                  |||       y )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IIbhhtnB/E
//%y
1C
**_
%C??AqsKL88Y	*+Dszz2|T:rJ   c                     d} t        j                  d| t              }t        j                  t	        j
                  |       |      }t        j                  |d      }|j                  g d      }t        j                  |d   | d	z   t              }t        j                  d
dg      }t        |j                  |||       y )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		BBIIbhhtnB/E
//%y
1C
**_
%C==r!udQhYOL88Y	*+Dszz2|T:rJ   c                     d} t        j                  t        j                  d            }t        j                  t        j
                  |       |      }t        j                  |d      }|j                  g d      }t        j                  t        j                  d            }t        j                  ddg      }t        |j                  |||       y )	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IIbhhtnB/E
//%y
1C
**_
%C88BIIbM*L88Y	*+Dszz2|T:rJ   c                     d} t        j                  d      }t        j                  t        j                  |       |      }t        j                  |d      }|j                  g d      }t        j                  d      }t        j                  ddg      }t        |j                  |||       t        j                  d	d
d      }t        j                  t        j                  |       |      }t        j                  |d      }|j                  g d      }t        j                  d	dd      }t        j                  ddg      }t        |j                  |||       y )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    s   D 
r	BIIbhhtnB/E
//%y
1C
**_
%C==$L88Y	*+Dszz2|T: 
q"a	 BIIbhhtnB/E
//%y
1C
**_
%C==B*L88Y	*+Dszz2|T:rJ   c                      g d} t        j                  |        t        j                  t              5  t        j                  | d       d d d        y # 1 sw Y   y xY w)N)r   r   r   T)invalid_kwarg)r   r2   r   warnsFutureWarning)r8   s    r;   test_invalid_kwargsr    sB    EOOE	m	$ 3T23 3 3s   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
 wwrwwx89 qcUA3%#qcU+
41B%1Ph*V/4  Oi5X9Fx(>&&) 
,
;0($6.%PZz:z"4J9*=>!/H  Z,zO*d&28;;;;83rJ   