
    'YHhl
                     L    d dl Zd dlmZ d dlZd dlmZ d dlmZ  G d d      Z	y)    N)assert_allclose)WLS)_MinimalWLSc                       e Zd Zed        Zej                  j                  dddg      d        Zej                  j                  de	j                  e	j                  g      d        Zy)	TestMinimalWLSc                 T   t         j                  j                  d      }|j                  dd      | _        | j                  j                  d      |j                  d      z   | _        dt        j                  t        j                  d      dz  t         j                  z        z   | _
        |j                  dd      | _        d	| j                  j                         z  |j                  d      z   | _        dt        j                  t        j                  dd
            z   | _        y )Ni           g      ?g      i@g      Y@2   g333333?g     I@)nprandomRandomStaterandnexog1sumendog1sinarangepiweights1exog2ravelendog2logweights2)clsrss     `/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/regression/tests/test_tools.pysetup_classzTestMinimalWLS.setup_class
   s    YY""4(HHS!$	YY]]1%5
RVVBIIe$4u$<ruu$DEEHHRO	399??,,rxx|;
RVVBIIc4$899    checkTFc                 X   t        | j                  | j                        j                         }t	        | j                  | j                  ||      j                         }t        |j                  |j                         t        |j                  |j                         t        | j                  | j                        j                         }t	        | j                  | j                  ||      j                         }t        |j                  |j                         t        |j                  |j                         t        | j                  | j                  | j                        j                         }t	        | j                  | j                  | j                  ||      j                         }t        |j                  |j                         t        |j                  |j                         t        | j                  | j                  | j                        j                         }t	        | j                  | j                  | j                  ||      j                         }t        |j                  |j                         t        |j                  |j                         y )Ncheck_endogcheck_weights)weights)r'   r%   r&   )r   r   r   fitr   r   paramsresidr   r   r   r   )selfr"   resminress       r   test_equivalence_with_wlsz(TestMinimalWLS.test_equivalence_with_wls   s   $++tzz*..0T[[$**).eEEHSU 	

FMM2		6<<0$++tzz*..0T[[$**).eEEHSU 	

FMM2		6<<0$++tzz4==AEEGT[[$**dmm).eEEHSU 	

FMM2		6<<0$++tzz4==AEEGT[[$**dmm).eEEHSU 	

FMM2		6<<0r!   	bad_valuec                    t        j                  t        d      5  | j                  j	                         }||d<   t        || j                  | j                  dd      j                          d d d        t        j                  t        d      5  | j                  j	                         }||d<   t        | j                  | j                  |dd      j                          d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nz(detected in endog, estimation infeasible)matchr   Tr$   z*detected in weights, estimation infeasible)	pytestraises
ValueErrorr   copyr   r   r   r(   )r+   r/   endogr'   s       r   test_inf_nanzTestMinimalWLS.test_inf_nan.   s    ]]AC 	D KK$$&E E!Htzz4==$(>>Ace	D ]]CE 	D mm((*G#GBKTZZ$(>>Ace	D 	D	D 	D	D 	Ds   AC,AC8,C58DN)__name__
__module____qualname__classmethodr    r3   markparametrizer.   r   naninfr8    r!   r   r   r   	   sq    : : [[WtUm41 512 [[[266266*:;D <Dr!   r   )
numpyr   numpy.testingr   r3   #statsmodels.regression.linear_modelr   statsmodels.regression._toolsr   r   rA   r!   r   <module>rF      s      )  3 55D 5Dr!   