ó
įp7]c           @` s  d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m Z d d l	 Z
 d d l Z d d l Z d d l m Z m Z d d l m Z d d l m Z d d	 l m Z d d
 l m Z m Z m Z m Z e j j e j j e    Z! e j j" d d  Z# e j$ e! e j% e#  Z& e j j" d d  Z' e j$ e j j" e! e'   Z( d e) f d     YZ* d e) f d     YZ+ d e) f d     YZ, d e, f d     YZ- d e- f d     YZ. d e- f d     YZ/ d e, f d     YZ0 d e0 f d     YZ1 d e, f d     YZ2 d  e2 f d!     YZ3 d" e2 f d#     YZ4 d$ e2 f d%     YZ5 d& e, f d'     YZ6 d( e6 f d)     YZ7 d* e6 f d+     YZ8 d, e6 f d-     YZ9 d. e6 f d/     YZ: d0 e) f d1     YZ; d2 e; f d3     YZ< d4 e; f d5     YZ= d6 e; f d7     YZ> d8 e; f d9     YZ? d: e; f d;     YZ@ d< e; f d=     YZA d> e; f d?     YZB d@ e; f dA     YZC dB e; f dC     YZD dD e; f dE     YZE dF e; f dG     YZF dH e; f dI     YZG dJ e; f dK     YZH dL e; f dM     YZI dN e; f dO     YZJ dP e; f dQ     YZK dR e; f dS     YZL dT e; f dU     YZM dV e; f dW     YZN dX e; f dY     YZO dZ e; f d[     YZP d\ e; f d]     YZQ d^ e; f d_     YZR d` e; f da     YZS db e; f dc     YZT dd e; f de     YZU df e; f dg     YZV dh e; f di     YZW dj e; f dk     YZX dl e; f dm     YZY dn e; f do     YZZ dp e; f dq     YZ[ dr e; f ds     YZ\ dt e; f du     YZ] dv e; f dw     YZ^ dx e; f dy     YZ_ dz e; f d{     YZ` d| e; f d}     YZa d~ e; f d     YZb d e; f d     YZc d e; f d     YZd d e; f d     YZe d e; f d     YZf d e; f d     YZg d e; f d     YZh d e; f d     YZi d e; f d     YZj d e; f d     YZk d e; f d     YZl d e; f d     YZm d e; f d     YZn d e; f d     YZo d e; f d     YZp d e; f d     YZq d e; f d     YZr d  e; f d”     YZs d¢ e; f d£     YZt d¤ e; f d„     YZu d¦ e; f d§     YZv dØ e; f d©     YZw dŖ   Zx d«   Zy d¬   Zz d­   Z{ d®   Z| dÆ   Z} e j~ j d°    Z d±   Z d²   Z e d³  Z e j~ j d“    Z d S(µ   sG   
Tests for SARIMAX models

Author: Chad Fulton
License: Simplified-BSD
i    (   t   divisiont   absolute_importt   print_functionN(   t   PLATFORM_WIN(   t   sarimaxt   tools(   t   arima_modeli   (   t   results_sarimax(   t   add_constant(   t   assert_equalt   assert_almost_equalt   assert_raisest   assert_allcloset   resultss   results_realgdpar_stata.csvs   results_sarimax_coverage.csvt   TestSARIMAXStatsmodelsc           B` s\   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z RS(	   s   
    Test ARIMA model using SARIMAX class against statsmodels ARIMA class

    Notes
    -----

    Standard errors are quite good for the OPG case.
    c      
   C` s   t  j |  _ |  j d } t j | d d
 |  _ |  j j d d  |  _ t j	 | d d d d d t
 d	 t
 |  _ |  j j d d  |  _ d  S(   Nt   datat   orderi   t   dispi’’’’t   trendt   ct   simple_differencingt   hamilton_representation(   i   i   i   (   i   i   i   (   R   t   wpi1_stationaryt   truet   arimat   ARIMAt   model_at   fitt   result_aR   t   SARIMAXt   Truet   model_bt   result_b(   t   clst   endog(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   setup_class-   s    c         C` s   t  |  j j |  j j  d  S(   N(   R   R    t   llfR   (   t   self(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_loglike:   s    c         C` s   t  |  j j |  j j  d  S(   N(   R   R    t   aicR   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_aic=   s    c         C` s   t  |  j j |  j j  d  S(   N(   R   R    t   bicR   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_bic@   s    c         C` s   t  |  j j |  j j  d  S(   N(   R   R    t   hqicR   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt	   test_hqicC   s    c         C` sM   |  j  j j   } d | d | d | d <t |  j j d  | d d d  S(   Ni   i    i’’’’t   atolg-Cėā6
?(   R   t   paramst   copyR   R    (   R%   t   params_a(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_mleF   s    c         C` sM   |  j  j d t  } | j   d } t | d d !|  j j d d d d  S(   Nt   approx_complex_stepg      ą?i   i’’’’R-   gńhćµųä>(   R    t   _cov_params_approxR   t   diagonalR   R   t   bse(   R%   t   cpaR5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_bseM   s    c         C` s6   d d  l  j j } | j |  j  | j |  j  d  S(   Ni    (   t   statsmodels.tools._testingR   t   _testingt   check_ttest_tvaluesR    t   check_ftest_pvalues(   R%   t   smt(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_t_testS   s    (   t   __name__t
   __module__t   __doc__t   classmethodR#   R&   R(   R*   R,   R1   R7   R=   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   $   s   						t   TestRealGDPARStatac           B` s/   e  Z d  Z e d    Z d   Z d   Z RS(   sĖ   
    Includes tests of filtered states and standardized forecast errors.

    Notes
    -----
    Could also test the usual things like standard errors, etc. but those are
    well-tested elsewhere.
    c         C` s   t  j t d  j   d j } t j | d d d d d t |  _ d	 d
 d d d d d d d d d d d g } |  j j	 |  |  _
 d  S(   Nt   valuei   R   i   i    R   t   nR   g.*ēwŚ?gd¤r°
Č?gćD{Äæg	rmÖ	ægŲEņ¦¢ægØø?Qø¢½?g³1D
Y?gf4fægŖ÷+ĻIĮ?gĖß$¶?gMŹQ>Ę±?g=é+å[»ægŖĘrų?(   i   i    i    (   t   npt   logt   realgdp_resultst   difft   valuesR   R   R   t   modelt   filterR   (   R!   t   dlgdpR.   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   d   s     c         C` sN   xG t  d  D]9 } t t j d d | d |  j j j | d d q Wd  S(   Ni   i   s   u%dR-   gķµ ÷Ę°>(   t   rangeR   RG   t   ilocR   t   filter_resultst   filtered_state(   R%   t   i(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_filtered_stateq   s
    c         C` s/   t  t j d d |  j j j d d d d  S(   Ni   t   rstdi    R-   gü©ńŅMbP?(   R   RG   RN   R   RO   t   standardized_forecasts_error(   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt!   test_standardized_forecasts_errory   s    (   R>   R?   R@   RA   R#   RR   RU   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRB   [   s   	t   SARIMAXStataTestsc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C` s!   t  |  j j |  j d d  d  S(   Nt   loglikei   (   R
   t   resultR$   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR&      s    	c         C` s!   t  |  j j |  j d d  d  S(   NR'   i   (   R
   RX   R'   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR(      s    	c         C` s!   t  |  j j |  j d d  d  S(   NR)   i   (   R
   RX   R)   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR*      s    	c         C` s[   d |  j  j d t j t j |  j  j   |  j  j j d } t |  j  j | d  d  S(   Niž’’’i   i    i   (	   RX   R$   RE   RF   t   nobs_effectiveR.   t   shapeR
   R+   (   R%   R+   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR,      s    	c         C` s5   |  j  j } d  |  j  _ |  j  j } t | |  d  S(   N(   RX   RT   t   Nonet   _standardized_forecasts_errorR   (   R%   t
   cython_sfet
   python_sfe(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRU      s    (   R>   R?   R&   R(   R*   R,   RU   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRV      s
   				R   c           B` s&   e  Z d  Z e d    Z d   Z RS(   s?   
    ARIMA model

    Stata arima documentation, Example 1
    c         O` s³   | |  _  | d } | j d t  | j d t  t j | d d d d | | |  _ d | d d	 | d
 d	 } t j | | d | d | d f } |  j j |  |  _	 d  S(   NR   R   R   R   i   R   R   t	   params_ari    t   params_meant	   params_mat   params_variance(   i   i   i   (
   R   t
   setdefaultR   R   R   RJ   RE   t   r_RK   RX   (   R!   R   t   argst   kwargsR"   t	   interceptR.   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ¬   s    	
c         C` s5   |  j  j d d  } t | j |  j j d d d  S(   NR   i’’’’R-   gü©ńŅMbP?(   RJ   R   R   R.   RX   (   R%   RX   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR1   æ   s    (   R>   R?   R@   RA   R#   R1   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   ¦   s   t   TestARIMAStationaryc           B` sA   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z RS(   sr   
    Notes
    -----

    Standard errors are very good for the OPG and complex step approximation
    cases.
    c         C` s   t  t |   j t j  d  S(   N(   t   superRh   R#   R   R   (   R!   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ļ   s    c         C` s   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d |  j	 d d d t |  j j d |  j	 d d d d  S(   Nt   opgi   t	   se_ar_opgR-   gHÆ¼ņ×z>i   t	   se_ma_opg(
   R	   RX   t   cov_typet   _cov_approx_complex_stepR   t   _cov_approx_centeredt   FalseR   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7   Õ   s
    $c         C` s_   |  j  j d t  j   d } t | d |  j d d d t | d |  j d d d d  S(	   NR2   g      ą?i   t	   se_ar_oimR-   gHÆ¼ņ×z>i   t	   se_ma_oim(   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_bse_approxŽ   s    c         C` sV   |  j  j j   d } t | d |  j d d d t | d |  j d d d d  S(	   Ng      ą?i   Rq   R-   gü©ńŅMbP?i   Rr   g{®Gįz?(   RX   t   cov_params_oimR4   R   R   (   R%   t   oim_bse(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_bse_oimö   s    c         C` s   |  j  j j   d } |  j  j } | j   d } t j |  j d |  j d f } t | d d !| d d t | d d !| d d d  S(	   Ng      ą?t   se_ar_robustt   se_ma_robusti   i   R-   g{®Gįz?gü©ńŅMbP?(   RX   t   cov_params_robust_oimR4   t   cov_params_robust_approxRE   Rd   R   R   (   R%   t   robust_oim_bset   cprat   robust_approx_bset   true_robust_bse(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_bse_robustü   s    (	   R>   R?   R@   RA   R#   R7   Rs   Rv   R   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRh   Ē   s   				t   TestARIMADiffusec           B` s8   e  Z d  Z e d    Z d   Z d   Z d   Z RS(   s   
    Notes
    -----

    Standard errors are very good for the OPG and quite good for the complex
    step approximation cases.
    c         K` s;   d | d <t  j d | d <t t |   j t  j |  d  S(   Nt   approximate_diffuset   initializationt   initial_variance(   R   t   wpi1_diffuseRi   R   R#   (   R!   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    
c         C` s   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d |  j	 d d d t |  j j d |  j	 d d d d  S(   NRj   i   Rk   R-   gHÆ¼ņ×z>i   Rl   (
   R	   RX   Rm   Rn   R   Ro   Rp   R   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7     s
    $c         C` s_   |  j  j d t  j   d } t | d |  j d d d t | d |  j d d d d  S(	   NR2   g      ą?i   Rq   R-   g-Cėā6?i   Rr   (   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRs   "  s    c         C` sY   |  j  j   j   d } t | d |  j d d d t | d |  j d d d d  S(	   Ng      ą?i   Rq   R-   g{®Gįz?i   Rr   g¹?(   RX   t   _cov_params_oimR4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRv   :  s    (   R>   R?   R@   RA   R#   R7   Rs   Rv   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR     s
   				t   AdditiveSeasonalc           B` s&   e  Z d  Z e d    Z d   Z RS(   s^   
    ARIMA model with additive seasonal effects

    Stata arima documentation, Example 2
    c      	   O` sÅ   | |  _  t j | d  } | j d t  | j d t  t j | d d d d f d d | | |  _ d | d	 d | d
 d } t j | | d	 | d | d f } |  j j	 |  |  _
 d  S(   NR   R   R   R   i   i    R   R   R_   R`   Ra   Rb   (   i   i    i    i   (   R   RE   RF   Rc   R   R   R   RJ   Rd   RK   RX   (   R!   R   Re   Rf   R"   Rg   R.   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   G  s    	'c         C` s5   |  j  j d d  } t | j |  j j d d d  S(   NR   i’’’’R-   gü©ńŅMbP?(   RJ   R   R   R.   RX   (   R%   RX   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR1   [  s    (   R>   R?   R@   RA   R#   R1   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   A  s   t   TestAdditiveSeasonalc           B` s8   e  Z d  Z e d    Z d   Z d   Z d   Z RS(   s   
    Notes
    -----

    Standard errors are very good for the OPG and quite good for the complex
    step approximation cases.
    c         C` s   t  t |   j t j  d  S(   N(   Ri   R   R#   R   t   wpi1_seasonal(   R!   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   k  s    c         C` s   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d |  j	 d d d t |  j j d d !|  j	 d d d	 d  S(
   NRj   i   Rk   R-   gķµ ÷Ę°>i   i   Rl   gńhćµųä>(
   R	   RX   Rm   Rn   R   Ro   Rp   R   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7   q  s    $ c         C` sb   |  j  j d t  j   d } t | d |  j d d d t | d d !|  j d	 d d d  S(
   NR2   g      ą?i   Rq   R-   g-Cėā6?i   i   Rr   (   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRs   {  s    c         C` s\   |  j  j   j   d } t | d |  j d d d t | d d !|  j d d d	 d  S(
   Ng      ą?i   Rq   R-   g{®Gįz?i   i   Rr   g¹?(   RX   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRv     s    (   R>   R?   R@   RA   R#   R7   Rs   Rv   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   c  s
   	
	t   Airlinec           B` s&   e  Z d  Z e d    Z d   Z RS(   s`   
    Multiplicative SARIMA model: "Airline" model

    Stata arima documentation, Example 3
    c      
   O` s”   | |  _  t j | d  } | j d t  | j d t  t j | d d d d d	 d
 | | |  _ t j | d | d | d f } |  j j	 |  |  _
 d  S(   NR   R   R   R   i    i   t   seasonal_orderi   R   RD   Ra   t   params_seasonal_maRb   (   i    i   i   (   i    i   i   i   (   R   RE   RF   Rc   R   R   R   RJ   Rd   RK   RX   (   R!   R   Re   Rf   R"   R.   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ”  s    	c      	   C` sU   t  j   C t  j d  |  j j d d  } t | j |  j j d d Wd  QXd  S(   Nt   ignoreR   i’’’’R-   g-Cėā6?(   t   warningst   catch_warningst   simplefilterRJ   R   R   R.   RX   (   R%   RX   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR1   ³  s    (   R>   R?   R@   RA   R#   R1   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR     s   t   TestAirlineHamiltonc           B` s8   e  Z d  Z e d    Z d   Z d   Z d   Z RS(   sr   
    Notes
    -----

    Standard errors are very good for the OPG and complex step approximation
    cases.
    c         C` s   t  t |   j t j  d  S(   N(   Ri   R   R#   R   t   air2_stationary(   R!   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ę  s    c         C` s   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d |  j	 d d d t |  j j d |  j	 d d d d  S(   NRj   i    Rl   R-   gķµ ÷Ę°>i   t   se_seasonal_ma_opg(
   R	   RX   Rm   Rn   R   Ro   Rp   R   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7   Ģ  s    $c         C` s_   |  j  j d t  j   d } t | d |  j d d d t | d |  j d d d d  S(	   NR2   g      ą?i    Rr   R-   gķµ ÷Ę°>i   t   se_seasonal_ma_oim(   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRs   Ö  s    c         C` sV   |  j  j j   d } t | d |  j d d d t | d |  j d d d d  S(   Ng      ą?i    Rr   R-   g¹?i   R   (   RX   Rt   R4   R   R   (   R%   Ru   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRv   ń  s    (   R>   R?   R@   RA   R#   R7   Rs   Rv   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   ¾  s
   	
	t   TestAirlineHarveyc           B` s8   e  Z d  Z e d    Z d   Z d   Z d   Z RS(   sr   
    Notes
    -----

    Standard errors are very good for the OPG and complex step approximation
    cases.
    c         C` s#   t  t |   j t j d t d  S(   NR   (   Ri   R   R#   R   R   Rp   (   R!   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#      s    c         C` s   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d |  j	 d d d t |  j j d |  j	 d d d d  S(   NRj   i    Rl   R-   gķµ ÷Ę°>i   R   (
   R	   RX   Rm   Rn   R   Ro   Rp   R   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7     s    $c         C` s_   |  j  j d t  j   d } t | d |  j d d d t | d |  j d d d d  S(	   NR2   g      ą?i    Rr   R-   gķµ ÷Ę°>i   R   (   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRs     s    c         C` sV   |  j  j j   d } t | d |  j d d d t | d |  j d d d d  S(   Ng      ą?i    Rr   R-   g¹?i   R   (   RX   Rt   R4   R   R   (   R%   Ru   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRv   +  s    (   R>   R?   R@   RA   R#   R7   Rs   Rv   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   ų  s
   	
	t   TestAirlineStateDifferencingc           B` sJ   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   s   
    Notes
    -----

    Standard errors are very good for the OPG and quite good for the complex
    step approximation cases.
    c         C` s)   t  t |   j t j d t d t d  S(   NR   R   (   Ri   R   R#   R   R   Rp   (   R!   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   :  s    c         C` s!   t  |  j j |  j d d  d  S(   NR)   i    (   R
   RX   R)   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR*   A  s    	c         C` sA   |  j  j d d d d d d  } t | j |  j j d d d  S(	   Nt   methodt   nmt   maxiterič  R   i    R-   gü©ńŅMbP?(   RJ   R   R   R.   RX   (   R%   RX   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR1   J  s    !c         C` s   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d |  j	 d d d t |  j j d |  j	 d d d d  S(   NRj   i    Rl   R-   gķµ ÷Ę°>i   R   (
   R	   RX   Rm   Rn   R   Ro   Rp   R   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7   P  s    $c         C` s_   |  j  j d t  j   d } t | d |  j d d d t | d |  j d d d d  S(	   NR2   g      ą?i    Rr   R-   g-Cėā6?i   R   (   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRs   Z  s    c         C` sV   |  j  j j   d } t | d |  j d d d t | d |  j d d d d  S(   Ng      ą?i    Rr   R-   g¹?i   R   (   RX   Rt   R4   R   R   (   R%   Ru   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRv   t  s    (
   R>   R?   R@   RA   R#   R*   R1   R7   Rs   Rv   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   2  s   				
	t   Friedmanc           B` s    e  Z d  Z e d d   Z RS(   sb   
    ARMAX model: Friedman quantity theory of money

    Stata arima documentation, Example 4
    c         O` sĒ   | |  _  t j | d d } | d  k rA t | d d  } n  | j d t  | j d t  t j | d | d d | | |  _	 t j | d
 | d | d | d f } |  j	 j
 |  |  _ d  S(   NR   t   consumpt   m2R   R   t   exogR   i   i    t   params_exogR_   Ra   Rb   (   i   i    i   (   R   RE   Rd   R[   R   Rc   R   R   R   RJ   RK   RX   (   R!   R   R   Re   Rf   R"   R.   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    	N(   R>   R?   R@   RA   R[   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   {  s   t   TestFriedmanMLERegressionc           B` sA   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z RS(   sr   
    Notes
    -----

    Standard errors are very good for the OPG and complex step approximation
    cases.
    c         C` s   t  t |   j t j  d  S(   N(   Ri   R   R#   R   t   friedman2_mle(   R!   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    c         C` sN   |  j  j d d  } | j |  j j } t | t j d  d d d d d  S(   NR   i’’’’i   R-   g{®Gįz?t   rtolgü©ńŅMbP?(   RJ   R   R.   RX   R   RE   t   ones(   R%   RX   t   ratio(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR1   £  s    c         C` s¬   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d d !|  j	 d d d t |  j j d |  j	 d d d t |  j j d	 |  j	 d
 d d d  S(   NRj   i    i   t   se_exog_opgR-   g-Cėā6?Rk   gķµ ÷Ę°>i   Rl   (
   R	   RX   Rm   Rn   R   Ro   Rp   R   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7   ©  s     $c         C` s   |  j  j d t  j   d } t | d d !|  j d d d t | d |  j d d d	 t | d
 |  j d d d	 d  S(   NR2   g      ą?i    i   t   se_exog_oimR-   g-Cėā6?Rq   gķµ ÷Ę°>i   Rr   (   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRs   “  s
    !c         C` s   |  j  j j   d } t | d |  j d d d d t | d |  j d d d d t | d |  j d	 d d t | d
 |  j d d d d  S(   Ng      ą?i    R¤   R    i   R-   g{®Gįz?i   Rq   i   Rr   (   RX   Rt   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRv   Ņ  s
    ""(	   R>   R?   R@   RA   R#   R1   R7   Rs   Rv   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR     s   			t   TestFriedmanStateRegressionc           B` se   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z RS(
   s@  
    Notes
    -----

    MLE is not very close and standard errors are not very close for any set of
    parameters.

    This is likely because we're comparing against the model where the
    regression coefficients are also estimated by MLE. So this test should be
    considered just a very basic "sanity" test.
    c         C` sĆ   t  t j  } t | d d  d } | d | d <| d | d <g  | d <g  | d <t t |   j | d	 | d
 t t j	 | d | d | d | d f |  _
 |  j j |  j
  |  _ d  S(   NR   R   g      $@R   t   mle_params_exogR£   t   mle_se_exogt   se_exogR   t   mle_regressionR_   Ra   Rb   (   t   dictR   R   R   Ri   R„   R#   Rp   RE   Rd   t   true_paramsRJ   RK   RX   (   R!   R   R   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ē  s    

c         C` s;   |  j  j d d  } t | j |  j j d d d d d  S(   NR   i’’’’R-   g¹?R    gÉ?(   RJ   R   R   R.   RX   (   R%   RX   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR1   ż  s    c         C` s8   t  |  j j j d d   d f d |  j d d  d  S(   Niž’’’i’’’’g      $@R¦   i   (   R
   RX   RO   RP   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_regression_parameters  s    	 c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR&     s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR(     s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR*     s    c         C` s   t  |  j j d  t  |  j j t  t  |  j j t  t |  j j d |  j	 d d d t |  j j d |  j	 d d d d  S(   NRj   i    Rk   R-   g{®Gįz?i   Rl   (
   R	   RX   Rm   Rn   R   Ro   Rp   R   R5   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7     s
    $c         C` s_   |  j  j d t  j   d } t | d |  j d d d t | d |  j d d d d  S(	   NR2   g      ą?i    Rq   R-   g¹?i   Rr   (   RX   R3   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRs   &  s    c         C` sY   |  j  j   j   d } t | d |  j d d d t | d |  j d d d d  S(   Ng      ą?i    Rq   R-   g¹?i   Rr   (   RX   R   R4   R   R   (   R%   R5   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRv   ?  s    (   R>   R?   R@   RA   R#   R1   R¬   R&   R(   R*   R7   Rs   Rv   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR„   Ū  s   								t   TestFriedmanPredictc           B` sJ   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   sõ  
    ARMAX model: Friedman quantity theory of money, prediction

    Stata arima postestimation documentation, Example 1 - Dynamic forecasts

    This follows the given Stata example, although it is not truly forecasting
    because it compares using the actual data (which is available in the
    example but just not used in the parameter MLE estimation) against dynamic
    prediction of that data. Here `test_predict` matches the first case, and
    `test_dynamic_predict` matches the second.
    c         C` s   t  t |   j t j  d  S(   N(   Ri   R­   R#   R   t   friedman2_predict(   R!   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   R  s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR&   [  s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR(   ^  s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR*   a  s    c         C` s$   t  |  j j   |  j d d  d  S(   Nt   predicti   (   R
   RX   RÆ   R   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_predictd  s    c         C` sI   t  |  j d d  d d } t |  j j d |  |  j d d  d  S(   NR   R   i   i   t   dynamict   dynamic_predicti   (   t   lenR   R
   RX   RÆ   (   R%   R±   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_dynamic_predictj  s    (
   R>   R?   R@   RA   R#   R&   R(   R*   R°   R“   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR­   F  s   					t   TestFriedmanForecastc           B` sJ   e  Z d  Z e d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   s  
    ARMAX model: Friedman quantity theory of money, forecasts

    Variation on:
    Stata arima postestimation documentation, Example 1 - Dynamic forecasts

    This is a variation of the Stata example, in which the endogenous data is
    actually made to be missing so that the predict command must forecast.

    As another unit test, we also compare against the case in State when
    predict is used against missing data (so forecasting) with the dynamic
    option also included. Note, however, that forecasting in State space models
    amounts to running the Kalman filter against missing datapoints, so it is
    not clear whether "dynamic" forecasting (where instead of missing
    datapoints for lags, we plug in previous forecasted endog values) is
    meaningful.
    c         C` s¤   t  t j  } i | d d d d 6| d d d d 6| d <i | d d d  d 6| d d d  d 6| d <t t |   j |  |  j j |  j j	  |  _ d  S(   NR   R   iń’’’R   t   forecast_data(
   RŖ   R   R®   Ri   Rµ   R#   RJ   RK   RX   R.   (   R!   R   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR&     s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR(     s    c         C` s   d  S(   N(    (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR*     s    c         C` sf   t  |  j d d  d d } t |  j d d  } t |  j j d | d |  |  j d	 d
  d  S(   NR   R   i   i   R¶   R   t   endR   t   forecasti   (   R³   R   R   R
   RX   RÆ   (   R%   R·   R   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_forecast”  s
    c         C` s   t  |  j d d  d d } t  |  j d d  d } t |  j d d  } t |  j j d | d | d	 |  |  j d
 d  d  S(   NR   R   i   i   R¶   R   R·   R±   R   t   dynamic_forecasti   (   R³   R   R   R
   RX   RÆ   (   R%   R·   R±   R   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_dynamic_forecast©  s    (
   R>   R?   R@   RA   R#   R&   R(   R*   R¹   R»   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRµ   r  s   				t   SARIMAXCoverageTestc           B` sh   e  Z e d  d	 d   Z d   Z d   Z d   Z d   Z e	 j
 j d    Z d   Z d   Z RS(
   i   c         O` sČ   | d  k r t j } n  t j | d |  _ t j g  t j | d j d  D] } t	 |  ^ qM  |  _
 |  j
 d d |  j
 d <| |  _ | j d t  | j d t  t j | | |  |  _ d  S(   NR$   t
   parameterst   ,i’’’’i   R   R   (   R[   R   t	   wpi1_datat   coverage_resultst   loct   true_loglikeRE   t   arrayt   splitt   floatR«   t   decimalRc   R   R   R   RJ   (   R!   RQ   RĘ   R"   Re   Rf   t   x(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   “  s    9	c         C` sD   |  j  j |  j  |  _ t |  j j |  j d d d |  j d  S(   NR-   gffffffę?i
   (   RJ   RK   R«   RX   R   R$   RĀ   RĘ   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR&   Ė  s
    		c         C` sV   |  j  j } |  j  j } t |  j  _ t |  j  _ |  j  j | |  j  _ | |  j  _ d  S(   N(   RJ   t   enforce_stationarityt   enforce_invertibilityRp   t   start_params(   R%   t   statt   inv(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_start_paramsŌ  s    
c         C` s  |  j  } | j | j } } |  j } | j |  j  | j } | j } | | j   } | j d k s t	 j
 t j d | d f  o· t |  d k p· t	 j
 t j d | d f  | _ | j } | j }	 |	 |	 j   }
 | j d k st	 j
 t j d | d f  o=t |
  d k p=t	 j
 t j d |
 d f  | _ | j |  } | j |  } t | | d  | | _ | | _ d  S(   Ni    i   i   (   RJ   RČ   RÉ   R«   t   updatet   polynomial_art   polynomial_seasonal_art   nonzerot   k_arR   t   is_invertibleRE   Rd   R³   t   polynomial_mat   polynomial_seasonal_mat   k_mat   untransform_paramst   transform_paramsR
   (   R%   RJ   RĖ   RĢ   t   true_constrainedt   part   psart   contracted_psart   pmat   psmat   contracted_psmat   unconstrainedt   constrained(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_transform_untransformß  s*    				0$		/#	c         C` se   |  j  j |  j  |  _ |  j j   |  j j |  j j |  j j |  j j |  j j	 |  j j
 d  S(   N(   RJ   RK   R«   RX   t   summaryt   cov_params_defaultt   cov_params_approxRt   t   cov_params_opgRy   Rz   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_results  s    




c         C` s)   |  j  j |  j  |  _ |  j j   d  S(   N(   RJ   RK   R«   RX   t   plot_diagnostics(   R%   t   close_figures(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_plot_diagnostics  s    c      	   C` s:  |  j  j |  j  } | j   } t | j |  j  j f  | j d d d d  } t | j d  | j d d d d d d  } t | j d  |  j  j d k rL| j d |  j  j d |  j  j d d d  } t | j d  | j d |  j  j d |  j  j d d d  } | j   } t | j d  | j d  } t | j d  nź |  j  j } t	 j
 d g | d j d |  } | j d |  j  j d |  j  j d d d d
 |  } t | j d  | j d |  j  j d |  j  j d d d d
 |  } t	 j
 d g | j d	 |  } | j d
 |  } t | j d  d  S(   Nt   starti
   R·   i   i   R±   i    iö’’’i   R   (   i   (   i   (   i   (   i   (   i
   (   i   (   i   (   RJ   RK   R«   RÆ   R	   RZ   t   nobst   k_exogRø   RE   Rd   t   reshape(   R%   RX   RÆ   Rø   Rķ   R   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR°     s:    $		 c   	      C` s   |  j  } |  j  j   } | j j } | j j } t j | | |  } |  j  j |  j  } | j |  j  } t	 rx d n d } t
 | j | j d | d  S(   Ngķµ ÷Ę°>gvIhĀ%<=R    (   RJ   t   _get_init_kwdsR   t
   orig_endogt	   orig_exogR   R   RK   R«   R   R   R$   (	   R%   t   mod1Rf   R"   R   t   model2t   res1t   res2R    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_init_keys_replicateC  s    	N(   R>   R?   RA   R[   R#   R&   RĶ   Rā   Rē   t   pytestt   markt
   matplotlibRź   R°   Rö   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR¼   ³  s   				#		,t   Test_arc           B` s   e  Z e d     Z RS(   c         O` s*   d | d <t  t |   j d | |  d  S(   Ni   i    R   (   i   i    i    (   Ri   Rś   R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   U  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRś   Q  s   t   Test_ar_as_polynomialc           B` s   e  Z e d     Z RS(   c         O` s<   d d d g d d f | d <t  t |   j d | |  d  S(   Ni   i    R   (   Ri   Rū   R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   _  s    (   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRū   [  s   t   Test_ar_trend_cc           B` s   e  Z e d     Z RS(   c         O` sc   d | d <d | d <t  t |   j d | |  |  j } d | d d !j   | d |  j d <d  S(	   Ni   i    R   R   R   i   i   (   i   i    i    (   Ri   Rü   R#   R«   t   sum(   R!   Re   Rf   t   tps(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   i  s
    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRü   e  s   t   Test_ar_trend_ctc           B` s   e  Z e d     Z RS(   c         O` sc   d	 | d <d | d <t  t |   j d | |  |  j } d | d d !j   | d  |  j d *d  S(
   Ni   i    R   t   ctR   i   i   i   (   i   i    i    (   Ri   R’   R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   x  s
    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR’   t  s   t   Test_ar_trend_polynomialc           B` s   e  Z e d     Z RS(   c         O` so   d | d <d d d d g | d <t  t |   j d | |  |  j } d | d d !j   | d  |  j d *d  S(	   Ni   i    R   i   R   i   i   (   i   i    i    (   Ri   R  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s
    
	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_ar_diffc           B` s   e  Z e d     Z RS(   c         O` s*   d | d <t  t |   j d | |  d  S(   Ni   i   i    R   i   (   i   i   i    (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_ar_seasonal_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni   i    R   i   i   R   i   (   i   i    i    (   i    i   i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#      s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_ar_diffusec           B` s   e  Z e d     Z RS(   c         O` s>   d	 | d <d | d <d | d <t  t |   j d | |  d  S(
   Ni   i    R   R   R   g    eĶĶAR   i   (   i   i    i    (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   «  s    


(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  §  s   t   Test_ar_no_enforcec           B` s    e  Z e d     Z d   Z RS(   c         O` sa   d
 | d <t  | d <t  | d <d | d <d | d <t t |   j d	 | |  d |  j j _ d  S(   Ni   i    R   RČ   RÉ   g    eĶĶAR   t   loglikelihood_burni   (   i   i    i    (   Rp   Ri   R  R#   RJ   t   ssmR  (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ·  s    




c   	      C` s­   |  j  } |  j  j   } | j j } | j j } t j | | |  } | j j | j _ |  j  j	 |  j
  } | j	 |  j
  } t r d n d } t | j | j d | d  S(   Ngķµ ÷Ę°>gvIhĀ%<=R    (   RJ   Rļ   R   Rš   Rń   R   R   R  R   RK   R«   R   R   R$   (	   R%   Rņ   Rf   R"   R   Ró   Rō   Rõ   R    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRö   Ć  s    	(   R>   R?   RA   R#   Rö   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  ³  s   t   Test_ar_exogenousc           B` s   e  Z e d     Z RS(   c         O` sN   d | d <t  j } | t j |  d | d <t t |   j d | |  d  S(   Ni   i    R   i   R   i   (   i   i    i    (   R   Ræ   RE   t   floorRi   R  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ų  s    
	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  Ō  s   t   Test_ar_exogenous_in_statec           B` s)   e  Z e d     Z d   Z d   Z RS(   c         O` sx   d	 | d <t  j } | t j |  d | d <t | d <t t |   j d | |  |  j d |  _	 |  j d |  _ d  S(
   Ni   i    R   i   R   R©   i   i   (   i   i    i    (
   R   Ræ   RE   R	  Rp   Ri   R
  R#   R«   t   true_regression_coefficient(   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ä  s    
	
c         C` s8   |  j  j |  j  |  _ t |  j j |  j d d d  S(   NR-   i   (   RJ   RK   R«   RX   R   R$   RĀ   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR&   ī  s
    		c         C` sC   |  j  j |  j  |  _ t |  j j j d d |  j |  j  d  S(   Ni   i’’’’(	   RJ   RK   R«   RX   R   RO   RP   R  RĘ   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_regression_coefficientł  s
    (   R>   R?   RA   R#   R&   R  (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR
  ą  s   
	t   Test_mac           B` s   e  Z e d     Z RS(   c         O` s*   d | d <t  t |   j d | |  d  S(   Ni    i   R   i   (   i    i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   
  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_ma_as_polynomialc           B` s   e  Z e d     Z RS(   c         O` s<   d d d d d g f | d <t  t |   j d | |  d  S(   Ni    i   R   i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    (   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_ma_trend_cc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d | d <t  t |   j d | |  d  S(   Ni    i   R   R   R   i	   (   i    i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_ma_trend_ctc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d | d <t  t |   j d | |  d  S(   Ni    i   R   R   R   i
   (   i    i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   )  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  %  s   t   Test_ma_trend_polynomialc           B` s   e  Z e d     Z RS(   c         O` s@   d | d <d d d d g | d <t  t |   j d | |  d  S(   Ni    i   R   i   R   i   (   i    i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   4  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  0  s   t   Test_ma_diffc           B` s   e  Z e d     Z RS(   c         O` s*   d | d <t  t |   j d | |  d  S(   Ni    i   i   R   i   (   i    i   i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ?  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  ;  s   t   Test_ma_seasonal_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    i   R   i   i   R   i   (   i    i    i   (   i    i   i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   I  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  E  s   t   Test_ma_diffusec           B` s   e  Z e d     Z RS(   c         O` s>   d	 | d <d | d <d | d <t  t |   j d | |  d  S(
   Ni    i   R   R   R   g    eĶĶAR   i   (   i    i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   T  s    


(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  P  s   t   Test_ma_exogenousc           B` s   e  Z e d     Z RS(   c         O` sN   d | d <t  j } | t j |  d | d <t t |   j d | |  d  S(   Ni    i   R   i   R   i   (   i    i    i   (   R   Ræ   RE   R	  Ri   R  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   `  s    
	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  \  s   t	   Test_armac           B` s   e  Z e d     Z RS(   c         O` s*   d | d <t  t |   j d | |  d  S(   Ni   i    R   i   (   i   i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   l  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  h  s   t   Test_arma_trend_cc           B` s   e  Z e d     Z RS(   c         O` sc   d
 | d <d | d <t  t |   j d | |  |  j } d | d d	 !j   | d  |  j d *d  S(   Ni   i    i   R   R   R   i   i   i   (   i   i    i   (   Ri   R  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   v  s
    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  r  s   t   Test_arma_trend_ctc           B` s   e  Z e d     Z RS(   c         O` sc   d
 | d <d | d <t  t |   j d | |  |  j } d | d d	 !j   | d  |  j d *d  S(   Ni   i    i   R   R   R   i   i   i   (   i   i    i   (   Ri   R  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s
    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_arma_trend_polynomialc           B` s   e  Z e d     Z RS(   c         O` so   d	 | d <d d d d g | d <t  t |   j d | |  |  j } d | d d !j   | d  |  j d *d  S(
   Ni   i    i   R   i   R   i   i   (   i   i    i   (   Ri   R  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s
    
	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_arma_diffc           B` s   e  Z e d     Z RS(   c         O` s*   d | d <t  t |   j d | |  d  S(   Ni   i   R   i   (   i   i   i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   £  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR    s   t   Test_arma_seasonal_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni   i    i   R   i   R   i   (   i   i    i   (   i    i   i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ­  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  ©  s   t   Test_arma_diff_seasonal_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni   i   R   i    i   R   i   (   i   i   i   (   i    i   i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ø  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  “  s   t   Test_arma_diffusec           B` s   e  Z e d     Z RS(   c         O` s>   d
 | d <d | d <d | d <t  t |   j d	 | |  d  S(   Ni   i    i   R   R   R   g    eĶĶAR   i   (   i   i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ä  s    


(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  Ą  s   t   Test_arma_exogenousc           B` s   e  Z e d     Z RS(   c         O` sN   d | d <t  j } | t j |  d | d <t t |   j d | |  d  S(   Ni   i    i   R   R   i   (   i   i    i   (   R   Ræ   RE   R	  Ri   R  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Š  s    
	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  Ģ  s   t   Test_seasonal_arc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d | d <t  t |   j d | |  d  S(	   Ni    R   i   i   R   i   (   i    i    i    (   i   i    i    i   (   Ri   R  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ü  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR  Ų  s   t   Test_seasonal_ar_as_polynomialc           B` s   e  Z e d     Z RS(   c         O` sI   d | d <d d d g d d d f | d <t  t |   j d | |  d  S(   Ni    R   i   i   R   i   (   i    i    i    (   Ri   R   R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ē  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR   ć  s   t   Test_seasonal_ar_trend_cc           B` s   e  Z e d     Z RS(   c         O` sm   d
 | d <d | d <d | d <t  t |   j d | |  |  j } d	 | d	 d !j   | d	  |  j d	 *d  S(   Ni    R   i   i   R   R   R   i   i   (   i    i    i    (   i   i    i    i   (   Ri   R!  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ó  s    


	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR!  ļ  s   t   Test_seasonal_ar_trend_ctc           B` s   e  Z e d     Z RS(   c         O` sm   d | d <d | d <d | d <t  t |   j d | |  |  j } d	 | d
 d !j   | d
  |  j d
 *d  S(   Ni    R   i   i   R   R   R   i   i   i   i   (   i    i    i    (   i   i    i    i   (   Ri   R"  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    


	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR"  ’  s   t!   Test_seasonal_ar_trend_polynomialc           B` s   e  Z e d     Z RS(   c         O` sy   d | d <d | d <d d d d g | d <t  t |   j d | |  |  j } d | d	 d
 !j   | d	  |  j d	 *d  S(   Ni    R   i   i   R   i   R   i   i   i   (   i    i    i    (   i   i    i    i   (   Ri   R#  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#    s   t   Test_seasonal_ar_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    i   R   i   i   R   i   (   i    i   i    (   i   i    i    i   (   Ri   R$  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   #  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR$    s   t   Test_seasonal_ar_seasonal_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    R   i   i   i   R   i   (   i    i    i    (   i   i   i    i   (   Ri   R%  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   .  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR%  *  s   t   Test_seasonal_ar_diffusec           B` s   e  Z e d     Z RS(   c         O` sH   d | d <d | d <d | d <d | d	 <t  t |   j d
 | |  d  S(   Ni    R   i   i   R   R   R   g    eĶĶAR   i   (   i    i    i    (   i   i    i    i   (   Ri   R&  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   :  s
    



(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR&  6  s   t   Test_seasonal_ar_exogenousc           B` s   e  Z e d     Z RS(   c         O` sX   d	 | d <d
 | d <t  j } | t j |  d | d <t t |   j d | |  d  S(   Ni    R   i   i   R   i   R   i    (   i    i    i    (   i   i    i    i   (   R   Ræ   RE   R	  Ri   R'  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   G  s
    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR'  C  s   t   Test_seasonal_mac           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d | d <t  t |   j d | |  d  S(	   Ni    R   i   i   R   i!   (   i    i    i    (   i    i    i   i   (   Ri   R(  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   T  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR(  P  s   t   Test_seasonal_ma_as_polynomialc           B` s   e  Z e d     Z RS(   c         O` sI   d | d <d d d d d g d f | d <t  t |   j d | |  d  S(   Ni    R   i   i   R   i!   (   i    i    i    (   Ri   R)  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   _  s    
(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR)  [  s   t   Test_seasonal_ma_trend_cc           B` s   e  Z e d     Z RS(   c         O` sH   d
 | d <d | d <d | d <d | d <t  t |   j d	 | |  d  S(   Ni    R   i   i   R   R   R   RĘ   i"   (   i    i    i    (   i    i    i   i   (   Ri   R*  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   k  s
    



(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR*  g  s   t   Test_seasonal_ma_trend_ctc           B` s   e  Z e d     Z RS(   c         O` s>   d	 | d <d
 | d <d | d <t  t |   j d | |  d  S(   Ni    R   i   i   R   R   R   i#   (   i    i    i    (   i    i    i   i   (   Ri   R+  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   x  s    


(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR+  t  s   t!   Test_seasonal_ma_trend_polynomialc           B` s   e  Z e d     Z RS(   c         O` sT   d
 | d <d | d <d d d d g | d <d | d <t  t |   j d	 | |  d  S(   Ni    R   i   i   R   i   R   RĘ   i$   (   i    i    i    (   i    i    i   i   (   Ri   R,  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    


(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR,    s   t   Test_seasonal_ma_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    i   R   i   i   R   i%   (   i    i   i    (   i    i    i   i   (   Ri   R-  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR-    s   t   Test_seasonal_ma_seasonal_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    R   i   i   i   R   i&   (   i    i    i    (   i    i   i   i   (   Ri   R.  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR.    s   t   Test_seasonal_ma_diffusec           B` s   e  Z e d     Z RS(   c         O` sH   d | d <d | d <d | d <d | d	 <t  t |   j d
 | |  d  S(   Ni    R   i   i   R   R   R   g    eĶĶAR   i'   (   i    i    i    (   i    i    i   i   (   Ri   R/  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ©  s
    



(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR/  „  s   t   Test_seasonal_ma_exogenousc           B` s   e  Z e d     Z RS(   c         O` sX   d	 | d <d
 | d <t  j } | t j |  d | d <t t |   j d | |  d  S(   Ni    R   i   i   R   i   R   i(   (   i    i    i    (   i    i    i   i   (   R   Ræ   RE   R	  Ri   R0  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ¶  s
    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR0  ²  s   t   Test_seasonal_armac           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    R   i   i   i   R   i)   (   i    i    i    (   i   i    i   i   (   Ri   R1  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ć  s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR1  æ  s   t   Test_seasonal_arma_trend_cc           B` s   e  Z e d     Z RS(   c         O` sm   d | d <d | d <d | d <t  t |   j d	 | |  |  j } d
 | d
 d !j   | d
  |  j d
 *d  S(   Ni    R   i   i   i   R   R   R   i*   i   (   i    i    i    (   i   i    i   i   (   Ri   R2  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ī  s    


	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR2  Ź  s   t   Test_seasonal_arma_trend_ctc           B` s   e  Z e d     Z RS(   c         O` sm   d | d <d | d <d | d <t  t |   j d	 | |  |  j } d
 | d d !j   | d  |  j d *d  S(   Ni    R   i   i   i   R   R   R   i+   i   i   (   i    i    i    (   i   i    i   i   (   Ri   R3  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   Ž  s    


	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR3  Ś  s   t#   Test_seasonal_arma_trend_polynomialc           B` s    e  Z e d     Z d   Z RS(   c         O` s   d | d <d | d <d d d d g | d <d | d	 <t  t |   j d
 | |  |  j } d | d d !j   | d  |  j d *d  S(   Ni    R   i   i   i   R   i   R   RĘ   i,   i   (   i    i    i    (   i   i    i   i   (   Ri   R4  R#   R«   Rż   (   R!   Re   Rf   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ļ  s    


	c         C` sG   |  j  j |  j  |  _ |  j j   |  j j |  j j |  j j d  S(   N(   RJ   RK   R«   RX   Rć   Rä   Rt   Rę   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRē   ü  s
    

(   R>   R?   RA   R#   Rē   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR4  ė  s   t   Test_seasonal_arma_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    i   R   i   i   R   i-   (   i    i   i    (   i   i    i   i   (   Ri   R5  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR5    s   t    Test_seasonal_arma_seasonal_diffc           B` s   e  Z e d     Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    R   i   i   i   R   i.   (   i    i    i    (   i   i   i   i   (   Ri   R6  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR6    s   t%   Test_seasonal_arma_diff_seasonal_diffc           B` s    e  Z e d     Z d   Z RS(   c         O` s4   d | d <d	 | d <t  t |   j d | |  d  S(
   Ni    i   R   i   i   R   i/   (   i    i   i    (   i   i   i   i   (   Ri   R7  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   '  s    

c         C` sG   |  j  j |  j  |  _ |  j j   |  j j |  j j |  j j d  S(   N(   RJ   RK   R«   RX   Rć   Rä   Rt   Rę   (   R%   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRē   .  s
    

(   R>   R?   RA   R#   Rē   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR7  #  s   t   Test_seasonal_arma_diffusec           B` s   e  Z e d     Z RS(   c         O` sR   d | d <d | d <d | d <d | d	 <d
 | d <t  t |   j d | |  d  S(   Ni    R   i   i   i   R   RĘ   R   R   g    eĶĶAR   i0   (   i    i    i    (   i   i    i   i   (   Ri   R8  R#   (   R!   Re   Rf   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   B  s    




(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR8  >  s   t   Test_seasonal_arma_exogenousc           B` s   e  Z e d     Z RS(   c         O` sX   d	 | d <d
 | d <t  j } | t j |  d | d <t t |   j d | |  d  S(   Ni    R   i   i   i   R   R   i1   (   i    i    i    (   i   i    i   i   (   R   Ræ   RE   R	  Ri   R9  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   P  s    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR9  L  s   t   Test_sarimax_exogenousc           B` s    e  Z e d     Z d   Z RS(   c         O` sX   d | d <d	 | d <t  j } | t j |  d | d <t t |   j d | |  d  S(
   Ni   i   R   i   R   R   i2   (   i   i   i   (   i   i   i   i   (   R   Ræ   RE   R	  Ri   R:  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   ^  s
    

	c         C` s   |  j  j |  j  } t |  j d d !| j  t |  j d d !| j  t |  j d d !| j  t |  j d d !| j  d  S(   Ni   i   i   i	   i   (   RJ   RK   R«   R   t   arparamst   maparamst   seasonalarparamst   seasonalmaparams(   R%   RX   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_results_paramsf  s
    (   R>   R?   RA   R#   R?  (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR:  Z  s   t#   Test_sarimax_exogenous_not_hamiltonc           B` s   e  Z e d     Z RS(   c         O` sl   d
 | d <d | d <t  j } | t j |  d | d <t | d <t | d <t t |   j d	 | |  d  S(   Ni   i   R   i   R   R   R   R   i2   (   i   i   i   (   i   i   i   i   (   R   Ræ   RE   R	  Rp   Ri   R@  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#   r  s    

	

(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR@  n  s   t   Test_sarimax_exogenous_diffusec           B` s   e  Z e d     Z RS(   c         O` sv   d | d <d | d <t  j } | t j |  d | d <d | d <d | d	 <d
 | d <t t |   j d | |  d  S(   Ni   i   R   i   R   R   RĘ   R   R   g    eĶĶAR   i3   (   i   i   i   (   i   i   i   i   (   R   Ræ   RE   R	  Ri   RA  R#   (   R!   Re   Rf   R"   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

	


(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRA  ~  s   t'   Test_arma_exog_trend_polynomial_missingc           B` s   e  Z e d     Z RS(   c         O` sŻ   t  j t j } | t  j |  d d | d <t  j | d d +| d | d  } t  j | d <d | d	 <d d d d g | d
 <d | d <t t |   j d d | | | |  j	 } d | d d !j
   | d |  j	 d <d  S(   Ni   i   R   i	   i   i’’’’i   i    R   R   RĘ   i4   R"   i   (   i   i    i   (   RE   Rd   R   Ræ   R	  t   nanRi   RB  R#   R«   Rż   (   R!   Re   Rf   R"   Rž   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyR#     s    

	(   R>   R?   RA   R#   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRB    s   c       
   C` sø   t  j d  d }  d |  } t j |  d | d d d t d t } t j   $ t j d	  | j	 d
 d  } Wd  QXt
 | j d d g d  t
 | j j d d d g d d  d  S(   Nid   g      š?i   R   R   i    t   time_varying_regressionR©   R   R   i’’’’i   i   g      ą?ic   i	   (   i    i    i    (   RE   t   arangeR   R   R   Rp   R   R   R   R   R
   R.   RO   RP   (   R"   R   t   modt   res(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_simple_time_varyingŖ  s    
	c        	   C` s/   t  t t j d d d d g d t d t d  S(   NR"   i   i   i   R©   RD  (   R   t
   ValueErrorR   R   R   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_invalid_time_varyingÄ  s    	c    	   
   C` s  t  j }  t j |  d d } | j d d d d g  } t j |  d d } | j j | j j | j j	  | j d d d d g  } t j |  d d d d	 d
 | j j d | j j	 } | j d d d d g  } t j |  d d d d } | j d d d d g  } t
 | j | j  t
 | j j | j j  t
 | j | j  t
 | j j | j j  t
 | j | j  t
 | j j | j j  d  S(   NR   i   i    g      ą?gÉ?g¹?i   R   t   knownt   initial_statet   initial_state_covt
   stationary(   i   i    i    (   i   i    i    (   i   i    i    (   i   i    i    (   R   Ræ   R   R   RK   R  t   initialize_knownRO   RL  RM  R
   R$   RP   (	   R"   Rņ   Rō   t   mod2Rõ   t   mod3t   res3t   mod4t   res4(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt%   test_manual_stationary_initializationĶ  s0    	c    	   
   C` sŖ  t  j }  t j |  d d } | j j d  | j d d d d g  } t j |  d d } | j j | j j	 | j j
  | j d d d d g  } t j |  d d d	 d
 d | j j	 d | j j
 } | j d d d d g  } t j |  d d d	 d d d } | j d d d d g  } t | j | j  t | j j | j j  t | j | j  t | j j | j j  t | j | j  t | j j | j j  d  S(   NR   i   i    g    eĶĶAg      ą?gÉ?g¹?i   R   RK  RL  RM  R   R   (   i   i    i    (   i   i    i    (   i   i    i    (   i   i    i    (   R   Ræ   R   R   R  t   initialize_approximate_diffuseRK   RO  RO   RL  RM  R
   R$   RP   (	   R"   Rņ   Rō   RP  Rõ   RQ  RR  RS  RT  (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt.   test_manual_approximate_diffuse_initializationō  s6    		c          C` sŌ   t  j }  t j |  d d
 } | j d d d g d d } t | j d  t | j d  t | j t	 j
 d d	  d	 t	 j  t | j t	 j
 d d	  d	 t	 j  t | j d g  t | j d g  d  S(   NR   i   i    g      ą?g      ąæRm   t   oimg       @i   (   i   i    i   (   R   Ræ   R   R   RK   R
   t   arrootst   marootst   arfreqRE   t   arctan2t   pit   mafreqR;  R<  (   R"   RF  RG  (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyRē     s    	''c          C` s’  d }  d } t  j j d  t  j j d |  | f  } t  j | d  d  d f <t  j j d |  d f  } t  j j d |  d f  } t j d d	 d
 d |  } t j | d | } t j | j	   d | } t j | d | } t
 j | d | d d t
 j | d | d d t
 j | d | d d d t t
 j | d | d d t
 j | d | d d t
 j | d | d d d t g }	 xH|	 D]@}
 |
 j |
 j d t  } | j   | j   | j d t  | j   t  j j d d |
 j f  } | j d d d |  | j d d d |  t  j j d d  } t t | j d d d | t  j j d d |
 j f  } t t | j d d d | t  j j d d |
 j d f  } t t | j d d d | qWt t t
 j | d t  j d  d d d  S(   Ni   i   iø  t   sizei   i    i   s
   1970-01-01t   freqt   QSt   periodst   indexR   R   R   R   R±   t   stepsi
   (   i   i   i    (   i   i   i    (   i   i   i    (   i   i   i    (   i   i   i    (   i   i   i    (   i
   i   (   i   i   i    (   RE   t   randomt   seedt   normalRC  t   pdt
   date_ranget	   DataFramet   Seriest   squeezeR   R   Rp   RŹ   R   Rć   RÆ   R   t   get_predictionRķ   Rø   t   get_forecastR   RI  t   zeros(   Rģ   t   k_endogR"   t   exog1t   exog2Rc  t   endog_pdt   exog1_pdt   exog2_pdt   modelsRF  RG  t   oos_exog(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_misc_exog/  sJ    


" !c          C` su   t  j j d  t  j j d d d d }  t  j j d d d d } t j |  d | d d } | j d	 d
  d  S(   Ni i   g      ą?R_  id   R   R   i    R   i’’’’(   i   i    i    (   RE   Re  Rf  t   binomialR   R   R   (   R"   R   RF  (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_datasetse  s
    c          C` s   t  j j d  t j t  j j d d   }  t j |  d d } | j | j	  } | j
 d d d d d	 d
 g  } t | j j t j d
 g   t  d  S(   Niē R_  i2   R   i   i    Rė   R·   Rc  t   a(   i   i    i    (   RE   Re  Rf  Rh  Rj  Rg  R   R   t   smoothRŹ   RÆ   R	   Rc  t   equalst   IndexR   (   R"   RF  RG  t   out(    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_predict_custom_indexp  s    !c          C` sµ  t  j j d  d }  t j t  j j d |    } t j | d d d t } | j	 | j
  } t | j | j  t j | d d d t } | j	 | j
  } t | j d d   d d   f | j   d j  t j | d d d t d d } | j	 | j
  } t  j j d |   } t  j |   d	 | } t  j |   } t j | d d d
 | } t | j _ | j	 d d g  } t | j d | d d t j | d d d
 | d t } t | j _ | j d d g t  j d d g   | j	 d g  } t | j d | d d t | j d d	 d d t j | d d d
 | d t d t } t | j _ | j d g t  j d g   | j	 d d g  } t | j d d	 d d d  S(   Niē i2   R_  R   i    t   measurement_errori   R   i
   R   g      $@g      š?R-   g»½×Łß|Ū=R©   g        RD  (   i    i    i    (   i    i   i    (   i    i   i    (   i    i   i    i   (   i    i    i    (   i    i    i    (   i    i    i    (   RE   Re  Rf  Rh  Rj  Rg  R   R   Rp   R|  RŹ   R   t   smoothed_statet   TRH   R   R”   R  t   filter_univariateRO  t   diag(   Rģ   R"   RF  RG  t   errorR   (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_arima000y  s@    3		%c   #      C` s?  t  j t j  } d@ dA g } dB dC g } t t g } d  t  j |  g } d  d g } t t g } t t g } d d  l }	 d d d d	 d
 d d g }
 x¢|	 j	 | | | | | | |  D]} t
 t |
 |   } | j d t  rņ t | d <n  d | d <t j | |  } t j | d t | } |  | j _ |  | j _ | j } | j |  } t  j | d f } d } | d r| d d  k	 r| d 7} n  | d
 r­| d 7} n  d } | d
 sĒ| d rŠd } n  t  j | |  | j | | f } | j |  } t | j | j d | xK | j j D]= } | d k rAq)n  t t | j |  t | j |   q)W| j } d d d d d g } xE | D]= } t | j |  } t | j |  } t | | d | qWd d d d d d d d  g } | j j j   | j j k } t  j | | d  d   f } x | D] } t | j |  d! | d   f } t | j |  d! | d   f } | dD k rÆ| d rÆt | | | | d | q1t | | d | q1Wd" d# d$ d% d& d' d( d) d* d+ d, d- d. g } x | D] } t | j |  d! | d   f } t | j |  d! | d   f } | dE k rx| d rxt | | | | d | qśt | | d | qśWd/ d0 d1 d2 g } x? | D]7 } t | |  } t | |  } t | | d | qØW| j d3 d4  } | j d3 d4  } t | | d5 d d | | j  d3 d6  } | j  d3 d6  } t | | d5 d d | | j! d3 d7  } | j! d3 d7  } t | | d5 d d | d  } | d d  k	 rÓt  j" d8 | j# d d f  } n  | j$ d9 d: d; d8 d< d= d |  } | j$ d9 d: d; d8 d< d= d |  } t | j% | j% d | t | j& | j& d | t  j' j( d>  | j j) r÷t  j' j* d? d=  }  t  j' j* d? d=  }! t  j' j* d? | j+ d f  }" | j, d= |  |! |"  } | j, d= |  |! |"  } t | | d | n  | j j) rø | j- d=  } | j- d=  } t | | d | qø qø Wd  S(F   Ni   i    i   i   t   tR   R   R   R   R  RD  R   R©   t	   tolerancet   concentrate_scalegńhćµųä>gü©ńŅMbP?R-   t   obst   predicted_stateRP   t	   forecastst   forecasts_errort   kalman_gaint   llf_obsRT   t   predicted_state_covt   filtered_state_covt   tmp1t   tmp2t   tmp3t   tmp4.R  t   smoothed_state_covt   smoothed_state_autocovt   smoothed_state_disturbancet   smoothed_state_disturbance_covt    smoothed_measurement_disturbancet$   smoothed_measurement_disturbance_covt   scaled_smoothed_estimatort   scaled_smoothed_estimator_covt   smoothing_errort   smoothed_forecastst   smoothed_forecasts_errort   smoothed_forecasts_error_covR'   R)   R+   R  R   t
   jarqueberaR    t   breakvart   ljungboxi   Rė   id   R·   R±   i
   i6  R_  (   i   i    i    (   i   i   i   (   i    i    i    i    (   i   i   i   i   (   R  R  (   R  R  (.   RE   RH   R   Ræ   R   Rp   R[   t	   ones_liket	   itertoolst   productRŖ   t   zipt   getR   R   R  R  RŹ   R|  Rd   t   scaleR   R$   t   shapest   getattrRO   R  RM  R4   R   t   s_t   test_normalityt   test_heteroskedasticityt   test_serial_correlationR”   Rģ   Rm  t   predicted_meant   se_meanRe  Rf  t   time_invariantRg  t   k_statest   simulatet   impulse_responses(#   R  R"   t   orderst   seasonal_orderst   simple_differencingst   exogst   trendst   time_varying_regressionst   measurement_errorsR§  t   namest   elementRf   t   mod_origt   mod_conct   conc_paramst   res_conct   orig_paramst   k_snrR-   t   res_origt   namet   dt   filter_attrt   actualt   desiredt   filter_attr_burnt   diffuse_maskt   ixt   smoothed_attrt   outputR   t   measurement_shockst   state_shocksRL  (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   check_concentrated_scaleŖ  sģ    
		

			""
	""
#				c           C` s   t  d t  t  d t  d  S(   NR  (   RŌ  Rp   R   (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   test_concentrated_scalem	  s    (   R@   t
   __future__R    R   R   t   osR   t   statsmodels.compat.platformR   t   numpyRE   t   pandasRh  R÷   t   statsmodels.tsa.statespaceR   R   t   statsmodels.tsaR   R   R   R   t   statsmodels.toolsR   t   numpy.testingR	   R
   R   R   t   patht   dirnamet   abspatht   __file__t   current_patht   joint   realgdp_patht   read_csvt   sepRG   t   coverage_pathRĄ   t   objectR   RB   RV   R   Rh   R   R   R   R   R   R   R   R   R   R„   R­   Rµ   R¼   Rś   Rū   Rü   R’   R  R  R  R  R  R  R
  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R!  R"  R#  R$  R%  R&  R'  R(  R)  R*  R+  R,  R-  R.  R/  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R@  RA  RB  RH  RJ  RU  RW  Rē   Rx  Rų   t   smokeRz  R  R  Rp   RŌ  t   slowRÕ  (    (    (    sL   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_sarimax.pyt   <module>   sŌ   "7&%!A9"8#::IFk,A


!&




!				'	+		6			1Ć