
    M/Ph                        d Z ddl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                            ej                            e                    Zej                                        j        Z ej                    d             Zd Zej                            dd	          d
             Zd Zd Zd Zd Zd Z d Z!d Z"d Z#dS )z?
Tests of save / load / remove_data state space functionality.
    N)datasets)sarimax
structuralvarmaxdynamic_factor)assert_allclosec               #      K   t          j                    \  } }|V  	 t          j        |            t          j        |           d S # t
          $ r' t          d                    |                     Y d S w xY w)Nz)Couldn't close or delete file {filename}.)filename)tempfilemkstemposcloseunlink	Exceptionprintformat)fdr
   s     j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/tsa/statespace/tests/test_save.pytemp_filenamer      s      #%%LB
NNN7

	( 7 7 7 "FHF55	7 	7 	7 	7 	7 	77s   (A -A98A9c                    t          j        t          d         j        d          }|                    |j                  }|                                 |                    |            t           j        	                    |           }t          |j        |j                   t          |j        |j                   t          |j        |j                   d S Nrealgdp      r   orderr   SARIMAX	macrodatavaluessmoothstart_paramssummarysaveSARIMAXResultsloadr   paramsbsellfr   modresres2s       r   test_sarimaxr/      s    
/)I.5Y
G
G
GC
**S%
&
&CKKMMMHH]!&&}55DCJ,,,CGTX&&&CGTX&&&&&    r   )r   )r   r   r   )r      r   c                    t          j        t          d         j        |          }|                    |j                  }|                                 |                    | d           t           j        	                    |           }t          |j        |j                   t          |j        |j                   t          |j        |j                   d S )Nr   r   T)remove_datar   )r   r   r,   r-   r.   s        r   test_sarimax_save_remove_datar4   +   s    
/)I.5U
C
C
CC
**S%
&
&CKKMMMHH]H---!&&}55DCJ,,,CGTX&&&CGTX&&&&&r0   c                     t          j        t          d         j        d          } t	          j        t	          j        |                     }|                     | j                  }|                    | j                  }t          |j
        |j
                   t          |j        |j                   t          |j        |j                   d S r   )r   r   r    r!   pickleloadsdumpsr"   r#   r   r(   r)   r*   r,   pkl_modr-   pkl_ress       r   test_sarimax_pickler<   7   s    
/)I.5Y
G
G
GCl6<,,--G
**S%
&
&CnnS-..GCJ///CGW[)))CGW[)))))r0   c                    t          j        t          d         j        d          }|                    |j                  }|                                 |                    |            t           j        	                    |           }t          |j        |j                   t          |j        |j                   t          |j        |j                   d S Nr   llevel)r   UnobservedComponentsr    r!   r"   r#   r$   r%   UnobservedComponentsResultsr'   r   r(   r)   r*   r+   s       r   test_structuralrB   C   s    

))#X/ /C
**S%
&
&CKKMMMHH]166}EEDCJ,,,CGTX&&&CGTX&&&&&r0   c                     t          j        t          d         j        d          } t	          j        t	          j        |                     }|                     | j                  }|                    |j                  }t          |j
        |j
                   t          |j        |j                   t          |j        |j                   d S r>   )r   r@   r    r!   r6   r7   r8   r"   r#   r   r(   r)   r*   r9   s       r   test_structural_picklerD   O   s    

))#X/ /Cl6<,,--G
**S%
&
&CnnW122GCJ///CGW[)))CGW[)))))r0   c                    t          j        t          ddg                                         j        dd          j        dd          }|                    |j                  }|                                 |	                    |            t           j
                            |           }t          |j        |j                   t          |j        |j                   t          |j        |j                   d S )Nr   realconsr   )	k_factorsfactor_order)r   DynamicFactorr    diffilocr!   r"   r#   r$   r%   DynamicFactorResultsr'   r   r(   r)   r*   r+   s       r   test_dynamic_factorrM   \   s    

&9j)*//116qrr:AQ  C **S%
&
&CKKMMMHH].33MBBDCJ,,,CGTX&&&CGTX&&&&&r0   c                    t          j        t          ddg                                         j        dd          j        d          }t          j        t          j        |                    }|	                    |j
                  }|	                    |j
                  }t          |j        |j                   t          |j        |j                   t          |j        |j                   |                                 |                    |            t           j                            |           }t          |j        |j                   t          |j        |j                   t          |j        |j                   d S Nr   rF   r   )r   r   r   )r   VARMAXr    rJ   rK   r!   r6   r7   r8   r"   r#   r   r(   r)   r*   r$   r%   VARMAXResultsr'   )r   r,   r:   r-   r;   r.   s         r   test_dynamic_factor_picklerR   i   s9   
-9j)*//116qrr:A  C l6<,,--G
**S%
&
&CnnS-..GCJ///CGW[)))CGW[)))KKMMMHH]$$]33DCJ,,,CGTX&&&CGTX&&&&&r0   c                    t          j        t          ddg                                         j        dd          j        d          }|                    |j                  }|                                 |	                    |            t           j
                            |           }t          |j        |j                   t          |j        |j                   t          |j        |j                   d S rO   r   rP   r    rJ   rK   r!   r"   r#   r$   r%   rQ   r'   r   r(   r)   r*   r+   s       r   test_varmaxrU   ~   s    
-9j)*//116qrr:A  C **S%
&
&CKKMMMHH]$$]33DCJ,,,CGTX&&&CGTX&&&&&r0   c                    t          j        t          ddg                                         j        dd          j        d          }|                    |j                  }|                                 |	                    |            t           j
                            |           }t          |j        |j                   t          |j        |j                   t          |j        |j                   d S rO   rT   r+   s       r   test_varmax_picklerW      s    
-9j)*//116qrr:A  C **S%
&
&CKKMMMHH]$$]33DCJ,,,CGTX&&&CGTX&&&&&r0   c                      t           j                            t          dd          } t          j                            |           }t          |t          j                  sJ d S )Nresultszsm-0.9-sarimax.pkl)	r   pathjoincurrent_pathr   r&   r'   
isinstanceSARIMAXResultsWrapper)pkl_fileloadeds     r   test_existing_picklera      sO    w||L)5IJJH#((22Ffg;<<<<<<<r0   )$__doc__r6   r   r   pyteststatsmodelsr   statsmodels.tsa.statespacer   r   r   r   numpy.testingr   rZ   dirnameabspath__file__r\   r    load_pandasdatafixturer   r/   markparametrizer4   r<   rB   rD   rM   rR   rU   rW   ra    r0   r   <module>rp      s     				              8 8 8 8 8 8 8 8 8 8 8 8 ) ) ) ) ) )wrwx8899**,,1	 7 7 7' ' ' "CDD' ' ED'	* 	* 	*	' 	' 	'
* 
* 
*
' 
' 
'' ' '*
' 
' 
'' ' '= = = = =r0   