
    M/Php                        d dl mZ d dlZd dlmZmZmZ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  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 G d d          Zej        j         G d de                      Z G d d          Z G d de          Z G d d          Z G d d          Z G d d          Z dS )    )PLATFORM_LINUX32N)assert_assert_allcloseassert_array_equalassert_equal   )RandHIE)CheckModelMixinc                   t    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zej        j        d             ZdS )CheckGenericc                 T    t          | j        j        | j        j        dd           d S Nh㈵>atolrtolr   res1paramsres2selfs    k/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/discrete/tests/test_count_model.pytest_paramszCheckGeneric.test_params   s)    	($)*:DQQQQQQ    c                 T    t          | j        j        | j        j        dd           d S r   )r   r   llfr   r   s    r   test_llfzCheckGeneric.test_llf   '    	ty}4dKKKKKKr   c                 n    t          | j                                        | j        j        dd           d S )NMbP?r   r   )r   r   conf_intr   r   s    r   test_conf_intzCheckGeneric.test_conf_int   s3    	**,,di.@tRVWWWWWWr   c                 T    t          | j        j        | j        j        dd           d S Nr!   r   )r   r   bser   r   s    r   test_bsezCheckGeneric.test_bse   r   r   c                 T    t          | j        j        | j        j        dd           d S )N{Gz?r   r   r   aicr   r   s    r   test_aiczCheckGeneric.test_aic    r   r   c                 T    t          | j        j        | j        j        dd           d S )N皙?r   r*   r   s    r   test_biczCheckGeneric.test_bic#   r   r   c                     t          j        | j        j        j                  }| j                            |          }t          | j        j        |j                   d S N	npidentityr   r   sizet_testr   tvaluestvaluer   unit_matrixr6   s      r   test_tzCheckGeneric.test_t&   K    k$)"2"788!!+..	)6=99999r   c                    | j         j        }t          j        t	          | j         j                            }d|dd <   |                    |dz  dd          }t          |j        dd          | j         j        dd          dd	           d S )
Nr   r)   F  alphadispmaxiter   皙?r   r   modelr3   oneslenr   fit_regularizedr   r   rG   rA   res_regs       r   test_fit_regularizedz!CheckGeneric.test_fit_regularized+       	DI,--..bcc
''eDjuc'RRqrr*DI,<QRR,@D	" 	" 	" 	" 	" 	"r   c                 .   | j         j                                        }t          t	          |                                          t	          | j                             | j                                        D ]\  }}t          ||         |           d S r1   )	r   rG   _get_init_kwdsr   setkeys	init_keys	init_kwdsitems)r   rT   keyvalues       r   test_init_keyszCheckGeneric.test_init_keys5   s    IO2244	S))**C,?,?@@@...00 	0 	0JC3////	0 	0r   c                 d   | j         j         | j         j        j        j        }| j         j        j        j        }t          |j        t          | j         j        j                  df           t          t          j        |          d           t          t          j        |          d           d S )Nr   r   )r   llnullres_nullrG   exog	exog_inflr   shaperI   r   r3   ptp)r   	exog_nullexog_infl_nulls      r   	test_nullzCheckGeneric.test_null;   s    	I&,1	+1;>/$)/.//3	5 	5 	5RVI&&***RVN++Q/////r   c                 ^    | j                                         }dt          |          v sJ d S )NzCovariance Type:)r   summarystr)r   summs     r   test_summaryzCheckGeneric.test_summaryF   s2    y  ""!SYY......r   N)__name__
__module____qualname__r   r   r#   r'   r,   r/   r;   rM   rX   rb   pytestmarksmokerg    r   r   r   r      s        R R RL L LX X XL L LL L LL L L: : :
" " "0 0 0	0 	0 	0 [/ / / / /r   r   c                   $    e Zd Zed             ZdS )TestZeroInflatedModel_logitc                 8   t           j        j                                        }t	          j        |j                  | _        t	          j        |j                  |_        t          j        |j        d d ddf         d          }t          j        |j        d d df         d          }t          j	        |j        ||d          
                    dd	d
          | _        d| j        j        _        g d| _        ddi| _        t           j        }|| _        d S )Nr      Fprependr   logitr]   	inflationnewtonr?   methodrC   rB   Tr]   exposurerw   offsetrw   )smdatasetsrandhieloadr3   asarrayendogr\   add_constantZeroInflatedPoissonfitr   _results_attach_nullmodelrS   rT   r	   zero_inflated_poisson_logitr   clsdatar\   r]   r   s        r   setup_classz'TestZeroInflatedModel_logit.setup_classM   s   {"''))Jtz**	Jty))	ty1Q3/???ODIaaacNEBBB	)$*d74 4 447CxQT=B 58 5D 5D 	 /3+HHH$g.2r   N)rh   ri   rj   classmethodr   rn   r   r   rp   rp   L   s-          [  r   rp   c                   x     e Zd Zed             Zej                            ed           fd            Z	 xZ
S )TestZeroInflatedModel_probitc                 8   t           j        j                                        }t	          j        |j                  | _        t	          j        |j                  |_        t          j        |j        d d ddf         d          }t          j        |j        d d df         d          }t          j	        |j        ||d          
                    dd	d
          | _        d| j        j        _        g d| _        ddi| _        t           j        }|| _        d S )Nr   rr   Frs   r   probitrv   rx   r?   ry   Tr{   rw   )r~   r   r   r   r3   r   r   r\   r   r   r   r   r   r   rS   rT   r	   zero_inflated_poisson_probitr   r   s        r   r   z(TestZeroInflatedModel_probit.setup_class_   s   {"''))Jtz**	Jty))	ty1Q3/???ODIaaacNEBBB	)$*d85 5 558SRU>C 69 6E 6E 	 /3+HHH$h/3r   zFails on 32-bit Linux)reasonc                 H    t                                                       d S r1   )superrM   )r   	__class__s    r   rM   z1TestZeroInflatedModel_probit.test_fit_regularizedp   s    $$&&&&&r   )rh   ri   rj   r   r   rk   rl   skipifr   rM   __classcell__)r   s   @r   r   r   ^   sv          [  [(1HII' ' ' ' JI' ' ' ' 'r   r   c                   *    e Zd Zed             Zd ZdS )TestZeroInflatedModel_offsetc                 V   t           j        j                                        }t	          j        |j                  | _        t	          j        |j                  |_        t          j        |j        d d ddf         d          }t          j        |j        d d df         d          }t          j	        |j        |||j        d d df                   
                    dd	d
          | _        d| j        j        _        g d| _        ddi| _        t           j        }|| _        d S )Nr   rr   Frs   r      )r]   r}   rx   r?   ry   Tr{   rw   ru   )r~   r   r   r   r3   r   r   r\   r   r   r   r   r   r   rS   rT   r	   zero_inflated_poisson_offsetr   r   s        r   r   z(TestZeroInflatedModel_offset.setup_classu   s   {"''))Jtz**	Jty))	ty1Q3/???ODIaaacNEBBB	)$*d	!!!A#8 8 88;8DGAF 9< 9H 9H 	
 /3+HHH$g.3r   c                    | j         j        }|j        }t          j        |j        |j        |j        t          j	        |                    }|
                    | j         j        ddd          }t          |j        | j         j        dd           | j                                         }|                                }t          ||dd           |j        }|j        }|j        }| j                             |||                                          }	|                    ||t          j	        |          	          }
t          |
|	dd           |j        d d
d         }|j        d d
d         }|d d
d         }| j                             |||          }|                    ||t          j	        |          	          }t          ||dd           t          ||d d
d         dd           t          ||d d
d         dd           | j                             ||          }|                    ||          }t          ||dd           d S )N)r]   r|   rx   r?   Fstart_paramsrz   rC   rB   ư>r   )r\   r]   r}   )r\   r]   r|   
   rD   r\   r]   )r   rG   r}   r~   r   r   r\   r]   r3   expr   r   r   predicttolist)r   model1r}   model3res3fitted1fitted3exex_infl	fitted1_0	fitted3_0	fitted1_2	fitted3_2	fitted1_3	fitted3_3s                  r   test_exposurez*TestZeroInflatedModel_offset.test_exposure   sk    'fk&A A Azzty'7!)3U  D D 	TY%5DtLLLL)##%%,,..t$????["I%%2-3]]__ & > >	LLbG*,&.. ! : :		94dCCCC["Q"5Bq5)A I%%2-3 & 5 5	LLbG*,&.. ! : :		94dCCCC	75Bq5>4HHHH	75Bq5>4HHHH I%%2%AA	LLbGL<<		94dCCCCCCr   N)rh   ri   rj   r   r   r   rn   r   r   r   r   t   sA          ["-D -D -D -D -Dr   r   c                   *    e Zd Zed             Zd ZdS )TestZeroInflatedModelPandasc                 ,   t           j        j                                        }|j        | _        || _        t          j        |j        j        d d ddf         d          }t          j        |j        j        d d df         d          }t          j
        g d          }t          j        |j        ||d          }|                    |d	d
d          | _        d| j        j        _        g d| _        ddi| _        t$          j        }|| _        d S )Nr   rr   Frs   r   )g̥ w?gNr(Xg.
g?gA~Wpg`·?ru   rv   rx   r?   r   Tr{   rw   )r~   r   r   load_pandasr   r   r   r\   ilocr3   r   r   r   r   r   r   rS   rT   r	   r   r   )r   r   r\   r]   r   rG   r   s          r   r   z'TestZeroInflatedModelPandas.setup_class   s   {"..00J	ty~aaa!e4eDDDODIN111Q3$7GGG	z #N #N #N O O &tz474 4 499,x%(u  6 6 /3+HHH$g.2r   c                 F   g d}t          | j        j        j        |           t          | j        j        j                                        |           t          | j        j        j                                        |           t          j	        | j
        j        j        d d ddf         d          }t          j	        | j
        j        j        d d df         d          }g d}t          j        | j
        j        ||d	          }t          |j        |           d S )
N)inflate_lncoinsinflate_constidplpifmdeconstr   rr   Trs   r   )r   r   r   r   r   r   ru   rv   )r   r   rG   
exog_namesr   indexr   r&   r~   r   r   r\   r   r   r   )r   param_namesr\   r]   rG   s        r   
test_namesz&TestZeroInflatedModelPandas.test_names   s   ( ( (49?5{CCC49+188::KHHH49=.5577EEEty~2111QqS594HHHODIN$7!$<dKKK	& & &&ty74 4 45+[99999r   N)rh   ri   rj   r   r   r   rn   r   r   r   r      s<          [*: : : : :r   r   c                   <    e Zd Zed             Zd Zd Zd Zd ZdS )TestZeroInflatedPoisson_predictc                    ddg}t           j                            d           d}t          j        |df          }d|d |dz  df<   |                    |          }t
          j        j                            |d|j	                  | _
        t          j        | j
        |          }|                    dd	d
          | _        |d|g| _        d S )Nr         ?    rD   rE   r5   bfgs  Fry   )r3   randomseedrH   dotr~   distributions	zipoissonrvsr^   r   r   r   resparams_truer   expected_paramsnobsr\   mu_truerG   s         r   r   z+TestZeroInflatedPoisson_predict.setup_class   s    c(
	sway!!XdAgXq[((?++$.227D8? 3 G G	&sy$77))64e)DD"T40r   c                     d } || j          }t          | j                                                                        | j                                        |d           d S )Nc                 ,   d|| z  z   }|d|z
  z  | z                                   }|d|z
  | z  dz                                   z  }|d|z
  | z                                   dz  z  }t          j        |          }d|z  t          j        |          z  }|S Nr   rD   meanr3   sqrt)mu	prob_inflr   dispersion_factorvarstdconf_intv_95s          r   compute_conf_interval_95zKTestZeroInflatedPoisson_predict.test_mean.<locals>.compute_conf_interval_95   s     !IN 2 %a	k225;;==Ca	k2%)//111Ca	k2%++--11C'#,,Cs7RWT]]2Lr   r   r   r   r   r   r   r   r   r   r   conf_interval_95s      r   	test_meanz)TestZeroInflatedPoisson_predict.test_mean   st    
	  
	  
	  43T5EF((**//114:??3D3D-A	7 	7 	7 	7 	7 	7r   c                    d }| j         } ||j        |                    d          |                    d                    }t          |                                | j                                        dd           d S )Nc                     d|z
  }| d|z
  z  |z                                   }|d|z
  |z  dz                                   z  }|d|z
  |z                                   dz  z  }|S r   r   r   	prob_mainr   r   r   s        r   compute_mixture_varzETestZeroInflatedPoisson_predict.test_var.<locals>.compute_mixture_var   sy    
 )I$a	k225;;==Ca	k2%)//111Ca	k2%++--11CJr   	prob-mainwhich	mean-mainrE   r   r   _dispersion_factorr   r   r   r   r   r   r   r   
var_fitteds       r   test_varz(TestZeroInflatedPoisson_predict.test_var   s    		 		 		 h(()?),;)G)G),;)G)GI I
 	
))
((t$	@ 	@ 	@ 	@ 	@ 	@r   c                 .   | j         }|                    d          }t          j        j                            t          j        |j        d                   d d d f         |                                d          j	        }t          ||dd           d S )Nprobr   r   rE   r   r   )r   r   r~   r   r   pmfr3   aranger^   Tr   r   r   prpr2s       r   test_predict_probz1TestZeroInflatedPoisson_predict.test_predict_prob  s    h[[v[&&(,,RYrx{-C-CAAAtG-L-0[[]]DB BBC 	Cd666666r   c                 v   | j         }d}|                    d          }|                    |j        j        d |         d          }t	          ||d |         d           |                                }|                    |j        j        d |                   }t	          ||d |         d           d S )N   r   r   )r\   r   绽|=r   )r\   )r   r   rG   r\   r   )r   r   npr1pr0r   fitted0s          r   test_predict_optionsz4TestZeroInflatedPoisson_predict.test_predict_options  s    hkkk''kksy~bqb1k@@S!W51111++--++39>"1"#5+66!5999999r   N)	rh   ri   rj   r   r   r   r   r  r  rn   r   r   r   r      sl        1 1 [17 7 7"@ @ @(7 7 7
: 
: 
: 
: 
:r   r   c                   B    e Zd Zed             Zd Zd Zd Zd Zd Z	dS )"TestZeroInflatedGeneralizedPoissonc                 :   t           j        j                                        }t	          j        |j                  | _        t	          j        |j                  |_        t          j        |j        d d ddf         d          }t          j        |j        d d df         d          }t          j	        |j        ||d          
                    ddd	          | _        d
| j        j        _        g d| _        ddd| _        t           j        }|| _        d S )Nr   rr   Frs   r   r]   prx   r?   ry   Tr]   r|   rw   r}   r  ru   rw   r  )r~   r   r   r   r3   r   r   r\   r   ZeroInflatedGeneralizedPoissonr   r   r   r   rS   rT   r	   !zero_inflated_generalized_poissonr   r   s        r   r   z.TestZeroInflatedGeneralizedPoisson.setup_class*  s    {"''))Jtz**	Jty))	ty1Q3/???ODIaaacNEBBB	4TZ1& & &&)c3Uc&S&S 	 /3+MMM&-A668r   c                     d S r1   rn   r   s    r   r'   z+TestZeroInflatedGeneralizedPoisson.test_bse:      r   c                     d S r1   rn   r   s    r   r#   z0TestZeroInflatedGeneralizedPoisson.test_conf_int=  r  r   c                     d S r1   rn   r   s    r   r/   z+TestZeroInflatedGeneralizedPoisson.test_bic@  r  r   c                     t          j        | j        j        j                  }| j                            |          }t          | j        j        |j                   d S r1   r2   r9   s      r   r;   z)TestZeroInflatedGeneralizedPoisson.test_tC  r<   r   c                 "   | j         j        }| j         j        d         }|                    |dddd          }t	          |j        | j        j        dd	           t	          |j        | j        j        dd
	           t          |j	        d         du            |                    |dddd          }t	          |j        | j        j        dd	           t	          |j        | j        j        dd
	           t          |j	        d         du            t          j                            d          }d|i} |j        d|dddd ddd|}t	          |j        | j        j        dd	           t	          |j        | j        j        dd
	           d S )Nr   minimize	trust-ncgr?   Fr   rz   
min_methodrC   rB   r!   g{Gz?r   g333333?	convergedTdogleg~jth?r   r   basinhoppingr.   )r   rz   niterstepsizeniter_successrB   interval-C6?rn   )r   rG   mle_settingsr   r   r   r   r&   r   mle_retvalsr3   r   RandomState)	r   reset_randomstaterG   r   res_ncgres_dograndom_stater   res_bhs	            r   test_minimizez0TestZeroInflatedGeneralizedPoisson.test_minimizeH  s   	y-n=))#-+$'e  5 5 		(8!	. 	. 	. 	.TY]!	- 	- 	- 	-#K0D8999))#-($'e  5 5 		(8!	. 	. 	. 	.TY]!	- 	- 	- 	-#K0D8999 y,,Q//% O"0c)-EAO OIMO O 	ty'7!	. 	. 	. 	.
DIM!	- 	- 	- 	- 	- 	-r   N)
rh   ri   rj   r   r   r'   r#   r/   r;   r2  rn   r   r   r  r  (  sx          [      : : :
$- $- $- $- $-r   r  c                   6    e Zd Zed             Zd Zd Zd ZdS )*TestZeroInflatedGeneralizedPoisson_predictc                    g d}t           j                            d           d}t          j        |df          }d|d |dz  df<   |                    |d d                   }t
          j        j                            ||d         dd|j	                  | _
        t          j        | j
        |d	          }|                    d
dd          | _        ||d         dd|g| _        d S )N)r   r   r   r   r   rD   r   r   r   r  r   r   Fry   )r3   r   r   rH   r   r~   r   zigenpoissonr   r^   r   r  r   r   r   r   s         r   r   z6TestZeroInflatedGeneralizedPoisson_predict.setup_classq  s    '--
	sway!!XdAgXq[((?3B3/00$155gr?R677= 6 R R	1#)TQGGG))64e)DD"OB$7S$Gr   c                     d } || j          }t          | j                                                                        | j                                        |d           d S )Nc                 N   |dz
  }d|| |z  z  z   dz  || z  z   }|d|z
  z  | z                                   }|d|z
  | z  dz                                   z  }|d|z
  | z                                   dz  z  }t          j        |          }d|z  t          j        |          z  }|S r   r   	r   rA   r  r   r   r   r   r   r   s	            r   r   zVTestZeroInflatedGeneralizedPoisson_predict.test_mean.<locals>.compute_conf_interval_95  s    !A!"URU]!2Q 6R G %a	k225;;==Ca	k2%)//111Ca	k2%++--11C'#,,Cs7RWT]]2Lr   r   r   r   r   s      r   r   z4TestZeroInflatedGeneralizedPoisson_predict.test_mean  st    	  	  	  43T5EF((**//114:??3D3D-A	7 	7 	7 	7 	7 	7r   c                    d }| j         } ||j        |                    d          |                    d                    }t          |                                | j                                        dd           d S )Nc                     d|z
  }| d|z
  z  |z                                   }|d|z
  |z  dz                                   z  }|d|z
  |z                                   dz  z  }|S r   r   r   s        r   r   zPTestZeroInflatedGeneralizedPoisson_predict.test_var.<locals>.compute_mixture_var  sw    )I$a	k225;;==Ca	k2%)//111Ca	k2%++--11CJr   r   r   r   rE   r.   r   r   r   s       r   r   z3TestZeroInflatedGeneralizedPoisson_predict.test_var  s    	 	 	 h(()?),;)G)G),;)G)GI I
 	
))
((t#	? 	? 	? 	? 	? 	?r   c                 2   | j         }|                    d          }t          j        j                            t          j        |j        d                   d d d f         |                                ddd          j	        }t          ||dd           d S )	Nr   r   r   r   rD   g{Gz?rE   r   )r   r   r~   r   zinegbinr   r3   r   r^   r   r   r  s       r   r  z<TestZeroInflatedGeneralizedPoisson_predict.test_predict_prob  s    h[[v[&&'++BIbhqk,B,B111d7,K,/KKMM33H HHI 	Cd666666r   N)rh   ri   rj   r   r   r   r   r  rn   r   r   r4  r4  p  s]        H H [H7 7 7$? ? ? 7 7 7 7 7r   r4  c                   B    e Zd Zed             Zd Zd Zd Zd Zd Z	dS )!TestZeroInflatedNegativeBinomialPc                 f   t           j        j                                        }t	          j        |j                  | _        t	          j        |j                  |_        t          j        |j        d d df         d          }t          j        |j        d d df         d          }t	          j	        g d          }t          j
        |j        ||d                              |dd	d
d          | _        d| j        j        _        g d| _        ddd| _        t"          j        }|| _        d S )Nr   Frs   r   )gGz?g(\$gɿg=
ףp=?gq=
ףp?rD   r  nmr   r   )r   rz   xtolrC   rB   Tr  ru   r  )r~   r   r   r   r3   r   r   r\   r   arrayZeroInflatedNegativeBinomialPr   r   r   r   rS   rT   r	   zero_inflated_negative_binomialr   )r   r   r\   r]   spr   s         r   r   z-TestZeroInflatedNegativeBinomialP.setup_class  s    {"''))Jtz**	Jty))	ty1~u===ODIaaacNEBBB	 X777883DJ1& & &&)cr$/3T '* 'O 'O 	 /3+MMM&-A666r   c                 T    t          | j        j        | j        j        dd           d S r%   r   r   s    r   r   z-TestZeroInflatedNegativeBinomialP.test_params  s6    	($)*:!	. 	. 	. 	. 	. 	.r   c                     d S r1   rn   r   s    r   r#   z/TestZeroInflatedNegativeBinomialP.test_conf_int  r  r   c                     d S r1   rn   r   s    r   r/   z*TestZeroInflatedNegativeBinomialP.test_bic  r  r   c                    | j         j        }t          j        t	          | j         j                            }d|dd <   |                    |dz  dd          }t          |j        dd          | j         j        dd          dd	           d S )
Nr   r>   r)   Fr?   r@   rD   r.   r   rF   rK   s       r   rM   z6TestZeroInflatedNegativeBinomialP.test_fit_regularized  rN   r   c                    | j         j        }| j         j        d         }|                    |dddd          }t	          |j        | j        j        dd	           t	          |j        | j        j        dd
	           t          |j	        d         du            |                    |dddd          }t	          |j        | j        j        dd	           t	          |j        | j        j        dd	           t          |j	        d         du            |                    |dddd          }t	          |j        | j        j        dd	           t	          |j        | j        j        dd	           d S )Nr   r  r  r?   Fr  r!   gQ?r   gQ?r!  Tr"  r#  gy&1|?r$     )r   rz   rC   r'  rB   r)  ga2U0*3?)
r   rG   r*  r   r   r   r   r&   r   r+  )r   r-  rG   r   r.  r/  r1  s          r   r2  z/TestZeroInflatedNegativeBinomialP.test_minimize  s   	y-n=))#-+$'e  5 5 		(8!	. 	. 	. 	.TY]!	. 	. 	. 	.#K0D8999))#-($'e  5 5 		(8!	. 	. 	. 	.TY]!	. 	. 	. 	.#K0D8999"0#)*  8 8 	ty'7!	. 	. 	. 	.
DIM!	. 	. 	. 	. 	. 	.r   N)
rh   ri   rj   r   r   r   r#   r/   rM   r2  rn   r   r   rA  rA    sx          [&. . .    " " "!. !. !. !. !.r   rA  c                   <    e Zd Zed             Zd Zd Zd Zd ZdS ))TestZeroInflatedNegativeBinomialP_predictc                    g d}t           j                            d           d}t          j        |df          }d|d |dz  df<   d}t          j        |                    |d d                             }t          j        j        	                    ||d         d||j
        	          | _        t          j        | j        |d
          }|                    ddd          | _        || _        ||d         d||g| _        d S )N)r   r   r   r   r   rD   r   r   g333333?r6  r   r7  r   Fry   )r3   r   r   rH   r   r   r~   r   r?  r   r^   r   rF  r   r   r   r   )r   r   r   r\   r   r   rG   s          r   r   z5TestZeroInflatedNegativeBinomialP_predict.setup_class  s    &++
	sway!!XdAgXq[	&/#2#"67788$-11'#B'IGM 2 K K	0DAFFF))64e)DD ""OB$7YMr   c                     d } || j          }d| j        z
  | j         d         z                                  }t          | j                                                                        ||d           d S )Nc                 D   d|| |dz
  z  z  z   || z  z   }|d|z
  z  | z                                   }|d|z
  | z  dz                                   z  }|d|z
  | z                                   dz  z  }t          j        |          }d|z  t          j        |          z  }|S r   r   r;  s	            r   r   zUTestZeroInflatedNegativeBinomialP_predict.test_mean.<locals>.compute_conf_interval_95  s     !EB1I$5 5	B F %a	k225;;==Ca	k2%)//111Ca	k2%++--11C'#,,Cs7RWT]]2Lr   r   r   r   )r   r   r   r   r   r   )r   r   r   	mean_trues       r   r   z3TestZeroInflatedNegativeBinomialP_predict.test_mean  s    
	  
	  
	  43T5EF&(8(;;AACC	((**//11!(8q	B 	B 	B 	B 	B 	Br   c                    d }| j         } ||j        |                    d          |                    d                    }t          |                                | j                                        d           d S )Nc                     d|z
  }| d|z
  z  |z                                   }|d|z
  |z  dz                                   z  }|d|z
  |z                                   dz  z  }|S r   r   r   s        r   r   zOTestZeroInflatedNegativeBinomialP_predict.test_var.<locals>.compute_mixture_var$  sw    II$I6;AACCCa)mr)a/55777Ca)mr)//11a77CJr   r   r   r   皙?r  r   r   s       r   r   z2TestZeroInflatedNegativeBinomialP_predict.test_var"  s    	 	 	 h(()?),;)G)G),;)G)GI I
 	
))
((s	4 	4 	4 	4 	4 	4r   c                    | j         }|j        j        }|                    d          }t          j        j                            t          j	        |j
        d                   d d d f         |                                dd| j                  j        }t          ||dd           |                    d          }|                    d          }t          j        |                    t"                              t%          |          z  }t          ||z
  dz                                  dd	d
           t          ||z
  dz                                  dd	d           d S )Nr   r   r   r   rD   r.   r   r   r  gMb@?r)  )r   rG   r   r   r~   r   r?  r   r3   r   r^   r   r   r   r   bincountastypeintrI   )r   r   r   r  r  prmpr2mfreqs           r   r  z;TestZeroInflatedNegativeBinomialP_predict.test_predict_prob3  s/   h	[[v[&&'++BIbhqk,B,B111T6,JKKMM34>3 334 	Cc4444ggajjxx{{{5<<,,--E

:$*q..00!%dKKKK#*q..00!%dKKKKKKr   c           
         | j         }| j        }| j         j        j        }| j        }t          |          }t          j        |                    t                              t          |          z  }|
                    d          }|                    d          }t          ||d           |
                    ddgddggt          j        dgdgg          d          }	|d|dz
  g         }
t          |	|
d           |
                    ddgddggt          j        dgdgg          d	          }t          ||
d d df         d
           |
                    ddgddggt          j        dgdgg          d          }|
                    d          }|ddg          t          ||ddg         d
           t          |d|z
  d           |
                    ddgddggt          j        dgdgg                    }||d d df         dk                                             ||d d df         dk                                             f}t          ||d
           |
                    ddgddggt          j        dgdgg          d          }t          |t          j        t          j        |j        dd                             d
           ||d d df         dk    |dk    z                                           ||d d df         dk    |dk    z                                           f}|
                    ddgddggt          j        dgdgg          d          }t          ||d
           |
                    ddgddggt          j        dgdgg          d          }t          |t          j        |j        dd                   d
           d S )Nr   r   r   {Gz?r   r   )r\   r]   r   r  	prob-zeror  r   r6  r)   r   rE   r   rN  mean-nonzerolinear)r   r   rG   r\   r   rI   r3   rY  rZ  r[  r   r   r   r   r   cumsumr   )r   r   r   r\   r   r   r^  probsprobsmprobs_uniqueprobs_unique2probs0_uniqueprobs_main_unique
probs_mainpredpred1pred_main_uniquemean_nzpred_nonzero_uniquepred_lin_uniques                       r   test_predict_generic_zizATestZeroInflatedNegativeBinomialP_predict.test_predict_generic_ziA  s=    h
x~"N	5zz{5<<,,--E

:&))Af40000{{!Q!Q(8-/Z!qc
-C-C)/ # 1 1 q$q&k*m%@@@@1a&1a&)9.0j1#s.D.D*5 $ 7 7 	}QQQT':GGGGKKq!fq!f-=24*qcA3Z2H2H.9 ( ; ; [[{[33
Ab6):qf+=UKKKK)1y=tDDDD{{!Q!Q 0%'Z!qc
%;%;  = =d111a4jAo&++--uT!!!Q$Z1_/E/J/J/L/LLe$////;;aVaV,<13aS1#J1G1G-8 ' : : 	("&3:ac?1K1K*L*L"	$ 	$ 	$ 	$ $qqq!t*/eai89>>@@$qqq!t*/eai89>>@@B!kkAA/?46JaSz4J4JR` * b b+W4@@@@++QFQF+;02
QC!:0F0F,4 & 6 6 	3:ac?)C)C%PPPPPPr   N)	rh   ri   rj   r   r   r   r   r  rs  rn   r   r   rP  rP    s|        N N [N&B B B$4 4 4"L L L@Q @Q @Q @Q @Qr   rP  c                   0    e Zd Zed             Zd Zd ZdS )*TestZeroInflatedNegativeBinomialP_predict2c                 x   t           j        j                                        }t	          j        |j                  | _        t	          j        |j                  |_        |j        }t	          j        g d          }t          j	        | j        ||d          }|
                    |ddd          }|| _        d S )N)gmg%ZUg9ig5g
Ag}<$;{gK	(wgHgVіgTq"g} %˿g%{?gUgrDP?g>F/Y˯?gsn?gkv錵?gz?gO.?rD   r  r   i  Fr   )r~   r   r   r   r3   r   r   r\   rE  rF  r   r   )r   r   r\   r   modr   s         r   r   z6TestZeroInflatedNegativeBinomialP_predict2.setup_class  s    {"''))Jtz**	Jty))	yx !? !? !? @ @
 .Ittq2 2 2gg<"  0 0 r   c                     t          | j                                                                        | j                                        d           d S )Nr`  ra  )r   r   r   r   r   r   s    r   r   z4TestZeroInflatedNegativeBinomialP_predict2.test_mean  sP    ((**//114:??3D3D!	# 	# 	# 	# 	# 	#r   c                    | j                                         }d| j                            d                                          z
  | j                            d                                          z  }t	          ||d           d S )Nr   rb  r   rc  rW  ra  )r   r   r   r   r   )r   mean1mean2s      r   test_zero_nonzero_meanzATestZeroInflatedNegativeBinomialP_predict2.test_zero_nonzero_mean  s~    
!!dh&&[&99>>@@@!!!77<<>>?u3//////r   N)rh   ri   rj   r   r   r   r|  rn   r   r   ru  ru    sK          [$# # #0 0 0 0 0r   ru  c                       e Zd Zd ZdS )TestPandasOffsetc                    t          j        dg di          }t          j        g dg dd          }t          j        g d          }t          j        g d          }t          j        |||                                           d	d
g}|D ]2}t          j        ||d         ||                                           3d S )NF)        r  r  r        ?)r  r  r  r  r  )r  r  r  r  r  )IC)r  r   r   rD   r   )r   r   r   rD   r   )r   r\   r}   ru   r   r  )r   r\   r|   rw   )pd	DataFrameSeriesr~   Poissonr   r   )r   r   r\   r|   r}   
inflationsrw   s          r   test_pd_offset_exposurez(TestPandasOffset.test_pd_offset_exposure  s    c#<#<#<=>>|";";";";";";= = > >9---..???++

T&999==???x(
# 	> 	>I"T#Y,4-68 8 88;	> 	>r   N)rh   ri   rj   r  rn   r   r   r~  r~    s#        > > > > >r   r~  )!statsmodels.compat.platformr   numpyr3   numpy.testingr   r   r   r   pandasr  rk   statsmodels.apiapir~   results.results_discreter	   test_discreter
   r   rp   r   r   r   r   rl   slowr  r4  rA  rP  ru  r~  rn   r   r   <module>r     s   8 8 8 8 8 8                           - - - - - - * * * * * *7/ 7/ 7/ 7/ 7/? 7/ 7/ 7/r    ,   $' ' ' ' '< ' ' ',@D @D @D @D @D< @D @D @DF$: $: $: $: $:, $: $: $:NG: G: G: G: G: G: G: G:T C- C- C- C- C- C- C- C-N87 87 87 87 87 87 87 87vK. K. K. K. K. K. K. K.`FQ FQ FQ FQ FQ FQ FQ FQR0 0 0 0 0 0 0 0>> > > > > > > > > >r   