
p7]c           @   s?  d  d l  m Z m Z m Z d  d l m Z m Z d  d l Z d  d l Z d  d l	 Z
 d  d l m Z m Z m Z m Z d  d l Z d  d l m Z m Z m Z d  d l Z d  d l m Z d  d l j j j Z d  d l m Z d  d l  m! Z! m" Z" d  d	 l# m$ Z$ d  d
 l% m& Z& m' Z' m( Z( d  d l) m* Z* d  d l+ m, Z, m- Z- d  d l. m/ Z/ d Z0 d Z1 d Z2 d Z3 e j4 j5 e j4 j6 e7   Z8 e j4 j9 e8 d d  Z: e; e: d  ( Z< e
 j= e< d d d d d e> Z? Wd QXe d d d d d d  Z@ e d d d d  d d!  ZA e d d d d" d d  ZB e d d  d d# d d!  ZC d$   ZD d% eE f d&     YZF d' eE f d(     YZG d) eE f d*     YZH d+ eF f d,     YZI d- eF eG f d.     YZJ d/ eF f d0     YZK e jL jM d1 eF eG f d2     Y ZN d3 eF f d4     YZO d5 eF eG f d6     YZP d7 eF f d8     YZQ d9 eF eG f d:     YZR d; eF f d<     YZS d= eF eG f d>     YZT d? eF f d@     YZU dA eF eG f dB     YZV dC eF f dD     YZW dE eF f dF     YZX dG eF f dH     YZY dI eF f dJ     YZZ dK eF f dL     YZ[ dM eF f dN     YZ\ dO eF f dP     YZ] dQ eF f dR     YZ^ dS eF f dT     YZ_ dU eF f dV     YZ` dW eF f dX     YZa dY eF f dZ     YZb d[ eF f d\     YZc d]   Zd e jL jM d^    Ze d_ eF f d`     YZf da eI eG eH f db     YZg dc eI eG eH f dd     YZh de eI f df     YZi dg   Zj dh   Zk di   Zl dj   Zm dk   Zn dl   Zo dm   Zp dn   Zq do   Zr dp   Zs dq   Zt dr   Zu ds   Zv dt   Zw e jL jx du    Zy dv   Zz dw   Z{ dx   Z| dy   Z} e jL jx dz    Z~ e jL jx d{    Z d|   Z d}   Z d~   Z e jL jx d    Z d   Z d   Z d   Z d eE f d     YZ d   Z d   Z e jL j d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d S(   i(   t   lranget   BytesIOt   cPickle(   t   PLATFORM_OSXt   PLATFORM_WINN(   t   assert_almost_equalt   assert_t   assert_allcloset   assert_raises(   t   DatetimeIndext
   date_ranget   period_range(   t   load_pandas(   t   assert_equal(   t   ValueWarningt   HessianInversionWarning(   t   Arma(   t   ARt   ARMAt   ARIMA(   t   OLS(   t   results_armat   results_arima(   t   arma_generate_samplei   i   i   i   t   resultss   y_arma_data.csvt   rbt	   delimitert   ,t   skip_headert   dtypet   startt   1959q1t   endt   2009q3t   freqt   Qt   1700t   2008t   At   2015q4t   2033c          C   s  t  j j d  t j d d g d d g d  j d d d	 d
  }  t |  d  } | j d d d d  } | } t |   } | j d d  } | j	 d d d d d d g d d  } t
 | d | j t  j | j j  d d t
 | j d  | j t  j | j j  d d d  S(   NiU i   g      g      ?g?i(   t   nsamplei   t   burnini  t   trendt   nct   dispit   ordert   start_paramsi    t   decimal(   i   i   (   i   i   (   i   i   (   t   npt   randomt   seedt   fat   ArmaFftt   generate_sampleR   t   fitR   t   fit_mleR   t   paramst   onest   shape(   t   xt   modkft   reskft   drest   modct   reslst   rescm(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_compare_arma)   s    *	'&t   CheckArmaResultsMixinc           B   s   e  Z d  Z e Z d   Z e Z d   Z e Z d   Z	 e Z
 d   Z e Z d   Z e Z d   Z e Z d   Z e Z d   Z e Z d	   Z e Z d
   Z e Z d   Z e Z d   Z e Z d   Z e Z d   Z  e! j" j# d    Z$ RS(   sk   
    res2 are the results from gretl.  They are in results/results_arma.
    res1 are from statsmodels
    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   t   res1R9   t   res2t   decimal_params(   t   self(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_paramsU   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   aicRF   t   decimal_aic(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_aic[   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   bicRF   t   decimal_bic(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_bic`   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   arrootsRF   t   decimal_arroots(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arrootse   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   marootsRF   t   decimal_maroots(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_marootsk   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   bseRF   t   decimal_bse(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_bseq   s    c         C   s&   t  |  j j   |  j j |  j  d  S(   N(   R   RE   t
   cov_paramsRF   t   decimal_cov_params(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_covparamsv   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   hqicRF   t   decimal_hqic(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt	   test_hqic|   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   llfRF   t   decimal_llf(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_llf   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   residRF   t   decimal_resid(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt
   test_resid   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   fittedvaluesRF   t   decimal_fittedvalues(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_fittedvalues   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   pvaluesRF   t   decimal_pvalues(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_pvalues   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   tvaluesRF   t	   decimal_t(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_tvalues   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   sigma2RF   t   decimal_sigma2(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_sigma2   s    c         C   s   |  j  j   d  S(   N(   RE   t   summary(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_summary   s    (%   t   __name__t
   __module__t   __doc__t	   DECIMAL_4RG   RI   RK   RL   RN   RO   RQ   RR   RT   RU   t	   DECIMAL_2RW   RX   RZ   R[   R]   R^   R`   Ra   Rc   Rd   Rf   Rg   Ri   Rj   Rl   Rm   Ro   Rp   t   pytestt   markt   smokeRr   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyRD   N   s<   														t   CheckForecastMixinc           B   s&   e  Z e Z d    Z e Z d   Z RS(   c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   forecast_resRF   t   forecastt   decimal_forecast(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_forecast   s    c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   forecast_errRF   t   forecasterrt   decimal_forecasterr(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_forecasterr   s    (   Rs   Rt   Rv   R~   R   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR{      s   	t   CheckDynamicForecastMixinc           B   s   e  Z d  Z d   Z RS(   i   c         C   s#   t  |  j j |  j j |  j  d  S(   N(   R   RE   t   forecast_res_dynRF   t   forecast_dynt   decimal_forecast_dyn(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_dynamic_forecast   s    (   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s   t   CheckArimaResultsMixinc           B   s    e  Z d    Z e Z d   Z RS(   c         C   s^   |  j  j |  j j k s t  |  j  j |  j j k s< t  |  j  j |  j j k sZ t  d  S(   N(   RE   t   k_diffRF   t   AssertionErrort   k_art   k_ma(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt
   test_order   s    c         C   s,   t  |  j j d d  |  j j |  j  d  S(   Nt   typt   levels(   R   RE   t   predictRF   t   lineart   decimal_predict_levels(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_predict_levels   s    (   Rs   Rt   R   Rv   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s   	t   Test_Y_ARMA11_NoConstc           B   s    e  Z e d     Z d   Z RS(   c         C   sw   t  d  d   d f } t | d d	 j d d d d  |  _ |  j j d  \ |  j _ |  j _ } t j   |  _	 d  S(
   Ni    R.   i   R+   R,   R-   ii
   (   i   i   (
   t   y_armaR   R7   RE   R}   R|   R   R   t   Y_arma11RF   (   t   clst   endogt   confint(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   setup_class   s    ''c         C   sc   t    } |  j j |  | j d d  |  j j j |  } t |  t |  j  k s_ t  d  S(   Ni    (   R   RE   t   savet   seekt	   __class__t   loadt   typeR   (   RH   t   fht   res_unpickled(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_pickle   s
    	(   Rs   Rt   t   classmethodR   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s   t   Test_Y_ARMA14_NoConstc           B   s   e  Z e d     Z RS(   c         C   sP   t  d  d   d f } t | d d j d d d d  |  _ t j   |  _ d  S(	   Ni   R.   i   R+   R,   R-   i(   i   i   (   R   R   R7   RE   R   t   Y_arma14RF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s    '(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s   t   Test_Y_ARMA41_NoConstc           B   s   e  Z e d     Z RS(   c         C   s   t  d  d   d f } t | d d
 j d d d d  |  _ |  j j d	  \ |  j _ |  j _ } t j   |  _	 t
 |  _ d  S(   Ni   R.   i   i   R+   R,   R-   ii
   (   i   i   (   R   R   R7   RE   R}   R|   R   R   t   Y_arma41RF   t	   DECIMAL_3RT   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s
    ''(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s   t   Test_Y_ARMA22_NoConstc           B   s   e  Z e d     Z RS(   c         C   sP   t  d  d   d f } t | d d j d d d d  |  _ t j   |  _ d  S(	   Ni   R.   i   R+   R,   R-   i(   i   i   (   R   R   R7   RE   R   t   Y_arma22RF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s    '(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s   t   Test_Y_ARMA50_NoConstc           B   s   e  Z e d     Z RS(   c         C   sw   t  d  d   d f } t | d d
 j d d d d  |  _ |  j j d	  \ |  j _ |  j _ } t j   |  _	 d  S(   Ni   R.   i   i    R+   R,   R-   ii
   (   i   i    (
   R   R   R7   RE   R}   R|   R   R   t   Y_arma50RF   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s    ''(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR      s   t   Test_Y_ARMA02_NoConstc           B   s   e  Z e d     Z RS(   c         C   sP   t  d  d   d f } t | d d	 j d d d d  |  _ t j   |  _ d  S(
   Ni   R.   i    i   R+   R,   R-   i(   i    i   (   R   R   R7   RE   R   t   Y_arma02RF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    '(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA11_Constc           B   s   e  Z e d     Z RS(   c         C   sw   t  d  d   d f } t | d d	 j d d d d  |  _ |  j j d  \ |  j _ |  j _ } t j   |  _	 d  S(
   Ni   R.   i   R+   t   cR-   ii
   (   i   i   (
   R   R   R7   RE   R}   R|   R   R   t	   Y_arma11cRF   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    ''(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA14_Constc           B   s   e  Z e d     Z RS(   c         C   sP   t  d  d   d f } t | d d	 j d d d d  |  _ t j   |  _ d  S(
   Ni   R.   i   i   R+   R   R-   i(   i   i   (   R   R   R7   RE   R   t	   Y_arma14cRF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    '(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA41_Constc           B   s   e  Z e d     Z RS(   c         C   s   t  d  d   d f } t j   |  _ t | d d j d d d d d	 |  j j  |  _ |  j j d
  \ |  j _	 |  j _
 } t |  _ t |  _ t |  _ t |  _ d  S(   Ni   R.   i   i   R+   R   R-   iR/   i
   (   i   i   (   R   R   t	   Y_arma41cRF   R   R7   R9   RE   R}   R|   R   R   RZ   Rf   Rc   RG   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   "  s    !'			(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   !  s   t   Test_Y_ARMA22_Constc           B   s    e  Z e d     Z d   Z RS(   c         C   sP   t  d  d   d f } t | d d j d d d d  |  _ t j   |  _ d  S(	   Ni	   R.   i   R+   R   R-   i(   i   i   (   R   R   R7   RE   R   t	   Y_arma22cRF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   1  s    'c         C   sK   |  j  j   } d } t | j d j   j d d  | j d d   d  S(   Ns          <tableclass="simpletable">
        <caption>Roots</caption>
        <tr>
        <td></td><th>Real</th><th>Imaginary</th><th>Modulus</th><th>Frequency</th>
        </tr>
        <tr>
        <th>AR.1</th><td>1.0991</td><td>-1.2571j</td><td>1.6698</td><td>-0.1357</td>
        </tr>
        <tr>
        <th>AR.2</th><td>1.0991</td><td>+1.2571j</td><td>1.6698</td><td>0.1357</td>
        </tr>
        <tr>
        <th>MA.1</th><td>-1.1702</td><td>+0.0000j</td><td>1.1702</td><td>0.5000</td>
        </tr>
        <tr>
        <th>MA.2</th><td>1.2215</td><td>+0.0000j</td><td>1.2215</td><td>0.0000</td>
        </tr>
        </table>i   t    t    (   RE   Rq   R   t   tablest   _repr_html_t   replace(   RH   t   summt
   summ_roots(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyRr   7  s    (   Rs   Rt   R   R   Rr   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   0  s   t   Test_Y_ARMA50_Constc           B   s   e  Z e d     Z RS(   c         C   sw   t  d  d   d f } t | d d	 j d d d d  |  _ |  j j d  \ |  j _ |  j _ } t j   |  _	 d  S(
   Ni
   R.   i   i    R+   R   R-   i(   i   i    (
   R   R   R7   RE   R}   R|   R   R   t	   Y_arma50cRF   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   S  s    ''(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   R  s   t   Test_Y_ARMA02_Constc           B   s   e  Z e d     Z RS(   c         C   sP   t  d  d   d f } t | d d	 j d d d d  |  _ t j   |  _ d  S(
   Ni   R.   i    i   R+   R   R-   i(   i    i   (   R   R   R7   RE   R   t	   Y_arma02cRF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   ]  s    '(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   \  s   t   Test_Y_ARMA11_NoConst_CSSc           B   s   e  Z e d     Z RS(   c         C   sb   t  d  d   d f } t | d d
 j d d d d d d	  |  _ t j d  |  _ t |  _ d  S(   Ni    R.   i   t   methodt   cssR+   R,   R-   i(   i   i   (	   R   R   R7   RE   R   R   RF   t	   DECIMAL_1Rl   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   f  s
    !(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   e  s   t   Test_Y_ARMA14_NoConst_CSSc           B   s   e  Z e d     Z RS(   c         C   st   t  d  d   d f } t | d d
 j d d d d d d	  |  _ t j d  |  _ t |  _ t |  _	 t
 |  _ d  S(   Ni   R.   i   R   R   R+   R,   R-   i(   i   i   (   R   R   R7   RE   R   R   RF   R   Rf   Rc   R   Rl   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   q  s    !		(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   p  s   t   Test_Y_ARMA41_NoConst_CSSc           B   s   e  Z e d     Z RS(   c         C   s}   t  d  d   d f } t | d d j d d d d d	 d
  |  _ t j d  |  _ t |  _ d |  _	 t
 |  _ t |  _ d  S(   Ni   R.   i   i   R   R   R+   R,   R-   ii    (   i   i   (   R   R   R7   RE   R   R   RF   R   Rl   Ri   R   RZ   RT   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !			(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   ~  s   t   Test_Y_ARMA22_NoConst_CSSc           B   s   e  Z e d     Z RS(   c         C   s}   t  d  d   d f } t | d d
 j d d d d d d	  |  _ t j d  |  _ t |  _ t	 |  _
 t |  _ t	 |  _ d  S(   Ni   R.   i   R   R   R+   R,   R-   i(   i   i   (   R   R   R7   RE   R   R   RF   R   Rl   R   Rc   Ri   Rf   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !			(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA50_NoConst_CSSc           B   s   e  Z e d     Z RS(   c         C   sk   t  d  d   d f } t | d d j d d d d d	 d
  |  _ t j d  |  _ d |  _ t |  _	 d  S(   Ni   R.   i   i    R   R   R+   R,   R-   i(   i   i    (
   R   R   R7   RE   R   R   RF   Rl   R   R`   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !	(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA02_NoConst_CSSc           B   s   e  Z e d     Z RS(   c         C   sY   t  d  d   d f } t | d d j d d d d d	 d
  |  _ t j d  |  _ d  S(   Ni   R.   i    i   R   R   R+   R,   R-   i(   i    i   (   R   R   R7   RE   R   R   RF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA11_Const_CSSc           B   s   e  Z e d     Z RS(   c         C   st   t  d  d   d f } t | d d
 j d d d d d d	  |  _ t j d  |  _ t |  _ t |  _	 t
 |  _ d  S(   Ni   R.   i   R+   R   R   R   R-   i(   i   i   (   R   R   R7   RE   R   R   RF   R   RG   RZ   R   Rl   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !		(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA14_Const_CSSc           B   s   e  Z e d     Z RS(   c         C   sk   t  d  d   d f } t | d d j d d d d d	 d
  |  _ t j d  |  _ t |  _ t |  _	 d  S(   Ni   R.   i   i   R+   R   R   R   R-   i(   i   i   (
   R   R   R7   RE   R   R   RF   R   Rl   Ri   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !	(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA41_Const_CSSc           B   s   e  Z e d     Z RS(   c         C   s}   t  d  d   d f } t | d d j d d d d d	 d
  |  _ t j d  |  _ t |  _ t |  _	 t
 |  _ t |  _ d  S(   Ni   R.   i   i   R+   R   R   R   R-   i(   i   i   (   R   R   R7   RE   R   R   RF   R   Rl   RZ   R   RT   RW   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !			(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA22_Const_CSSc           B   s   e  Z e d     Z RS(   c         C   sk   t  d  d   d f } t | d d j d d d d d d	  |  _ t j d  |  _ d
 |  _ t |  _	 d  S(   Ni	   R.   i   R+   R   R   R   R-   ii    (   i   i   (
   R   R   R7   RE   R   R   RF   Rl   R   Ri   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !	(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA50_Const_CSSc           B   s   e  Z e d     Z RS(   c         C   st   t  d  d   d f } t | d d j d d d d d	 d
  |  _ t j d  |  _ t |  _ t	 |  _
 t |  _ d  S(   Ni
   R.   i   i    R+   R   R   R   R-   i(   i   i    (   R   R   R7   RE   R   R   RF   R   Rl   R   RG   Rw   RZ   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !		(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   t   Test_Y_ARMA02_Const_CSSc           B   s   e  Z e d     Z RS(   c         C   sY   t  d  d   d f } t | d d j d d d d d	 d
  |  _ t j d  |  _ d  S(   Ni   R.   i    i   R+   R   R   R   R-   i(   i    i   (   R   R   R7   RE   R   R   RF   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    !(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s   c          C   s   t  d  d   d f }  t |  d d	 } | j d d d d  } | j d d d d  } t t | j  t | j  d  d  S(
   Ni    R.   i   R+   R   R-   iR,   (   i   i   (   R   R   R7   R   t   lenR9   (   R   t   modRE   RF   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_reset_trend  s
    c         C   s	  t  j d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d# d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d dddddddddB dI d	d
dddddddddddddddd ddddddd d!d"d#d$d%d&d'd(d)d*d+d,d{ d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEddFdGdHdIdJdKdHdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddded> dfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwddxdydzd{d|d}d~dddddddd\dd ddddddddddddddddd d ddddddddddddddddddddddddddddddd ddddi dddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddd ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0dd1d2d3d4d5d6d7d8d9d d:d;d<d=d>d?d@ddAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdddVdWdXdYdZd[d\d]d^d_d`dadbd dcddded dfdgdhdidjdkd) dldmdndodpdqdrdsdtdudvdwdxdydzd{d d|d}d~dddddddddd dddddddddddd dddddddddddddd dddddddddddddddddddddddd ddddCd_ dddddd ddddddddFg }  t j   6 t j d t |  ddj dddd } Wd  QXd  S(  Ng     `@i  iB  i  i:	  i
  i5  i	  i  i  i  ie  i  i  i  iR  i  ic  i  iF  i	  i  i  i  i  i  i	  i	  i
  i	  im  i7  i  iz  iS  i  i  i  i  i  i  i  i  i'	  i  iR  it  i#	  i  i  i  iU  iC  i  ie  i  iQ  i\  i  i  i  iF  i  iN  il  i  i"  i=  i  i  i  i  i  i  i  il  i  i  i)  i  i  i  i  iy  iu  iD  i@  i2  i  i   iV  i.  i9  i  i  i  iA  ih  ib  i  i  iY	  i	  iS  iN  i	  iK  ie  i6  i  i-  iv  iy
  i  i!  i  i  i  iF  i'  ii  i  i  i  i"  i~  i  i  ii  i  iJ  i2  i  i2  iW  i  i
  i  il  i  i  iF  i  i  i  i
  i
  ii  i
  i
  i  i	  i
  i  i9  is  i  ir  i,  il  i  i  i  iv  i 
  i  i  i  i  iV  i  i  i  ia  i  i	  i$
  i  i  i  i  i  iM  i  ib  i   i   iC  i  i  i   i!  id
  i
  i  i+  i  i  ig  ia  i  i  iw  i   ig   i<   iR   ik   i   ij  i  i  i,	  i
  i(
  i	  i)	  i/	  i3	  ii	  i	  iU
  if  is  iH  i2
  i
  i	  iO	  ix  i  iK
  i9
  i
  iB  i  i7  iN  i0  i\  i:  iD  i^  i  ir  i[  i  i  i  i  iH  i  i  i   i`  i4  im  i  i  i~  i  i  i  i  i9  i  i  i  i   iH   i1   i   i)   i   i  i  i(  i4  i  i  i  i  i  i  i  i  iM  i}  i  i!  iM  i  i  i  i  i  i  i  i  i  i  i  i"  i  i  i  ii  i#  i  i  i  iq  i  i  i  io  i  iB
  i  i(  i  i  i@  i  i1  i  i  i8  i  ig  i  i  i  i  i  i  i  iG  i  ia
  i\
  iz
  i	  i}	  i*	  i  iQ  i%  i  i  i  i  is  i  i@  i  i  i  i]  i  i  i  i  i  i|  i  i  i  i   i   i   i   i  i  i  i  i  iv  i)  i  i  i  i  iN  i  ia  i[  iL  ia  iF  i
  i  i  i  i  i%  i  i  i  i  i  i  i  id  i  i(  i	  i
  i  i  iW  iA	  i  i	  i  ip
  i  i#  iG  i  iT  i  i  i  in  ik  i  i	  i  i  i	  i
  ic  i  iV  i  i
  i  i  i1  iy	  i  i  i  i  i$  i>  i5  i9	  i|  ic
  i)  i  i  i$  i  i<  i  is  iL
  i  i  iD  i  i  i  i  i  iJ  ia  i  i<
  i-  i  i  i  i`  i  i  i  i@  i  iz  i  i	  i  i  i  i  i"  i  i.  i  iC  iN  i  i@  i  i  i!  i  i   i  i  i  i  i  i  i  id  i  i  iE  i  i]  iW  i!  i  i  i{  i  i  i  i  io  i5  i  i  i  i  i  i  i  i  i  iJ  i  iE  i  i  i  i  i  i  iQ  i  i_  i  i
  i	  i!  i  it	  i  i  i
  i
  i  ic  i  i  i  i!  i$	  i	  i<	  i  io  i  i  i  i\  i   i   i  ic  i  i_  i  i  iD  ik	  i  i\  ic  iI  i  i*  i%  i  i6  i  i8	  i&	  ia	  ih  i  ik  i  i  im  i_  i  i  iq  if  i'  i#  i  i  i  i  iH  is  iJ  i
  i 	  i  i  i  i  i
  iq  iA  i  i"  i  i  i  i	  im  i  i  i  i  i  i  i  i7  iG  i  i^  i  i
  i	  i
  i  im  i  i  iM  iH	  i	  i
  iE
  i
  iN  i  iw  i  io
  i  iP  iU  i/  i  i  i  i  i	  i	  i  i  if  i  i  i  i?  i  iL  i  i   i   ie   i   i  iU  i  i  i  i4  i  i&  i|  io  i  i  i  i	  i  i}  i@  iT  i]  i  i  i
  i
  t   ignoreR.   i   i   t   start_ar_lagsi   R-   i(   i   i   (   R1   t   arrayt   warningst   catch_warningst   simplefilterR   R7   (   t   datat   res(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_start_params_bug   s~    !$$$''*'$$$$$$$**$$$'*-$$$*''-''$$$$$$$'$$$$$$$*$$$$$$$$'*'!t   Test_ARIMA101c           B   s   e  Z e d     Z RS(   c         C   s   t  d  d   d f } t | d	  j d d d d  |  _ |  j j d  \ |  j _ |  j _ } t j   |  _	 d |  j	 _
 d |  j	 _ d |  j	 _ d  S(
   Ni   i   i    R+   R   R-   ii
   (   i   i    i   (   R   R   R7   RE   R}   R|   R   R   R   RF   R   R   R   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   E  s    $'(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   C  s   t   Test_ARIMA111c           B   s    e  Z e d     Z d   Z RS(   c      	   C   s   t    j d j } t | d  j d d  |  _ t j   |  _ d |  _	 d |  _
 d |  _ d |  _ d |  _ |  j j d  \ |  j _ |  j _ } |  j j d	 d
 d d d d d t  |  j _ d  S(   Nt   cpii   R-   ii   i   i    i   R   i   R    i?   R   R   t   dynamic(   i   i   i   i   (   t   load_macrodata_pandasR   t   valuesR   R7   RE   R   t   ARIMA111RF   R`   RK   RN   RZ   Rl   R}   R|   R   R   t   TrueR   (   R   R   t   conf_int(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   S  s    					'c         C   s6   t  |  j j d g d  t  |  j j d g d  d  S(   Ng        i   (   R   RE   t   arfreqt   mafreq(   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt	   test_freqk  s    (   Rs   Rt   R   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   Q  s   t   Test_ARIMA111CSSc           B   s   e  Z e d     Z RS(   c      	   C   s%  t    j d j } t | d  j d d d d  |  _ t j d d  |  _ | d d !|  j j	 |  j _
 |  j j d  \ |  j _ |  j _ } d |  _ d |  _ d	 |  _ |  j j d
 d d d d d d t  |  j _ d	 |  _ d	 |  _ d	 |  _ d	 |  _ d |  _ d |  _ d |  _ t |  _ d  S(   NR   i   R-   iR   R   i   i   i   R   i   R    i?   R   R   R   (   i   i   i   i   (   R   R   R   R   R7   RE   R   R   RF   R   Re   R}   R|   R   R~   R   R   R   R   R   RQ   RZ   R]   RT   Rl   Rf   Rc   Rw   R   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   r  s$    $'										(   Rs   Rt   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR   p  s   t   Test_ARIMA112CSSc           B   s    e  Z e d     Z d   Z RS(   c      
   C   s   t    j d j } t | d  j d d d d d d	 d
 d d g  |  _ t j d d  |  _ | d d !|  j j	 |  j _
 d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ t |  _ d  S(   NR   i   i   R-   iR   R   R/   g-e?g=yX(g_-?gD?i   (   i   i   i   (   R   R   R   R   R7   RE   R   t   ARIMA112RF   R   Re   R`   RK   RN   RQ   RT   Rl   Rc   Rf   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    									c         C   s9   t  |  j j d g d  t  |  j j d d g d  d  S(   Ng      ?i   (   R   RE   R   R   (   RH   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    (   Rs   Rt   R   R   R   (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s    c    
      C   s  t    j d j }  t |  d! d t d d j d d  } t t d	 d
  ( } t j	 | d d d d d t
 } Wd  QX| d  d   d f } | d  d   d f } | d  d   d f } d" \ } } | j d d d d }	 t |	 | | | d !t  t | j j t | | d ! d# \ } } | j d d d d }	 t |	 | | | d !t  t | j j t  d$ \ } } | j | | d t d d }	 t |	 | d d% !t  d& \ } } | j | | d t d d }	 t |	 | d  d' !t  d  S((   NR   i   i   t   datesR"   R#   R-   is,   /results/results_arima_forecasts_all_mle.csvR   R   R   R   R   i    i   i3   t   1959Q3t   1971Q4R   R   i   i   t   2009Q3t   2015Q4t   1960q2t   1971q4R   i   t   1965q1R'   i   (   i   i   i   (   i   i3   (   i   i   (   R   R   i4   (   R   R'   i   (   R   R   R   R   t	   cpi_datesR7   t   opent   current_pathR1   t
   genfromtxtt   floatR   R   Rv   R   t   predict_datest   cpi_predict_datesR   (
   R   RE   t	   test_datat   arima_forecastst   fct   fcdynt   fcdyn2R   R    t   fv(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_mle_dates  s*    ''c          C   s   d d l  m }  |    j d j } t | d d t d d } d	 | _ t t | j	 d
 d t
 f  d \ } } | j	 d d t  \ } } } } t | j j t | | d ! d \ } } | j	 d d t  \ } } } } t | j j t  d  S(   Ni(   R   t   SUNACTIVITYi	   i    R   R"   R&   t   mlet   1701t   1751i   i3   t   1702i   i4  iM  R%   R(   (   i	   i    (   i   i3   (   i4  iM  (   t   statsmodels.datasets.sunspotsR   R   R   R   t	   sun_datesR   R   t
   ValueErrort   _get_prediction_indexR   t   FalseR   R   t   sun_predict_dates(   R   t   sunspotsR   R   R    t   _(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_predict_mle_dates  s    	!!c          C   s4  t    j d j }  t |  d( d t d d j d d d	 d
 d d  } t j d d d d d g  } t t	 d d  ( } t j
 | d d d d d t } Wd  QX| d  d   d f } | d  d   d f } | d  d   d f } d) \ } }	 | j j | d d d d }
 t |
 | | |	 d !t  t | j j t | |	 d ! d* \ } }	 | j j | d" d# d d }
 t |
 | | |	 d !t  t | j j t  d+ \ } }	 | j j | d d d d d$ t }
 t |
 | | |	 d !t  d, \ } }	 | j j | | |	 d$ t d d }
 t |
 | d' d- !t  d  S(.   NR   i   i   R   R"   R#   R-   iR   R   R+   R,   gͿEJ?g_;fҿgWI?g1|BgY̴
s,   /results/results_arima_forecasts_all_css.csvR   R   R   R   R   i    i   i   i3   t   1960Q2R   R   R   i   i   R   R   R   R   R'   i   (   i   i   i   (   i   i3   (   i   i   (   i   i3   (   R   R'   i   (   R   R   R   R   R   R7   R1   R   R   R   R   R   t   modelR   R   Rv   R   R   R   R   (   R   RE   R9   R   R   R   R   R  R   R    R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_css_dates  s8    $	'	$c          C   sg   d d l  m }  |    j d j } t | d d t d d } d	 | _ t t | j	 d
 d t
 f  d  S(   Ni(   R   R  i	   i    R   R"   R&   R   R  R  (   i	   i    (   R	  R   R   R   R   R
  R   R   R  R  R  (   R   R  R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_predict_css_dates  s
    	c          C   s  t    j d j }  t |  d  j d d  } t t d d  ( } t j | d d	 d
 d d t	 } Wd  QX| d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f } d \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d  \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d! \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d" \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d# \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d$ \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d% \ }	 }
 | j
 |	 |
 d d } t | | |	 |
 d !t  d& \ }	 }
 | j
 |	 |
 d d } t | | d d !t  d' \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d( \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d) \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d* \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d+ \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d, \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d- \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d. \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d/ \ }	 }
 | j
 |	 |
 d t d d } t | | |	 |
 d !t  d0 \ }	 }
 | j
 |	 |
 d t d d } t | | d d !t  d  S(1   NR   i   i   R-   is,   /results/results_arima_forecasts_all_mle.csvR   R   R   R   R   i    i   i   R   R   i3   i   i   i   i   i   R   (   i   i   i   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   i   i3   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   R   R   R   R   R7   R   R   R1   R   R   R   R   Rv   R   t   NoneR   (   R   RE   R   R   R   R   R  t   fcdyn3t   fcdyn4R   R    R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_mle%  s    'c         C   s2   |  j  | d  |  \ } } } } t | |  d  S(   N(   R  R  R   (   R  t   givent   expectedR   R   R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   _check_start  s    !c         C   s>   |  j  d  | t  \ } } } } t | | f | | f  d  S(   N(   R  R  R  R   (   R  R  t
   end_expectt   out_of_sample_expectR  R    t   out_of_sample(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt
   _check_end  s    !c          C   s  d d l  m }  |    j d j } t | d  d t d d } d	 | _ t t | j	 d d  t f  t t | j	 d
 d  t f  t t | j	 d d  t f  t t | j	 d d  t f  d  d t f d d t f d d t f d d t f d d t f d d t f d d t f d d t f d d t f d d t f d d t f d d t f d d t f d d
 t f d d t f g } x | D] } t | f |   qxWd! d" d# d$ d% d& d' d( d) d* d+ d, d- g } x | D] } t | f |   qWd  S(.   Ni(   R   R  i	   i    R   R"   R&   R  i   R$   t   1708i
   i5  i4  i   i   t   1709t   1710R%   t   2009i3  i8  i3   iM  i   t   2007t   2012t   1815is   R(   (   i	   i    (   Ni4  i    (   i3  i3  i    (   i4  i4  i    (   i5  i4  i   (   i8  i4  i   (   i3   i3   i    (   iM  i4  i   (   R%  i3  i    (   R%   i4  i    (   R$  i4  i   (   R&  i4  i   (   R'  is   i    (   R(   i4  i   (   R	  R   R   R   R   R
  R   R   R  R  R  R   R  R  R   (   R   R  R  t   start_test_casest   caset   end_test_cases(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_predict_indices  sP    		c          C   s  t    j d j }  t |  d% d t d d } d | _ t t | j d d  t
 f  t t | j d d  t
 f  t t | j d	 d  t
 f  t t | j d
 d  t
 f  t t | j d d  t f  t t | j d	 d  t f  d  d t
 f d d t
 f d d t
 f d d t
 f d d t f d d t f d d t f d d t
 f d d t
 f d d t
 f d d t f d
 d t f d d t f g } x | D] } t | f |   qWd& d' d( d) d* d+ d- d. d/ d0 d1 d2 d3 g } x | D] } t | f |   qWt |  d4 d t d d } d | _ t t | j d d  t
 f  t t | j d d  t
 f  t t | j d	 d  t
 f  t t | j d
 d  t
 f  t t | j d d  t f  t t | j d d  t f  d  d t
 f d d t
 f d d t
 f d d t f d d t f d d t f d d t
 f d d t
 f d d t
 f d" d t f d
 d t f d d t f g } x | D] } t | f |   q[Wd5 d6 d7 d8 d9 d: d< d= d> d? d@ dA dB g } x | D] } t | f |   qWd  S(C   NR   i   i   R   R"   R#   R  i    t   1959Q1t   1960Q1i   i   i   i   i   R  t   1960Q3t   2009Q4t   1959Q2i   i   i   i   i3   i2   i   i?   i   t   2009Q2R   t   2010Q1R   R   R   i   i1   (   i   i   i   (   Ni   i    (   i   i   i    (   i   i   i    (   i   i   i   (   i   i   i   (   i3   i2   i    i   (   i   i   i   (   R1  i   i    (   R   i   i    (   R/  i   i   (   R2  i   i   (   R   i2   i    (   R   i   i   (   i   i   i   (   Ni   i    (   i   i   i    (   i   i   i    (   i   i   i   (   i   i   i   (   i3   i1   i    i   (   i   i   i   (   R1  i   i    (   R   i   i    (   R/  i   i   (   R2  i   i   (   R   i1   i    (   R   i   i   (   R   R   R   R   R   R   R   R  R  R  R   t   KeyErrorR  R  R   (   R   R  R(  R)  R*  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_indices  s    				c          C   s   t    j d j }  t |  d  } d | _ t t | j d d  t	 f  t t | j d d  t
 f  t t | j d d  t	 f  t t | j d d  t
 f  d  S(   NR   i   i   R   i    i   (   i   i   i   (   R   R   R   R   R   R   R  R  R  R  R   (   R   R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_indices_css  s    	c          C   sx  t    j d j }  t |  d!  j d d d d d d	  } t j d
 d d d d g  } t t d d  ( } t j	 | d d d d d t
 } Wd  QX| d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f }	 d" \ }
 } | j j | |
 | d d } t | | |
 | d !t  d# \ }
 } | j j | |
 | d d } t | | |
 | d !t  | j j | |
 | d d } t | | |
 | d !t  d$ \ }
 } | j j | |
 | d d } t | | |
 | d !t  d% \ }
 } | j j | |
 | d d } t | | |
 | d !t  d& \ }
 } | j j | |
 | d d } t | | |
 | d !t  d' \ }
 } | j j | |
 | d d } t | | |
 | d !t  d( \ }
 } | j j | |
 | d d } t | | |
 | d !t  d) \ }
 } | j j | |
 | d d } t | | |
 | d !t  d* \ }
 } | j j | |
 | d d } t | | d d !t  d+ \ }
 } | j j | |
 | d  t d d } t | | |
 | d !t  d, \ }
 } | j j | |
 | d  t d d } t | | |
 | d !t  d- \ }
 } | j j | |
 | d  t d d } t | | |
 | d !t  d. \ }
 } | j j | |
 | d  t d d } t | | |
 | d !t  d/ \ }
 } | j j | |
 | d  t d d } t | | |
 | d !t  d0 \ }
 } | j j | |
 | d  t d d } t | | |
 | d !t  d1 \ }
 } | j j | |
 | d  t d d } t | | |
 | d !t  d2 \ }
 } | j j | |
 | d  t d d } d3 \ }
 } | j j | |
 | d  t d d } t | |	 |
 | d !t  d4 \ }
 } | j j | |
 | d  t d d } t | | d d !t  d  S(5   NR   i   i   R-   iR   R   R+   R,   gͿEJ?g_;fҿgWI?g1|BgY̴
s,   /results/results_arima_forecasts_all_css.csvR   R   R   R   R   i    i   i   i   i3   R   R   i   i   i   i   R   (   i   i   i   (   i   i3   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   i   i3   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   R   R   R   R   R7   R1   R   R   R   R   R   R  R   R   Rv   R  R   (   R   RE   R9   R   R   R   R   R  R  R  R   R    R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_css  s    		'$$$$$$$$$$c          C   s&  t    j d j }  t |  d   j d d d d d d	  } t j d
 d d d d d g  } | d d | d d !j   | d <t t	 d d  ( } t j
 | d d d d d t } Wd  QX| d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f }	 d! \ }
 } | j j | |
 |  } t | | |
 | d !t  d" \ }
 } | j j | |
 |  } t | | |
 | d !t  | j j | |
 |  } t | | |
 | d !t  d# \ }
 } | j j | |
 |  } t | | |
 | d !t  d$ \ }
 } | j j | |
 |  } t | | |
 | d !t  d% \ }
 } | j j | |
 |  } t | | |
 | d !t  d& \ }
 } | j j | |
 |  } t | | |
 | d !t  d' \ }
 } | j j | |
 |  } t | | |
 | d !t  d( \ }
 } | j j | |
 |  } t | | |
 | d !t  d) \ }
 } | j j | |
 |  } t | | d d !t  d* \ }
 } | j j | |
 | d t } t | | |
 | d !t  d+ \ }
 } | j j | |
 | d t } t | | |
 | d !t  d, \ }
 } | j j | |
 | d t } t | | |
 | d !t  d- \ }
 } | j j | |
 | d t } t | | |
 | d !t  d. \ }
 } | j j | |
 | d t } t | | |
 | d !t  d/ \ }
 } | j j | |
 | d t } t | | |
 | d !t  d0 \ }
 } | j j | |
 | d t } t | | |
 | d !t  d1 \ }
 } | j j | |
 | d t } d2 \ }
 } | j j | |
 | d t } t | |	 |
 | d !t  d3 \ }
 } | j j | |
 | d t } t | | d d !t  d  S(4   NR   i   i   R-   iR   R   R+   R   gQ]l?gǬ_g?gÒȇ?g?g
z͹q?i    i   s1   /results/results_arima_forecasts_all_css_diff.csvR   R   R   R   R   i   i   i3   i   i   i   i   R   (   i   i   i   (   i   i3   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   i   i3   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   R   R   R   R   R7   R1   R   t   sumR   R   R   R   R  R   R   Rv   R  R   (   R   RE   R9   R   R   R   R   R  R  R  R   R    R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_css_diffs$  s    		#'c          C   s  t    j d j }  t |  d  j d d d d  } t j d d	 d
 d d d g  } t t d d  ( } t j	 | d d d d d t
 } Wd  QX| d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f } | d  d   d f }	 d \ }
 } | j j | |
 |  } d  \ }
 } | j j | |
 |  } d! \ }
 } | j j | |
 |  } d" \ }
 } | j j | |
 |  } d# \ }
 } | j j | |
 |  } d$ \ }
 } | j j | |
 |  } t | | |
 | d !t  d% \ }
 } | j j | |
 |  } t | | |
 | d !t  | j j | |
 |  } t | | |
 | d !t  d& \ }
 } | j j | |
 |  } t | | |
 | d !t  d' \ }
 } | j j | |
 |  } t | | |
 | d !t  d( \ }
 } | j j | |
 |  } t | | |
 | d !t  d) \ }
 } | j j | |
 |  } t | | |
 | d !t  d* \ }
 } | j j | |
 |  } t | | |
 | d !t  d+ \ }
 } | j j | |
 |  } t | | |
 | d !t  d, \ }
 } | j j | |
 |  } t | | d d !t  d- \ }
 } | j j | |
 | d t } t | | |
 | d !t  d. \ }
 } | j j | |
 | d t } t | | |
 | d !t  d/ \ }
 } | j j | |
 | d t } t | | |
 | d !t  d0 \ }
 } | j j | |
 | d t } t | | |
 | d !t  d1 \ }
 } | j j | |
 | d t } t | | |
 | d !t  d2 \ }
 } | j j | |
 | d t } t | | |
 | d !t  d3 \ }
 } | j j | |
 | d t } t | | |
 | d !t  d4 \ }
 } | j j | |
 | d t } d5 \ }
 } | j j | |
 | d t } t | |	 |
 | d !t  d6 \ }
 } | j j | |
 | d t } t | | d d !t  d  S(7   NR   i   i   R-   iR+   R   gLk?gǓhg*uk?g$?gv?g9`=w?s1   /results/results_arima_forecasts_all_mle_diff.csvR   R   R   R   R   i    i   i   i3   i   i   i   i   i   R   (   i   i   i   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   i   i3   (   i   i   (   i   i   (   i   i3   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   NN(   R   R   R   R   R7   R1   R   R   R   R   R   R  R   R   Rv   R  R   (   R   RE   R9   R   R   R   R   R  R  R  R   R    R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_mle_diffs  s    !	'c       	   C   s   t    j d }  t j t  |  _ t |  d d d j d d  } t | j	 j t j d d	 d
 d d d g   t | j
 j d  d  S(   NR   i   i   R"   R#   R-   it   consts   ar.L1.D.cpis   ar.L2.D.cpis   ar.L3.D.cpis   ar.L4.D.cpis   ma.L1.D.cpis   D.cpi(   i   i   i   (   R   R   t   pdt   IndexR   t   indexR   R7   R   R9   R  t   endog_names(   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_wrapper;  s    !c          C   sj  t    j }  |  d j } |  d j j   } t j   ,t j d  t | d |  j d d  } | j	 d d | d	  | j	 d d
 | d	 d t
 t j t  |  _ t |  d d |  d  j d d  } | j	 |  j d	 |  j d d |  d d	 d t
 t |  d d |  d  j d d d d  } | j	 |  j d	 |  j d d |  d d	 d t
 Wd  QXd  S(   Nt   realconst   m1R   i   R-   ii   i   ii   R   t   exogR+   R,   (   i   i   (   i   i   (   i   i   (   R   R   R   t   squeezeR   R   R   R   R7   R   R   R;  R<  R   R=  (   t   dtaR   RB  R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_1dexogE  s    &2,c          C   sD  d d l  m }  |  j   j j } t j d d d d d d  d	  | _ t | d  j	 d d  } | j
 d  d   | j
 | j d | j d  } t | j j | j d   | j
 | j d | j d d t } t | j j | j d   t j d d d d d d  } | j
 | d | d  } t | j j |   d  S(   Ni(   R  R   R$   R    R$  R"   R&   i5  i   i    R-   iR   t   2000t   2015(   i   i    (   t   statsmodels.datasetsR  R   R   R  R;  R
   R=  R   R7   R   R  R   t   equalsR   (   R  RD  t
   arma_mod20R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_bug[  s    % &c          C   s   t    j d j }  t t j |   d  j d d d d d g d d  } | j d  \ } } } t | d	 d
 d d d g d  d  S(   Nt   realinvi   i   R/   i    R-   ii   gaq89@g6>W[A@g3xI@gYI+Q@g)Z@(   i   i   i   (	   R   R   R   R   R1   t   logR7   R}   R   (   t   invt	   arima_modR   t   stderrR   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_q2o  s    6c          C   s  d d d d d d d d d d d	 g }  d
 d d d d d d d d d d g } t  j | d t |   d d g } t j t d d # t | d d/ j d d  } Wd  QX| j   } t	 | j
 j | j
   t t | j d d  d! d" t t | j d d  d! d# t t | j d d$ d! d% t t | j d d& d! d% | j d d' d! d"  } t	 t |  d( k  t	 | j
 j | j
 d& d0 !  t j t d d)  | j d d' d! d*  } Wd  QXt	 | j
 j t  j t d& d+     t j t d d)  | j d d& d! d*  } Wd  QXt	 | j
 j t  j t d& d+     | j d d, d! d-  } t	 | j
 j | j
 d. d" !  | j d d. d! d-  } t	 | j
 j | j
 d. d" !  d  S(1   Ns
   2010-01-04s
   2010-01-05s
   2010-01-06s
   2010-01-07s
   2010-01-08s
   2010-01-11s
   2010-01-12s
   2010-01-13s
   2010-01-17g     @gR@gGz@g̐@g\(Ђ@g{GȂ@gp=
s@gQX@gn@g      @g)\\@R=  t   columnst   closet   matchs   it has no associated frequencyR.   i   i    R-   iR   s   2010-1-9R    i
   s	   2010-1-17s   2010-1-4s	   2010-1-10i   s   2010-1-7i   s   No supported index is availablei   i   s   2010-1-6s	   2010-1-13i   (   i   i    i   (   R;  t	   DataFrameR	   Rx   t   warnsR   R   R7   R   R   R=  RI  R   R3  R   R<  R    (   R   RS  R   t   armaR   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt    test_arima_predict_pandas_nofreqz  s6    $$ (( c          C   s1  d d l  m }  |  t d  } | d j   } t j t |  d  d } | d } t | j d d d | d  j	 d d d d  } t j
 d d d d d g  } t | j | d  | j   } t | | j d  d  t t | j j  d k  | j j | d d d | d } t | | j d  d  S(   Ni(   t   read_csvs-   /results/results_arima_exog_forecasts_mle.csvt   yi   g      4@R   R.   i   i   RB  id   R+   R   R-   gŘK@gT fg8t+?g*#pԿgYQ?i   R    i|   i   (   i   i   (   t   pandasRY  R   t   dropnaR1   t   arangeR   R   R   R7   R   R   R9   R   R   R  t
   exog_names(   RY  R   RZ  t   Xt   predict_expectedt   arma_resR9   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_exog  s     
(	"c          C   s   d d d d g }  d d d g } t  j j d  t |  | d  } t | d  } t t |  t k  | j d d  } | j	   d  S(   Ni   g      g333333?gffffff?g      ?g?i90  id   i   i    i   R-   i(   i   i    i   (
   R1   R2   R3   R   R   R   R   R   R7   R   (   t   art   maRZ  R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_no_diff  s    c          C   sl   d d g }  d g } t  j j d  t |  | d  } t | d d	 } | j d d  } | j d  d  S(
   Ni   g      ?i90  id   R.   i    R-   i(   i    i   (   R1   R2   R3   R   R   R7   R}   (   Rc  Rd  R   RW  Ra  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_predict_noma  s    	c          C   sV  t    j }  t j d d t |   d d } t |  _ |  d d d g }  |  j d  } |  } t | d# |  j	 d
 t
 d d d d d d d d  } d } d d d d d d g } t | j j | d  t | j j t j |   | d  |  j   } d | j d <t | d$ |  j	 d
 t
  } d d d d d  d! g } t | j j | d"  d  S(%   Nt   1959t   periodsR"   R#   t   realdpiRA  t   realgdpi   i   R-   t   solvert   nmt   maxiteri  t   ftolg-q=t   xtolg#ϻ8oАgvx@*@gXA~_ng̍pp?gXBɿg1e?g1[ci   i   i    gА3@g_?g
_VA/9?g`p.g
"Ŀg1?i   (   i   i   i   (   i   i   i   (   R   R   R;  R
   R   R   R=  t   popR   R7   R  R   R9   R   R  t   loglikeR1   R   t   difft   iloc(   RD  R   RZ  R_  R   t	   stata_llfR9   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arimax  s(    !	
'	%c       1   C   s  t  j d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 g0  }  t |  d6  } t j t   | j   Wd  QXt   j d3 j	 } t
 t  j |  d7  } t j t   | j   Wd  QXd  S(8   NgN@guhh@gG<@g8F6$@gWW@gTFŉ@glnu&h@g[:ju?}@g͔r@g4]W@gXjb&܈@g [5B%@gDfӖˈ@gǥ&&@g>2@gx@gb
@ghr@gIL̊@g!U@g>ٽ@g\	OC@g47v@g*	z@g0-@gB1J@g]Y^@gG@gM"L@g$4O@gt7@gf3.@g'@g6y o@gq"x@g|@g? j@gb1Lm@g(9Pu@gkۚ@g/|@ggzOK@g~A@gR͊@g+0du6@gfcχ@g]VFކ@gO@i   i    RL  i   i   (   i   i    (   i   i   i   (   R1   R   R   Rx   t   raisesR  R7   R   R   R   R   RM  (   R   R   RN  RO  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_bad_start_params/  s(    c          C   s   d d  l  j }  d d d d d d d d	 g } t j d
 d t |  d d } t j | d | } t j |  } |  j j | d  } t	 t
 | j  d  S(   NigX@g33333X@gfffffX@g     W@g     W@gfffffU@gU@g2`U@t   1990Rh  R"   R#   R=  i   i    (   i   i    i   (   t   statsmodels.apit   apiR;  R
   R   t   SeriesRU  t   tsaR   R   R  R7   (   t   smt   valst   drt   tst   dfR   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_small_data_bugH  s    !c          C   s   d d  l  j }  d d d d d d d d	 d d
 d d d d g } t j d d t |  d d } t j | d | } t j |  } |  j j | d  } d  S(   NigX@g33333X@gfffffX@g     W@g     W@gfffffU@gU@g2`U@g      X@g33333SW@g     `X@g33333X@g      W@Rx  Rh  R"   R#   R=  i   i    (   i   i    i   (	   Ry  Rz  R;  R
   R   R{  RU  R|  R   (   R}  R~  R  R  R  R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt!   test_arima_dataframe_integer_nameU  s    !c          C   s<  t  j j d  t  j j d  }  t  j j d  } t |  d |  j d d  } t  j j d  } | j d d d	 d
 d |  t j t  % | j d d d	 d
 d | d   Wd  QXt j t   | j d d d	 d
  Wd  QXt	 j
 t  j d  d d d g } t j t  ! | j d d d	 d
 d |  Wd  QXd  S(   Ni90  id   i   i   R-   ii
   t   stepst   alphag?RB  i   RR  t   x1t   x2(   i   i   (   i
   i   (   R1   R2   R3   R   R7   R}   Rx   Rv  R  R;  RU  t   zeros(   RZ  R<   R   t   newxt   too_many(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_exog_predict_1dc  s    &c          C   s  t  j j d  t  j d d g  }  t  j d d g  } t  j d |  f } t  j d | f } d } t j d d	 d
 | d d  } t  j j d  t |  | |  } t  j j |  } | d | 7} t	 | d  d d$ d | d  } | j
 d d d t  }	 |	 j d | d  }
 t |
 d d d  t |
 d d d  t |
 d d% d d  t |
 d d& d d  t	 | d  d d' d | d  } | j
 d d d t  }	 |	 j d | d  }
 t |
 d d d  t |
 d d d  t |
 d d( d d  t |
 d d) d d  t	 | d  d d* d | d  } | j
 d d d t  }	 |	 j d | d  }
 t |
 d d  d  t |
 d d! d  t |
 d d d" d# g d  d  S(+   Ni90  g      ?g      пg?gffffff?i   i   R   t   1980Rh  R"   R&   i   iR.   i    RB  R+   R,   R-   gT*g@i   g{K9_}?i   g9EGr?g*@gf! @gR?gkz?g:l@R   gX@g͔ ?gO#-?g2#@(   i   i    (   i    i    (   i    i   (   i   i   (   i    i    (   i    i   (   i   i    (   R1   R2   R3   R   t   r_R;  R
   R   t   randnR   R7   R  R}   R   (   t   arparamst   maparamst   arparamt   maparamt   nobsR   RZ  R_  R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_1123x  s>       c          C   s   d d d d d g }  t  t t |  d  t  t t |  d  t |  d  } t  t | j d
 d | j d
 d d d d d d d d g  } t |  d  } d d  l } | j   ? | j d  | j d d d t j |   d d d g  } Wd  QXd  S(   Ng0pgVg-ig~gZ/gi   i    i   i   R+   R   R,   R-   R/   g?iR   (   i   i    i   (   i   i   i   (   i   i    i   (   i   i    i   (	   R   R  R   R7   R   R   R   R1   t   mean(   RZ  R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_small_data  s    *t
   TestARMA00c           B   s}   e  Z e d     Z d   Z d   Z d   Z d   Z e j	 j
 d    Z d   Z d   Z d   Z d	   Z d
   Z RS(   c         C   sa   d d l  m } |   j d j } | |  _ } t | d d |  _ |  j j d d  |  _ d  S(   Ni(   R   R  R.   i    R-   (   i    i    (	   R	  R   R   R   RZ  R   t   arma_00_modelR7   t   arma_00_res(   R   R   R  RZ  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR     s
    c         C   s&   |  j  j } t |  j j   |  d  S(   N(   R  R9   R   RZ  R  (   RH   R9   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_parameters  s    c         C   s6   |  j  j   } t |  j j   t j |  |  d  S(   N(   R  R   R   RZ  R  R1   t	   ones_like(   RH   t   predictions(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_predictions  s    c         C   s    |  j  j } t | j d  d  S(   Ni    (   R  RP   R   t   size(   RH   t   roots(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyRR     s    c         C   s    |  j  j } t | j d  d  S(   Ni    (   R  RS   R   R  (   RH   R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyRU     s    c         C   s   |  j  } |  j } t | t j |   j d d  } t j | j | j g  } t j | j | j g  } t	 | | t
  d  S(   NR-   i(   R  RZ  R   R1   R  R7   R   RJ   RM   R   Rv   (   RH   R   RZ  t   ols_rest   ols_ict   arma_ic(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_information_criteria  s    		$c         C   s5   t  |  j d d } t t | j d d d d d  S(   NR.   i    R+   R,   R-   i(   i    i    (   R   RZ  R   R  R7   (   RH   t   arma_00(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_00_nc  s    c         C   s`   t  |  j d d } | j d d d d  } | j   } t |  j j   t j |  |  d  S(   NR.   i    R   R   R-   i(   i    i    (   R   RZ  R7   R   R   R  R1   R  (   RH   RW  R7   R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_css  s    c         C   s\   t  j |  j  } t | d d } | j d d  } t t  j |  j   | j t	  d  S(   NR.   i    i   R-   i(   i    i   i    (
   R1   t   cumsumRZ  R   R7   R   Rr  R  R9   Rv   (   RH   t   yit   arimaR7   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt
   test_arima  s    c         C   s   |  j  } | d } | d  } | j d } t j t j | d f  | d  d   d  f f  } t | |  j   } t | d d	 d | j d d d d  } t	 | j
 | j
  d  S(
   Ni   ii    R.   RB  R+   R   R-   (   i    i    (   RZ  R;   R1   t   hstackR:   R  R   R7   R   R   R9   (   RH   RZ  t   y_leadt   y_lagt   TR_  R  Ra  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_ols  s    	

4*c         C   s   |  j  } | d } | d  } | d  d   d  f } t | |  j   } t | d d	 d | j d d d d  } t | j | j  d  S(
   Ni   iR.   i    RB  R+   R,   R-   (   i    i    (   RZ  R  R   R7   R   R   R9   (   RH   RZ  R  R  R_  R  Ra  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_exog_no_constant  s    	

*(   Rs   Rt   R   R   R  R  RR   RU   Rx   Ry   t   skipR  R  R  R  R  R  (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyR    s   									
c       
   C   s   t  j j d  t j t  j j d  d t j d d d d d d  }  t |  d  j d d
  } | j d t	 |   d t	 |    } t
 | j d
 |  j j d	  d k  | j   d
 } t | j d
 |  d  S(   Ni   i$   R=  R   s   1/1/1990Rh  R"   t   Mi   i    R-   R    i(   i   i    i    (   R1   R2   R3   R;  R{  R
   R   R7   R   R   R   R=  t   shiftR}   R   R   (   R<   R   t   predR   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_dates_startatend  s    $'c          C   sL   d d l  m }  t j j d  } t j | d <t |  t | d d d d  S(	   Ni(   t   MissingDataErrori(   i   i    t   missingt   raise(   i   i    (   t   statsmodels.tools.sm_exceptionsR  R1   R2   t   nanR   R   (   R  RZ  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_missing  s    c         C   s   d d l  m } |   j d g } t d d d d d d	  d
  | _ t | d  j d d  } | j d d d t d t	 } t
 | d  j d d  } | j d d d t d t	 } d  S(   Ni(   R   R  R   R$   R    R$  R"   R&   i5  i   i    R-   Rx  R&  R   t   plot_insamplei   (   i   i    (   i   i   i    (   R	  R   R   R
   R=  R   R7   t   plot_predictR   R  R   (   t   close_figuresR   RD  R   t   fig(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_plot_predict  s    "c          C   sn  t    j d }  t j d d t |   d d } t |  _ t |  d?  j d	 d
  } | j	 d  \ } } } d@ dA dB dC dD dE dF dG dH dI g
 } d  d! d" d# d$ d% d& d' d( d) g
 } d* d+ d, d- d. d/ d0 d1 d2 d3 g
 } t
 | | d  t
 | | d  t
 | | d  | j d4 d5 d6 d7 }	 d8 d9 d: d; d< d= d> d  d! d" d# d$ d% d& d' d( d) g }
 t
 |	 |
 d  d  S(J   NR   Rg  Rh  R"   R#   i   i   i   R-   ii
   g rk@gZdgk@gvk@gq=
ףk@g5^I"k@gT㥛k@gn2k@g%C7l@g+Ck@gq=
ףxl@g"~Vk@g+l@goik@g/l@g!rh}k@g?5^I8m@gSk@gQwm@g;Ok@g m@gR5k@gZd;_k@gZdk@gEk@g
ףp=k@gl@gZd;O1l@gxZl@gbX9l@gvl@gb=?g<,Ԛ?g!u?gQI @gV-@gH}@ggs	@g#~j<@gF@g@t   2008Q1t   2012Q1R   R   g+j@gKj@g/ݨk@g"~.k@g rhj@g)\j@gX9j@(   i   i   i   (   g rk@gZdgk@(   gvk@gq=
ףk@(   g5^I"k@gT㥛k@(   gn2k@g%C7l@(   g+Ck@gq=
ףxl@(   g"~Vk@g+l@(   goik@g/l@(   g!rh}k@g?5^I8m@(   gSk@gQwm@(   g;Ok@g m@(   R   R   R;  R
   R   R   R=  R   R7   R}   R   R   (   RD  R   R   R   t   fcerrR   t   conf_int_rest   fc_rest	   fcerr_rest	   predictedt   predicted_res(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_diff2*  s8    !			c       j   C   s  d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di gj }  dj dk dk dk dj dl dm dl dl dn dn dl dl do dp do dp dn do dp do dp dn dl dn dl dl dl dk dk dj dq dk dr ds dt du du dv dw dx dy dz d{ d| d} d~ d~ d d d d d d d d d d d} d~ d~ d~ d~ d d} d d| d| d d| d d| d| d| d d d d dz d d d d d d dy dy dy d d d d d d d dx d d d d d d d d d d gj } t  j |  d } t |  d d | } | j d t d d d d d d  } t | j d d  | j d t |   d t |   d d | d d d  } t  j d d d d d d d d d d d g  } t	 | | d d | j
 d d d t  j d   t j t   | j
 d d  Wd  QXt j t  $ | j
 d d d t  j d   Wd  QXt j t  $ | j
 d d d t  j d   Wd  QXd  S(   Ngڬ\mŞ?g?ghn?gPC?g"AL?gh:;?gvi?g-	PS֚?gZd;?gkw#?gB?gi5$?gW}W?gϠ?gAJi?gƧ Ϡ?goB!?gS\U]?gvlu?gK?g+MJA?g7A`Т?gʾ+?g'fʉ?gZ ͨ?g[Ɏ@?gfc]F?g#bJ$ѫ?gkC8?g(rw?gq>??g4Op?gF(?g?gϞ?g{?gW`Vϩ?g4Op?gכ?g*p?gW?g"u?g#bJ$?g5?gVF?g|
?gS gР?g	?gF_Ah?g 	?gj>"D?g7̒?g1ZG?g|y?g&jjZ?g
ϛ?g?gvÖ?gC6?g??g o_Ι?g4Ry?g"u?gbX9Ȗ?gUj@+?geI)?g9m4?g46<?g9 ?g8̒ ?gy?g`"?gb=y?g$~?g"?g*t^c?g	/
?g>x?gʘ?gm?g|y?g'UHI?g ?g|?5^?gzpwn?gt//>?gE_A?g}bٝ?gn\?g-[닄?g)\(?g,g~?g
ҌEә?gZ ͘?g~7?ggs?gp $?gO}:?g0Bx?g؞Y?g6
r?gRZ?g]3f?gB	ܚ?gڧ1?g@g      @g@g333333@gffffff@g      @g@gffffff@g@gffffff@g333333@gffffff@g      @g333333@g333333@g333333@g @gffffff!@g      "@g"@g      #@g333333#@g#@g      $@g#@gffffff#@g333333"@g!@g333333!@g      !@gffffff @g333333 @g@g@g      @g@g      @g@gffffff@g333333@id   i   RB  t   transparamst   pgtolg:0yE>t   iprinti    R-   t   warnflagR   R    i
   iR   R   gnkf?gU6ŗ?g|X?gF{AA?gЀ8x?gcAJ?gRY^lQ?g=?g !6?gQ
_2?gv`0?t   atolgh㈵>R  i   (   i   i   i   (   i
   i   (   R1   R   R   R7   R  R   t   mle_retvalsR   R   R   R}   t   emptyRx   Rv  R  (   t   eft   ueR  R   t   predictst   predicts_res(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima111_predict_exog_2127N  s`    $%%c    )      C   sp  t    j }  t j d d t |   d d } t d d d d d d  } | |  _ |  } t j | d	  | d
 <t j | d  | d <t j | d  | d <t d d d d d d  } | d } | j	 |  j | k  } | d d g } t
 | d
 dx d | d d g } t j   0 t j d  | j d d d d d d  }	 Wd  QX|	 j d d d d d | j d  j }
 |	 j d d d d d | d d t  } t
 t j | d
  dy d t j | d d g  } | j d |	 j d d d d d d  } | d d g } | j d d d d d | j d  } | j d d d d d | d d t  } d } d  } | t j | d d g j    } d | d <t
 d t j | d
  dz d | } d! d" d# d$ d% g } | j d | d d d d d d  } | | d d g j   } | j d d d d d | j d  | j d d& d d d | j d d' d(  } | j d d d d d | j d d' d( d t  } t j d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 g  } t j d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF g  } t j d8 d9 d: d; d< d= dG dH dI dJ dK dL dM dN dO g  } t j d) d* d+ d, d- d. dP dQ dR dS dT dU dV dW dX g  } t s~t rdY n dZ } t | | t |  d[ | d\ | t |
 | t |  d[ | d\ | t | | t |  d[ | d\ | t | | t |  d[ | d\ | t | | | t |  d[ | d\ | t | | | t |  d[ | d\ | t j d] d^ d_ d` da db dc dd de df dg dh di dj dk g  } t j d] d^ d_ d` da db dl dm dn do dp dh di dj dk g  } t
 t j | d
  d{ d t j | d d g  }  t j |	 j d d dq dr g d g f  }! |  j d |! d d d d d d  }" |" j d d d d d | j d  }# |" j ds t | j d  d | j d  }$ |$ d }$ t |# | t |#  d[ | d\ | dt t |$ | t |$  d[ | d\ | dt |" j d d d d d | j d d t  }% t |% | t |%  d[ | d\ | dt |" j d d d du d t  }& |" j d d d du d | j d du !d t  }' t |& |' d[ dv t | j d  }( t j t   |" j ds |(  Wd  QXt j t  * |" j ds |( d t j |( dw f   Wd  QXt j t  $ |" j ds |( d t j dw   Wd  QXd  S(|   NRg  Rh  R"   R#   R   R,  R    R   RL  t   loginvRj  t   loggdpR@  t   logconst   2008Q2R/  i    i   RB  R   R-   Rk  t   bfgsRm  i  i   i   i   R   R/   id   i  gĊSg=ˉ,?g}Կg^`w6?gi   R   R   g?G@gȬ@gS@g3 @g<O{@gDiM@g#e@g6$d@g3:9ș@gTx@ggΫ@g
}u@gƽ`@gP@g@gRux@ge@g,@g1+@g{U^@g}.@gi&>@g)l@g!z@gpI@gSЃ@g![;@go@gNv@g@gZ5@g$.v@g\9@g	@g$@g&@gJZ@gWM@gT}@gr@gTa_@ge	@g'V@g]@g^@g䚀b`@gb\@gw9c@gMbP?g-C6?t   rtolR  gj/@goDH@gox~@gyM鋵@gw_ir@g QE*o@gR*=@g@g+\@g"@g8F@gUe}@gN&@g!%@g8>}.@gCx8@g`@gT( @g_ȩ@gk@i   i   R  g      Y@ix   g|=i   (   i   i    i   (   i   i    i   (   i   i   i   (   i    i    i   (   R   R   R;  R
   R   R   R=  R1   RM  t   locR   R   R   R   R7   R   R   R   t   asarrayR9   Rr  R   R   R   R   t   concatenateR}   Rx   Rv  R  R  ()   RD  R   R   R   t   forecast_periodR    t   data_samplet	   exog_fullR   R   t   predicted_arma_fpt   predicted_arma_dpt   mod2RF   t   predicted_arma_ft   predicted_arma_dt   endog_scalet   ex_scalet   ext   mod111t   svt   res111t   exog_full_dt   predicted_arima_ft   predicted_arima_dt   res_f101t   res_f111t   res_d111t   res_d101t   tolt   res_f002t   res_d002t   mod_002R/   t   res_002t   fpredict_002t   forecast_002t   dpredict_002t
   predict_3at
   predict_3bt   h(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_exog_predict  s    !	
$#
	$#	

+
+c          C   s  d d d d d g }  t  |  d  } t j t d	 d
 0 | j d d d t j |   d d d g  Wd  QXt | j d d d d g  d  | _
 t j t d	 d
 2 | j d d d t j |   d d d g  } Wd  QXt | j d d d d g  | j   t  |  d  } | j d d d t j |   g  t | j d g  d  | _
 | j d d d t j |   g  } t | j d g  | j   d  S(   Ng0pgVg-ig~gZ/gi   i    i   RT  s   no bse or covR-   R/   g?R:  s   ar.L1.ys   ma.L1.ys   ma.L2.y(   i   i    i   (   i    i    i    (   R   Rx   RV  R   R7   R1   R  R   R^  R  RB  Rq   (   RZ  R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_fit_multiple_calls&	  s"    1	3
"	$c          C   s  t  j j d  t  j d d d g  }  t  j d d d g  } d } t  j j d  t |  | |  } t | d d } | j d
 d d d d d  d  | _ | j d
 d d d d d  d  | _ | j d
 d d d d d  t	 t
 | j d | d d d d  S(   Ni90  i   g      g      ?g?gffffff?i   R.   i   R   R   R   i
   R-   i    s   css-mleR  i   (   i   i   (   R1   R2   R3   R   R   R   R7   R  RB  R   R  (   R  R  R  RZ  R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_long_ar_start_paramsD	  s    		c          C   s	  t  j j d  t j d d g d d g d  j d d d	 d
  }  t |  d  } t j t j	 |   } | j
 d d d d d d  } | j
 d d d d d d  } t | j | j  t | j | j  t | j | j  t | j | j  t | j | j  d  S(   NiU i   g      g      ?g?i(   R)   i   R*   i  R+   R   R-   iRk  t   newton(   i   i   (   R1   R2   R3   R4   R5   R6   R   R   t   loadst   dumpsR7   R   R9   R_   R   Rb   Re   Rh   (   R<   R   t   pkl_modR   t   pkl_res(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arma_pickleZ	  s    *	c          C   s   t  d  d   d f }  t |  d	  } t j t j |   } | j d d d d d d  } | j d d d d d d  } t | j | j  t | j | j  t	 | j
 | j
  t	 | j | j  t	 | j | j  d  S(
   Ni   i   R+   R   R-   iRk  R  (   i   i   i   (   R   R   R   R  R  R7   R   R9   R_   R   Rb   Re   Rh   (   R   R   R  R   R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_picklek	  s    c          C   s/   d }  d d d g } t  t t j |  |  d  S(   Ns    WUE ~ 1 + SFO3 g0pgVg-i(   R   t   NotImplementedErrorR   t   from_formula(   t   formulaR   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_not_implementedz	  s    c          C   s  t  j j d  t  j j d d d d }  |  j t  j  } t |   j d  } t |  j d  } t | j	 | j	 d d t | j
 | j
 d d t |  d	 d j d d  } t | d	 d j d d  } t | j	 | j	 d d t | j
 | j
 d d t |  j   d	 d j d d  } t | j   d	 d j d d  } t | j	 | j	 d d d d t | j
 | j
 d d d d d  S(   NiS i    i   R  id   i   R  gh㈵>R.   i   i   R-   R  gư>(   i   i   (   i   i   (   i   i   i   (   i   i   i   (   R1   R2   R3   t   randintt   astypet   float64R   R7   R   R9   RV   R   R   R  (   RZ  t   yfR   t   resf(    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_endog_int	  s    $$c         C   s   t  j j d d  } t j t   t | d d Wd  QXt  j j d d d  } t j t   t | d d Wd  QXt  j j d d d  } t j t   t | d d Wd  QXd  S(   Ni  i   R.   i   (   i   i   (   i   i   (   i   i   (   R1   R2   R  Rx   Rv  R  R   (   t   reset_randomstateRZ  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_multidim_endog	  s    c          C   s\   t  d  d   d f }  t |  d	  } | j d d d d d t  } | j d  k sX t  d  S(
   Ni   i   i    R+   R   R-   it   full_output(   i   i    i   (   R   R   R7   R  R  R  R   (   R   R   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_no_full_output	  s    c      	   C   s   t  j t j j d  d d } t  j t j j d d  d d d g } t d | j d	 | d
 d  j d d  } | j	   j
   } d | k s t  d | k s t  d | k s t  d  S(   Ni  t   namet   y_traini   RR  R  R  R   RB  R.   i    i   R-   is   const s   x1 s   x2 (   i    i   i    (   R;  R{  R1   R2   R  RU  R   R   R7   Rq   t   as_textR   (   R  R  t   x_trainR   R   (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_arima_summary_no_lags	  s    !*c          C   s   t  j d d d d d g  }  t  j d d d d d g  } t d | d d d |   } t j t d d  | j d d  Wd  QXd  S(   Ng      ?g'y3Mg@_k?g[}s?g66;r?gsbcR   R.   i   i    RB  RT  s   x contains a constantR+   R   (   i   i   i    (   R1   R   R   Rx   Rv  R  R7   (   RB  R   R  (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   test_constant_column_trend	  s
    (   t   statsmodels.compat.pythonR    R   R   t   statsmodels.compat.platformR   R   t   osR   t   numpyR1   t   numpy.testingR   R   R   R   R[  R;  R	   R
   R   Rx   t   statsmodels.datasets.macrodataR   R   t   statsmodels.sandbox.tsa.fftarmat   sandboxR|  t   fftarmaR4   t   statsmodels.tools.testingR   R  R   R   t   statsmodels.tsa.arma_mleR   t   statsmodels.tsa.arima_modelR   R   R   t#   statsmodels.regression.linear_modelR   t   statsmodels.tsa.tests.resultsR   R   t   statsmodels.tsa.arima_processR   Rv   R   Rw   R   t   patht   dirnamet   abspatht   __file__R   t   joint
   ydata_pathR   t   fdR   R   R   R   R
  R   R  RC   t   objectRD   R{   R   R   R   R   Ry   t   slowR   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+  R4  R5  R6  R8  R9  R?  Rz   RE  RK  RQ  RX  Rb  Re  Rf  Ru  Rw  R  R  R  R  R  R  R  R  t
   matplotlibR  R  R  R  R   R  R  R  R  R  R  R  R  R  (    (    (    s?   lib/python2.7/site-packages/statsmodels/tsa/tests/test_arima.pyt   <module>   s   "'	%Y

"
	
		C		5	 		'					G						
			1	:	.				,	N			$	;										