
    M/Ph                     f   d Z ddlZddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmc mc mc mZ ddlmZ  e            Z ej        ej                  e_         ej        ej                  e_         ej        ej        dddf                   ej        dddf<    eej        d	          Zej        d
z
  Ze ej        e                    d          d          z  Z G d d          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )z=
Created on Thu Aug  3 21:08:49 2017

Author: Josef Perktold
    N)assert_allclose)load)NegativeBinomialNegativeBinomialPPoisson)add_constant   F)prepend   c                       e Zd ZdZd ZdS )CheckMarginMixinr   c                    | j         }| j        }| j        }t          | j        j        | j         j        |         d|z             t          | j        j        | j         j        |         d|z             t          | j        j        | j         j        |         d|z             t          | j        	                                |j
        |ddf         d|z             d S )Ngh㈵>)rtolgư>gh㈵>      )res1
res1_slicertol_facr   margeffparams
margeff_sebsepvaluesconf_intmargins_table)selfr   slrfs       g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/discrete/tests/test_margins.pytest_margins_tablez#CheckMarginMixin.test_margins_table   s    y_],di.>r.BPRSSSS/r1BPRSSSS,di.?.C$QS)TTTT--//1CB!G1L!BY	( 	( 	( 	( 	( 	(    N)__name__
__module____qualname__r   r     r!   r   r   r      s(        H( ( ( ( (r!   r   c                   $    e Zd Zed             ZdS )TestPoissonMarginc                    g d}t          t          t                    }|                    |          }|                                }|| _        || _        d| _        t          d d d           | _	        t          j        | _        d S )Ngm4W,@gy&1?g3ı.ngsh|?gۊe	@g37ggj+6start_paramsr   )r   endogexogfitget_margeffresr   r   slicer   	res_stataresults_poisson_margins_contr   clsr+   mod_poires_poi	marge_pois        r   setup_classzTestPoissonMargin.setup_class,   s|    ! ! !%&&++<+88''))	tT4009r!   Nr"   r#   r$   classmethodr9   r%   r!   r   r'   r'   *   s-        : : [: : :r!   r'   c                   $    e Zd Zed             ZdS )TestPoissonMarginDummyc                     g d}t          t          t                    }|                    |          }|                    d          }|| _        || _        g d| _        t          j	        | _
        d S )Nr)   r*   Tdummyr   r      r	      r   )r   r,   r-   r.   r/   r0   r   r   r2   results_poisson_margins_dummyr   r4   s        r   r9   z"TestPoissonMarginDummy.setup_class?   st    ! ! !%&&++<+88''d'33	+++:r!   Nr:   r%   r!   r   r=   r=   =   s-        ; ; [; ; ;r!   r=   c                   $    e Zd Zed             ZdS )TestNegBinMarginc                    g d}t          t          t                    }|                    |dd          }|                                }|| _        || _        t          d d d           | _        t          j
        | _        d| _        d S Ng.1f*@g_v?gClgg镲gׁsF@gxz,C!g
ףp=
g=
ףp=?nm  r+   methodmaxiter      I@)r   r,   r-   r.   r/   r0   r   r1   r   r2   results_negbin_margins_contr   r   r5   r+   modr0   marges        r   r9   zTestNegBinMargin.setup_classP   s~    % % %ud++gg<dgKK!!tT4008r!   Nr:   r%   r!   r   rF   rF   N   -          [  r!   rF   c                   $    e Zd Zed             ZdS )TestNegBinMarginDummyc                 
   g d}t          t          t                    }|                    |dd          }|                    d          }|| _        || _        g dx| _        | _        t          j	        | _
        d| _        d S )	NrI   rJ   rK   rL   Tr?   rA   rO   )r   r,   r-   r.   r/   r0   r   r   r2   results_negbin_margins_dummyr   r   rQ   s        r   r9   z!TestNegBinMarginDummy.setup_classc   s    % % %ud++gg<dgKKd++*<*<*<<9r!   Nr:   r%   r!   r   rV   rV   a   rT   r!   rV   c                   $    e Zd Zed             ZdS )TestNegBinPMarginc                    g d}t          t          t                    }|                    |dd          }|                                }|| _        || _        t          d d d           | _        t          j
        | _        d| _        d S rH   )r   r,   r-   r.   r/   r0   r   r1   r   r2   rP   r   r   rQ   s        r   r9   zTestNegBinPMargin.setup_classv   s~    % % %t,,gg<dgKK!!tT4008r!   Nr:   r%   r!   r   rZ   rZ   s   s/           [  r!   rZ   ) __doc__numpynpnumpy.testingr   statsmodels.datasets.cpunishr   #statsmodels.discrete.discrete_modelr   r   r   8statsmodels.discrete.tests.results.results_count_marginsdiscretetestsresultsresults_count_marginsr2   statsmodels.tools.toolsr   cpunish_dataasarrayr-   r,   logroundmaxr   r'   r=   rF   rV   rZ   r%   r!   r   <module>rm      sp        ) ) ) ) ) ) . - - - - -         
 M L L L L L L L L L L L L L L 0 0 0 0 0 0tvvBJ|011 RZ 233  1!!!A# 677 !!!A# |L%u555Q !a    ( ( ( ( ( ( ( (: : : : :( : : :&; ; ; ; ;- ; ; ;"    '   &    ,   $    (     r!   