
    M/Ph                     Z    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dS )	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                   6    e Zd Zed             Zd Zd Zd ZdS )TestDeltacovOLSc                 2   d\  }}t           j                            ||          }d|d d df<   |d d d df                             d          t           j                            |          z   }t	          ||                                          | _        d S )N)d         r   )nprandomrandnsumr   fitres)clsnobsk_varsxys        e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_deltacov.pysetup_classzTestDeltacovOLS.setup_class   s    fIOOD&))!!!Q$aaa"fIMM!ryt444a))--//    c                 H   | j         }|j        j        fd}t          ||j        |                                          }|                    |          }t          |                                |                                d           t          |	                                |	                                d           |j
        }|                    d|          }|                    d|          }t          t          |          t          |                     d S )Nc                 4    t          j        |           dz  S )N   r   dotparamsr   s    r   funz(TestDeltacovOLS.test_method.<locals>.fun   s    6!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   hIN	( 	( 	( 	( 	( sCJ0@0@AA%%c**))++S->->-@-@uMMMMuEEEE\ZZdrZ**[[t[++SWWc"gg&&&&&r   c           	        
 | j         }|j        j        

fd}t          ||j        |                                          }|                                }|                                }t          | ||j                  d           t          |t          j
        t          j        |                                                    d           |                    
d          }t          ||j        d           t          ||j        d           t          |                                |                                d           |                                }|                                }t%          t'          |          t'          |                     |                                }|                                }|j        }	|                    
d          }t          |                    d|	          |                                dd	           |                    d|	          }|                                }t%          t'          |          t'          |                     d S )
Nc                 .    t          j        |           S )Nr   r!   s    r   r#   z'TestDeltacovOLS.test_ttest.<locals>.fun0   s    6!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   hIN	% 	% 	% 	% 	% sCJ0@0@AALLNN		33sz??????BGBGBFFHH$5$566UCCCCZZZ''	2959999BE....r{{}}5AAAAZZ\\ZZ\\SWWc"gg&&& LLNN	\ZZZ&&$266"	0 	0 	0 	0ZZdrZ**ZZ\\SWWc"gg&&&&&r   c                 D   | j         }|j        j        fd}t          ||j        |                                          }t          |                                |j        d         d           t          |                                |j	        d         d           d S )Nc                     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   s>    6!V$$rva122hqrr
'C'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   s    hIN	D 	D 	D 	D 	D sCJ0@0@AA
1EBBBB((**CGAJUCCCCCCr   N)__name__
__module____qualname__classmethodr   r8   rE   rI    r   r   r   r      s`        " " ["' ' '$"' "' "'H
D 
D 
D 
D 
Dr   r   c                     dd l mc mc m}  |                                 }|                                 |j        j        j         fd}t          |j
                                                  }                    d          }t          |                                d d         |j        d           t          |                                d d         |j        d                               |          }t          |                                d d         |j        d           t          |                                d d         |j        d           d S )Nr   c                     j         j                            d          d d d f         }j                             | |          }t	          j        |          S )Nr   )r*   r+   mean_derivative_exogr   squeeze)pexfvres_pois      r   fz test_deltacov_margeff.<locals>.fg   sM    ]$$Q''aaa0]++Ar22z"~~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   \   sm   999999999999					BNNgGM""
    
 Aw~w/A/A/C/C
D
DC&))DC%%'',doEJJJJCMMOOCRC($,UCCCC&&q))DD&&(("-tUKKKKDNN$$SbS)4<eDDDDDDr   )__doc__numpyr   numpy.testingr   r   #statsmodels.regression.linear_modelr   statsmodels.stats._delta_methodr   r   rh   rN   r   r   <module>rn      s         7 7 7 7 7 7 7 7 3 3 3 3 3 3 = = = = = =JD JD JD JD JD JD JD JDZE E E E Er   