U
    ÃmœdE  ã                   @   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   úb/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/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�r–dd	ddddddg}	nf|dk�rÊdd	ddddddddddddddddg}	n2|dk�ròd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?)ÚrtolTgñhãˆµøä>r   gü©ñÒMbP?é   gVçž¯Ò<)r   Zatolé   gü©ñÒMb@?é   é   é   é   é   é   é	   é
   é   é   é   é   é   é   gš™™™™™©?r
   )r   Zeffect_groupgñhãˆµøô>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__ÚosÚ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   Úfitr   Z
results_raZresults_ipwZresults_aipwZresults_aipw_wlsZresults_ipwrar=   r   r   r   r   r   Ú<module>   s,   
û	