U
    KvfE                     @   s   d Z ddlZddlZddlmZ ddlZddlZddl	m
Z
 ddlmZ ddlmZ ddlmZ ejejeZd	Zejed
eZeeZdZeee Zdej fdej!fdej"fdej#fdej$fgZ%G dd dZ&dS )zJ
Created on Feb 3, 2022 1:04:22 PM

Author: Josef Perktold
License: BSD-3
    N)assert_allclose)OLS)Probit)TreatmentEffect   )results_teffectszcataneo2.csvresultsz3mbsmoke_ ~ mmarried_ + mage + mage2 + fbaby_ + meduraZipwaipwZaipw_wlsZipw_rac                   @   s6   e Zd Zedd Zdd Zejde	dd Z
dS )	TestTEffectsc                 C   s2   d}t |t}ttd }t||td| _d S )Nz0bweight ~ prenatal1_ + mmarried_ + mage + fbaby_Zmbsmoke_)Zresults_select)r   from_formuladta_catnpZasarrayr   
res_probitteff)clsZformula_outcomemodZtind r   M/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/treatment/tests/test_teffects.pysetup_class,   s    zTestTEffects.setup_classc                 C   s   t  }|jdkstd S )N)i"  )r   ZpredictshapeAssertionError)selfZprobr   r   r   test_aux3   s    zTestTEffects.test_auxcasec                 C   s  |\}}| j }t||dd}t|d d |jd ddf dd t||dd}t||jdd |j}t|j|jdd t|jd d |jd ddf dd t|jd d |jd dd	f d
d t|j	d d |jd ddf d
d t|j
d d |jd ddf ddd | }t|d ddf |jd ddf dd t|d dd	f |jd ddf dd t|j}|dkrdd	ddddddg}	nf|dkrdd	ddddddddddddddddg}	n2|dkrdd	ddddddddddg}	n
t|}	t|j|j|	df dd t|j|j|	d	f dd |ds|j}
t||dd	d }t|d d |
d ddf dd t||dd	d }t||jd!d |j}t|j|jd"d t|jd d |
d ddf d"d t|jd d |
d dd	f d
d t|j	d d |
d ddf d
d t|j
d d |
d ddf ddd | }t|d ddf |
d ddf dd t|d dd	f |
d ddf dd t||ddd }t||ddd }t||jd#d t|j|jjd#d d S )$NF)return_results   r   g-C6?)rtolTgh㈵>r   gMbP?   gV瞯<)r   Zatol   gMb@?                  	   
                     g?r
   )r   Zeffect_groupgh㈵>g-C6
?g-q=)r   getattrr   tableZeffectZresults_gmmZstart_paramsparamsZbseZtvaluesZpvaluesZconf_intlenr   Zarange
startswithZtable_t)r   r   methZres2r   Zres1Zres0ciZk_pidxr/   r   r   r   test_effects7   sn    $&&& ((


  

"$$$ &&zTestTEffects.test_effectsN)__name__
__module____qualname__classmethodr   r   pytestmarkZparametrizemethodsr6   r   r   r   r   r   *   s
   
r   )'__doc__osZnumpyr   Znumpy.testingr   Zpandaspdr;   Z#statsmodels.regression.linear_modelr   Z#statsmodels.discrete.discrete_modelr   Z'statsmodels.treatment.treatment_effectsr   r   r   Zres_stpathabspathdirname__file__Zcur_dir	file_namejoin	file_pathZread_csvr   Zformular   Zfitr   Z
results_raZresults_ipwZresults_aipwZresults_aipw_wlsZresults_ipwrar=   r   r   r   r   r   <module>   s,   
	