
    'YHhE                        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$                  j'                  ej$                  j)                  e            Zd	Zej$                  j1                  ed
e      Z ej4                  e      ZdZ ej:                  ee      j=                         Zdej@                  fdejB                  fdejD                  fdejF                  fdejH                  fgZ% G d d      Z&y)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raipwaipwaipw_wlsipw_rac                   f    e Zd Zed        Zd Zej                  j                  de	      d        Z
y)TestTEffectsc                     d}t        j                  |t              }t        j                  t        d         }t        ||t              | _        y )Nz0bweight ~ prenatal1_ + mmarried_ + mage + fbaby_mbsmoke_)results_select)r   from_formuladta_catnpasarrayr   
res_probitteff)clsformula_outcomemodtinds       b/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/treatment/tests/test_teffects.pysetup_classzTestTEffects.setup_class,   s<    L8zz'*-."3ZH    c                 N    t         j                         }|j                  dk(  sJ y )N)i"  )r   predictshape)selfprobs     r   test_auxzTestTEffects.test_aux3   s"    !!#zzW$$$r    casec                 L   |\  }}| j                   } t        ||      d      }t        |d d |j                  d ddf   d        t        ||      d      }t        ||j                  d       |j
                  }t        |j                  |j                  d       t        |j                  d d |j                  d ddf   d       t        |j                  d d |j                  d dd	f   d
       t        |j                  d d |j                  d ddf   d
       t        |j                  d d |j                  d ddf   dd       |j                         }t        |d ddf   |j                  d ddf   d       t        |d dd	f   |j                  d ddf   d       t        |j                        }|dk(  rg d}	n)|dk(  rg d}	n|dk(  rg d}	nt        j                  |      }	t        |j                  |j                  |	df   d       t        |j                  |j                  |	d	f   d       |j                  d      s|j                   }
 t        ||      dd	      }t        |d d |
d ddf   d        t        ||      dd	      }t        ||j                  d       |j
                  }t        |j                  |j                  d       t        |j                  d d |
d ddf   d       t        |j                  d d |
d dd	f   d
       t        |j                  d d |
d ddf   d
       t        |j                  d d |
d ddf   dd       |j                         }t        |d ddf   |
d ddf   d       t        |d dd	f   |
d ddf   d        t        ||      dd      } t        ||      dd      }t        ||j                  d       t        |j                  |j
                  j                  d       y y )NF)return_results   r   g-C6?)rtolTgh㈵>r   gMbP?   gV瞯<)r+   atol   gMb@?      )r   r      r*   r,   r.   r/         )r   r   r2   r*   r,   r.   r/      r1   r0   	   
                     r8   )r   r   r2   r*   r,   r.   r/   r4   r1   r0   r5   r6   g?r   )r)   effect_groupgh㈵>g-C6
?g-q=)r   getattrr   tableeffectresults_gmmstart_paramsparamsbsetvaluespvaluesconf_intlenr   arange
startswithtable_t)r$   r'   methres2r   res1res0cik_pidxr?   s              r   test_effectszTestTEffects.test_effects7   s   
dyy"wtT"%8Ra$**RaRU"3$? #wtT"$7dkk5))4;;TBBQBQBE):F!djj!Q&7dCRa($**RaRU*;$GRa($**RaRU*;!	/]]_2A2q5	4::bqb!e#44@2A2q5	4::bqb!e#44@ $++!8*CBYCBY8C))C.C 	TZZQ%7dC$**S!V"44@ v&LLE&74&e!LDD!HeBQBEl>&74&dKDD$++D9##DD--t{{FDKKOU2A2q5\EDHHRaL%A,TBDLL!,eBQBElFDLL!,eBQBEl!%E3BBrr1uIuRaRU|$?Brr1uIuRaRU|$? '74&e!LD&74&dKDD$++E:D--t/?/?/F/F!&(3 'r    N)__name__
__module____qualname__classmethodr   r&   pytestmarkparametrizemethodsrS    r    r   r   r   *   sB    I I% [[VW-D( .D(r    r   )'__doc__osnumpyr   numpy.testingr   pandaspdrX   #statsmodels.regression.linear_modelr   #statsmodels.discrete.discrete_modelr   'statsmodels.treatment.treatment_effectsr   r	   r   res_stpathabspathdirname__file__cur_dir	file_namejoin	file_pathread_csvr   formular   fitr   
results_raresults_ipwresults_aipwresults_aipw_wlsresults_ipwrar[   r   r\   r    r   <module>rw      s    
  )   3 6 0 ''//"''//(3
4	GGLL)Y7	
"++i
 
? V  '2668
 
6
FV  !(()v##$R( R(r    