
    !g                     R    d Z ddlZddlmZmZ ddlmZ ddlm	Z	  G d d      Z
d Zy)	zUnit tests for NonlinearDeltaCov and LikelihoodResults._get_wald_nonlinear
Created on Sun Mar 01 01:05:35 2015

Author: Josef Perktold
License: BSD-3

    N)assert_allcloseassert_equal)OLS)NonlinearDeltaCovc                   .    e Zd Zed        Zd Zd Zd Zy)TestDeltacovOLSc                    d\  }}t         j                  j                  ||      }d|d d df<   |d d d df   j                  d      t         j                  j                  |      z   }t	        ||      j                         | _        y )N)d         r   )nprandomrandnsumr   fitres)clsnobsk_varsxys        b/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/stats/tests/test_deltacov.pysetup_classzTestDeltacovOLS.setup_class   sk    fIIOOD&)!Q$a"fIMM!ryyt44a)--/    c                    | j                   }|j                  j                  fd}t        ||j                  |j                               }|j                  |      }t        |j                         |j                         d       t        |j                         |j                         d       |j                  }|j                  d|      }|j                  d|      }t        t        |      t        |             y )Nc                 6    t        j                  |       dz  S )N   r   dotparamsr   s    r   funz(TestDeltacovOLS.test_method.<locals>.fun   s    66!V$a''r   -q=rtolTuse_tdf)r   modelexogr   r"   
cov_params_get_wald_nonlinearr   se_vectorized	predicteddf_residsummaryr   str)	selfr   r#   nlnlmr)   t1t2r   s	           @r   test_methodzTestDeltacovOLS.test_method   s    hhIINN	( sCJJ0@A%%c*))+S->->-@uMuE\\ZZdrZ*[[t[+SWc"g&r   c           	      P  
 | j                   }|j                  j                  

fd}t        ||j                  |j                               }|j                         }|j                         }t        | ||j                        d       t        |t        j                  t        j                  |j                                     d       |j                  
d      }t        ||j                  d       t        ||j                  d       t        |j!                         |j!                         d       |j#                         }|j#                         }t%        t'        |      t'        |             |j                         }|j                         }|j(                  }	|j                  
d      }t        |j!                  d|	      |j!                         dd	       |j#                  d|	      }|j#                         }t%        t'        |      t'        |             y )
Nc                 0    t        j                  |       S )Nr   r!   s    r   r#   z'TestDeltacovOLS.test_ttest.<locals>.fun0   s    66!V$$r   r$   r%   F)r(   Tr'   g|=)r&   atol)r   r*   r+   r   r"   r,   r/   r.   r   r   sqrtdiagcovt_testeffectsdconf_intr1   r   r2   r0   )r3   r   r#   r4   r/   settr6   r7   r)   r   s             @r   
test_ttestzTestDeltacovOLS.test_ttest+   s   hhIINN	% sCJJ0@ALLN		3szz??BGGBGGBFFH$56UCZZZ'	29959BEE.r{{}5AZZ\ZZ\SWc"g& LLN	\\ZZZ&$26"	0ZZdrZ*ZZ\SWc"g&r   c                 B   | j                   }|j                  j                  fd}t        ||j                  |j                               }t        |j                         |j                  d   d       t        |j                         |j                  d   d       y )Nc                 v    t        j                  |       t        j                  d d dd f   | dd        z
  S )Nr   r   r!   s    r   r#   z&TestDeltacovOLS.test_diff.<locals>.funS   s4    66!V$rvva12hqr
'CCCr   r   r$   r%   )
r   r*   r+   r   r"   r,   r   r/   r.   bse)r3   r   r#   r4   r   s       @r   	test_diffzTestDeltacovOLS.test_diffO   sq    hhIINN	D sCJJ0@A

1EB((*CGGAJUCr   N)__name__
__module____qualname__classmethodr   r8   rE   rI    r   r   r   r      s%    " "'$"'H
Dr   r   c                     dd l mc mc m}  | j	                         }|j                          |j                  j                  j                   fd}t        |j                  j                               }j                  d      }t        |j                         d d |j                  d       t        |j!                         d d |j"                  d       j%                  |      }t        |j                         d d |j                  d       t        |j!                         d d |j"                  d       y )Nr   c                     j                   j                  j                  d      d d d f   }j                   j                  | |      }t	        j
                  |      S )Nr   )r*   r+   mean_derivative_exogr   squeeze)pexfvres_pois      r   fz test_deltacov_margeff.<locals>.fg   sJ    ]]$$Q'a0]]++Ar2zz"~r   rQ   )atr   gvIh%<=r%   )(statsmodels.discrete.tests.test_discretediscreteteststest_discreteTestPoissonNewtonr   res1r*   rR   r   r"   r,   get_margeffr   r.   
margeff_ser/   margeffr-   )dttcrX   nlpmargnlpmrW   s         @r   test_deltacov_margeffrh   \   s    99				BNNggGMM""

 Aw~~w/A/A/C
DC&)DC%%',dooEJCMMOCR($,,UC&&q)DD&&("-tUKDNN$Sb)4<<eDr   )__doc__numpyr   numpy.testingr   r   #statsmodels.regression.linear_modelr   statsmodels.stats._delta_methodr   r   rh   rN   r   r   <module>rn      s-     7 3 =JD JDZEr   