ó
áp7]c           @` s  d  Z  d d l m Z m Z m Z d d l m Z d d l Z d d l Z d d l	 Z	 d d l
 m Z d d l m Z m Z m Z m Z d d l m Z e j j ƒ  j Z e	 j ƒ  d „  ƒ Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   s?   
Tests of save / load / remove_data state space functionality.
i    (   t   divisiont   absolute_importt   print_function(   t   cPickleN(   t   datasets(   t   sarimaxt
   structuralt   varmaxt   dynamic_factor(   t   assert_allclosec          c` sc   t  j ƒ  \ }  } | Vy t j |  ƒ t j | ƒ Wn' t k
 r^ t d j d | ƒ ƒ n Xd  S(   Ns)   Couldn't close or delete file {filename}.t   filename(   t   tempfilet   mkstempt   ost   closet   unlinkt	   Exceptiont   printt   format(   t   fdR
   (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   temp_filename   s    c         C` s”   t  j t d j d d ƒ} | j | j ƒ } | j ƒ  | j |  ƒ t  j j	 |  ƒ } t
 | j | j ƒ t
 | j | j ƒ t
 | j | j ƒ d  S(   Nt   realgdpt   orderi   i   i    (   i   i   i    (   R   t   SARIMAXt	   macrodatat   valuest   smootht   start_paramst   summaryt   savet   SARIMAXResultst   loadR	   t   paramst   bset   llf(   R   t   modt   rest   res2(    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_sarimax    s    
c          C` s•   t  j t d j d d ƒ}  t j t j |  ƒ ƒ } |  j |  j ƒ } | j |  j ƒ } t	 | j
 | j
 ƒ t	 | j | j ƒ t	 | j | j ƒ d  S(   NR   R   i   i   i    (   i   i   i    (   R   R   R   R   R   t   loadst   dumpsR   R   R	   R    R!   R"   (   R#   t   pkl_modR$   t   pkl_res(    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_sarimax_pickle+   s    c         C` s‘   t  j t d j d ƒ } | j | j ƒ } | j ƒ  | j |  ƒ t  j j	 |  ƒ } t
 | j | j ƒ t
 | j | j ƒ t
 | j | j ƒ d  S(   NR   t   llevel(   R   t   UnobservedComponentsR   R   R   R   R   R   t   UnobservedComponentsResultsR   R	   R    R!   R"   (   R   R#   R$   R%   (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_structural7   s    
c          C` s’   t  j t d j d ƒ }  t j t j |  ƒ ƒ } |  j |  j ƒ } | j | j ƒ } t	 | j
 | j
 ƒ t	 | j | j ƒ t	 | j | j ƒ d  S(   NR   R,   (   R   R-   R   R   R   R'   R(   R   R   R	   R    R!   R"   (   R#   R)   R$   R*   (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_structural_pickleC   s    c         C` s­   t  j t d d g j ƒ  j d j d d d d ƒ} | j | j ƒ } | j ƒ  | j	 |  ƒ t  j
 j |  ƒ } t | j | j ƒ t | j | j ƒ t | j | j ƒ d  S(   NR   t   realconsi   t	   k_factorst   factor_order(   R   t   DynamicFactorR   t   difft   ilocR   R   R   R   R   t   DynamicFactorResultsR   R	   R    R!   R"   (   R   R#   R$   R%   (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_dynamic_factorP   s    &	
c         C` s
  t  j t d d g j ƒ  j d j d d ƒ} t j t j | ƒ ƒ } | j	 | j
 ƒ } | j	 | j
 ƒ } t | j | j ƒ t | j | j ƒ t | j | j ƒ | j ƒ  | j |  ƒ t  j j |  ƒ } t | j | j ƒ t | j | j ƒ t | j | j ƒ d  S(   NR   R1   i   R   i    (   i   i    (   R   t   VARMAXR   R5   R6   R   R   R'   R(   R   R   R	   R    R!   R"   R   R   t   VARMAXResultsR   (   R   R#   R)   R$   R*   R%   (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_dynamic_factor_pickle]   s     	
c         C` s§   t  j t d d g j ƒ  j d j d d ƒ} | j | j ƒ } | j ƒ  | j	 |  ƒ t  j
 j |  ƒ } t | j | j ƒ t | j | j ƒ t | j | j ƒ d  S(   NR   R1   i   R   i    (   i   i    (   R   R9   R   R5   R6   R   R   R   R   R   R:   R   R	   R    R!   R"   (   R   R#   R$   R%   (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_varmaxr   s     	
c         C` s§   t  j t d d g j ƒ  j d j d d ƒ} | j | j ƒ } | j ƒ  | j	 |  ƒ t  j
 j |  ƒ } t | j | j ƒ t | j | j ƒ t | j | j ƒ d  S(   NR   R1   i   R   i    (   i   i    (   R   R9   R   R5   R6   R   R   R   R   R   R:   R   R	   R    R!   R"   (   R   R#   R$   R%   (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   test_varmax_pickle   s     	
(    t   __doc__t
   __future__R    R   R   t   statsmodels.compatR   R   R   t   pytestt   statsmodelsR   t   statsmodels.tsa.statespaceR   R   R   R   t   numpy.testingR	   R   t   load_pandast   datat   fixtureR   R&   R+   R/   R0   R8   R;   R<   R=   (    (    (    sI   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_save.pyt   <module>   s$   "							