
    M/Phu                     T    d dl Zd dlmZmZmZ d dlmZ d dlm	Z	  G d d          Z
dS )    N)assert_almost_equalassert_equalassert_raises)BoxCox)	macrodatac                   `    e Zd Zed             Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd ZdS )TestTransformc                     t          j                    }|j        d         j        | _        t                      | _        d S )Nrealgdp)r   load_pandasdatavaluesxr   bc)clsr   s     e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/base/tests/test_transform.pysetup_classzTestTransform.setup_class	   s0    $&&	)$+    c                     g d}t          t          | j        j        |           g d}t          t          | j        j        |           d S )N)   r   )r   r   r   )r   
ValueErrorr   transform_boxcox)selfys     r   test_nonpositivezTestTransform.test_nonpositive   sJ    JJj$'":A>>> IIj$'":A>>>>>r   c                     t          t          | j        j        | j        d           t          t          | j        j        | j        d           d S )N)      )r   r   r   r   r   _est_lambdar   r   s    r   test_invalid_boundsz!TestTransform.test_invalid_bounds   s@    j$'"5tvzJJJ 	j$'"5tvwGGGGGr   c                     t          t          | j        j        | j        dd           t          t          | j        j        | j        dd           d S )N)r   r   testr   )r   r   r   r"   r   untransform_boxcoxr#   s    r   test_unclear_methodsz"TestTransform.test_unclear_methods   sV     	j$'"5fgv	/ 	/ 	/j$'"<fa	) 	) 	) 	) 	)r   c                 \   t          t          | j        j        | j        d           | j                            | j        d           | j                            | j        d           | j                            | j        d           | j                            | j        d           d S )Nr&   scalemadMADsdSDr!   r#   s    r   test_unclear_scale_parameterz*TestTransform.test_unclear_scale_parameter'   s     	j$'"5fF	, 	, 	, 	, 	DF%000DF%000DF$///DF$/////r   c                     | j                             | j        dd          }t          |dd           | j                             | j        dd          }t          |dd           d S )Nguerrero   )methodwindow_lengthAEկt>?r   g%q?r   r"   r   r   r   lmbdas     r   test_valid_guerreroz!TestTransform.test_valid_guerrero4   sl     ##DF:Q#OOE8Q/// ##DF:Q#OOE8Q/////r   c                 j    | j                             | j        d          }t          |dd           d S )Nr,   r*   g]E?r3   r7   r8   s     r   test_guerrero_robust_scalez(TestTransform.test_guerrero_robust_scale@   s8     ##DF%#88E8Q/////r   c                 j    | j                             | j        d          }t          |dd           d S )Nloglik)r4   g?r   r7   r8   s     r   test_loglik_lambda_estimationz+TestTransform.test_loglik_lambda_estimationG   s6    ##DF8#<<E3*****r   c                 @   | j                             | j                  }| j                             | j        d          }t          |d         |d         d           | j                             t	          j        dd                    \  }}t          |dd           d S )Nr6   r   r    r   d   g      ?   )r   r   r   r   nparange)r   y_transformed_no_lambday_transformed_lambdar   r9   s        r   "test_boxcox_transformation_methodsz0TestTransform.test_boxcox_transformation_methodsL   s     #''":":46"B"B#w77II3A603Q	8 	8 	8
 7++BIa,=,=>>5E2q)))))r   c                     | j                             | j        d          \  }}t          |d           t	          |t          j        | j                  d           d S )N        rB   )r   r   r   r   r   rC   log)r   y_transform_zero_lambdar9   s      r   test_zero_lambdazTestTransform.test_zero_lambdaZ   sT    )-)A)A$&")M)M&UB3RVDF^^QGGGGGr   c                 &   | j                             | j        d          }| j                             | j        d          } | j         j        |ddi} | j         j        |ddi}t	          | j        |d           t	          | j        |d           d S )NrI   g      ?r4   naiverB   )r   r   r   r'   r   )r   y_zero_lambday_half_lambday_zero_lambda_uny_half_lambda_uns        r   test_naive_back_transformationz,TestTransform.test_naive_back_transformationa   s    00<<00<<5475} F=DF F5475} F=DF F 	DF$4a888DF$4a88888r   N)__name__
__module____qualname__classmethodr   r   r$   r(   r0   r:   r<   r?   rG   rL   rS    r   r   r	   r	      s          [
? ? ?H H H) ) )0 0 0
0 
0 
00 0 0+ + +
* * *H H H9 9 9 9 9r   r	   )numpyrC   numpy.testingr   r   r   statsmodels.base.transformr   statsmodels.datasetsr   r	   rX   r   r   <module>r]      s        L L L L L L L L L L / / / / / / * * * * * *e9 e9 e9 e9 e9 e9 e9 e9 e9 e9r   