U
    Kvf                     @   sr   d Z ddlZddlZG dd dZejejeZ	G dd dZ
G dd dZG d	d
 d
ZG dd dZdS )z-
Test Results for discrete models from Stata
    Nc                   @   s   e Zd ZdS )	NamespaceN)__name__
__module____qualname__ r   r   W/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/discrete/tests/results/results_discrete.pyr   	   s   r   c                   @   s"   e Zd Zdd Zdd Ze ZdS )Anesc                 C   s
   d| _ dS )zIr
        Results are from Stata 11 (checked vs R nnet package).
          Nnobsselfr   r   r   __init__   s    zAnes.__init__c               $   C   s  t  } d| _dddddddd	d
dddddddddddddddddddddd d!d"d#d$d%g$}tj|d&d'd(| _d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLg$}tj|d&d'd(| _ttj	t
dM| _ttj	t
dN| _d | _dO| _dP| _dQ| _dR| _dS| _dT| _dU| _dV| _dW| _dX| _dY| _dZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}g$}tj|d&d'd(| _d~dddddddddddddddddddddddddddddddddddg$}tj|d&d'd(| _ddgddgddgddgddgddggddgddgddgddgddgddggddgddgddgddgddgddggddgddgddgddgddgddggddgddgddgddgddgddggddgddgddgddgddgddggg}t|| _tdddddgdddddgdddddgdddddgddd ddgdddddgdd	d
ddggj| _tdddddgdddddgdddddgddddd gd!d"d#d$d%gd&d'd(d)d*gd+d,d-d.d/ggj| _ td0d1d2d3d4gd5d6d7d8d9gd:d;d<d=d>gd?d@dAdBdCgdDdEdFdGdHgdIdJdKdLdMgdNdOdPdQdRggj| _!tdSdTdUdVdWgdXdYdZd[d\gd]d^d_d`dagdbdcdddedfgdgdhdidjdkgdldmdndodpgdqdrdsdtduggj| _"tdvdwdxdydzd{gd|d}d~dddgddddddgddddddgddddddgddddddgddddddggj| _#tddddddgddddddgddddddgddddddgddddddgddddddgdĐdŐdƐdǐdȐdggj| _$tdʐdːd̐d͐dΐdgdАdѐdҐdӐdԐdgd֐dאdؐdِdڐdgdܐdݐdސdߐddgddddddgddddddgddddddggj| _%tddddddgddddddgd dddddgdddd	d
dgddddddgddddddgddddddggj| _&tjtj	t
ddd | _'| S (!  Nr	   gT-g13}?gA}˜.gz(?g'DHu?g:׿g?\gW?gOrgqTh,?g4?gg6 gzbJY?g~XOjgHK}g }z?g*qSg:Bpg@ku?gmXǁg`l?g)<?gDItgn8᷿g?|O'?gvqUg??gAI?g{L=g`¿g' @g(lQgh{O@n?gPS{?g	$6()   F)ordergbOu?g]?g@EWϹz?gTQֲ?g^)&?g'?'?g"I?g_P釵?gu5?gWaյ?g=Ж?g( Tl?gNb4?g$NK?g,Z 4?gvgP*?gB.5?guɦ1?ga
ڭk?gm?g.HO=?gd?g_,8Ӛ?gԙjӀ?g*q%?g/U?g.GU,?gõ?gÚL
?g)J?g;?g9[?gmk|?g̰2R?g;y?g/?zyhat_mnlogit.csvzphat_mnlogit.csvgޫזgcYg#@g% {S*g3?   i     r   gg@g2kĨ@gH2տg}/?:p	@gD !gR?gjuF?gƫgR.R!g}@gu@3%g"=D @g p0@g!DgCVHgcRa@g`[g:FS+ga#g?gAq [	g? g_v#@g<
g @g e	@grzggVr>
&@g[gtj@gpR0@guI giv
gX=7,@gC4g٩ME@g[B7@gR)&g;8uq]?g0a6u%X?g-xF!?g=?gKQ?gCv?go1O?gj3?gՉ(>o?g2MĚK?gi25?gʠmDj?gG͇-?gXp3?g6FOQ?gR?gE54?g{0Y?gP(?g LhD;gҷZ[?gq!H?gT?gY<gcwA0?gn]aɛ9g?gghH?g;?gz2ʑ<gG=u K?g~+?F6g39؂?ge-o:?geD>g9gE'g:-~?gj<?gbL?g_(Qgxxρ刿gtΛgnr?gg<)[?g8t̹g@R?ȍ?gL/ſgUgU?g5=nR?g@m`vgF@~gtQol?g,I?g
Xl8q?g&jo?gqQg%)g1˿g[6w?gE6F?g`4[K?ghge6#~?g̞LпggB?g3}ƅgԤo-?gu ]gG9MagVJ*ƿgEBwwgfbk?gj{?gQAəgSEu?ghm?gFB?go?gGc?gs|8"g\gjſgn~hg'
b?g" 89?g@7o͠ge:
whgy"*ĩ?gj3?gfI%d?gv ?g(5
In!gKrJgΒ̿gUCeحgg?gyZ~*@gOJgz?g=@,Z?g'l??g|C]?g<*I?g=],gCVz$gj1LEǁ?gt;S	gSf?gIfĝlOxg\a|?g$}  g YIag[ugCI,vg"I\pg윿giZmyPgRa86{?g;P?g!t[]gGH&wga(dAGge>dvg`žTA?g;Χ%Pge_ U?grhp??gQpG\?gXOa?g]$Yg905:?g(tFg09Zs?gacr%d?gR'Jɍb~g!w`X?g+D?gct_?gXv?go?g;,({?gBV=z)G?g5hxۀ?g0`?g sGo?g1l'%~?g4gH?gP^H?gfo`?gYi?g8=KEw?gꢡE?gd<|?gG^?gP_?g̿"j?g6bU9?g|Ѫq?g&+n0R?g vh?gD
J&v?g;MJC?gcz?g5^?gun-Um?g?Sw|?gَܬG?gXZ?g&Ob?gܩ(k?gr'?gjN3F?g,  ~?g2sa?g:ȸ?g{NϤg:$>cf?gW#A
gVn{g^Ն?g]y@gu'8bgdƂgeL|^gMDogȆmGgZ~g!SgE=>y?g~y,?gcg(!LgHSgg㮛C?g	#lg]}Jj?g|~r:H?g.t~?gΠJ,r?gKAwgH{?gU[BguH?g<UYIz?g=hFW}gT!(?g({7@?g^GW?g{ΞOw?g2Teq?gi+?g\3J?g)[?go+uc?g*ȉs?gSRFM?g-O?gy?gBGe?g36p?g|Z8?gr.!L?gEoj?g c?gLe?g%裓}?gFxA?g>"|w?gdh42Z?gbn?gؖD?gHv:H?gLÒ?g>c?gJ+<r?gߢ?g];M?g!&}?g7f?ga`jf?gL3?g"OsA?gÊy?ge\?g9)@~v?g	bg`U}h?gC}٣Lg4E6kgg?пg?dQl?g{lvgv]
_gpi66?gadig1jȬʿg<i?lzgo;tp?gvKgo[ц?grbf?ge2pĿg`	agng*r-Xgyڻrg
m:fE?gOgk]ŝC?g<v+<ngf7?g	96䚹(gz2x J?g;$.?gt0*Wa?gl$	4g-\Ng~cP>gȔ)8gQ]d?gyYcig9.VA?go܋3?gt?gOY;e?gs=Ks?gRphn?g޻E?gSWdF?gR+IT?g"qM_?gds?g-ARNo?g&?g{{oHH?g@+G?g[V^`?gj9C?g+Kni?gu?g碌+?PE?g>{?g*a]?g,<?gKt&/`?g&.t?g6P9?gwJ^q?gJ. TS?gr;T(?ge3~Wh?gz?g"@B?ga<Ȅz?gaW_?ga?gi(_`7l?gP?g#(+3F?gcDG ?g5&~sb?g}ã?g\"ʟ7j?gGP8?g3?D?gb+)
}?gk)4a?g0ݲ/?g(,+?g
g'?g9Lg#~gɢ	gC)/?g2}ƅؿgoSg20g"ӠgMgM!_[g&$gѿg!!ygΈo?g<?gd g"Ӫg`6!̿g+d0?ggjRDeGӆ?g~3PѿgiGhgZ7f?gl\bيW?gT2?gt6?gLH?g_aj?g(?gg/g^c/?gaG#?gsiq?gu$Ѫg
ox?g6f
 Tg8Ż?gGsϤ?ge0jK@g/ܛ?gi!?g+xyu?gOA6<?g20o?g֌?g@Wۚ?g&?g*2u?gr?gu/?g5L?gȮwrt?g7зU?gpo>:ܣ{?g?gfԔ?gY?g׬-?g$0?g2xB?gr-?g=?gdkv?g< Pj?g %%Hc?gz?gBJ?gNΕ?gd
?gD\P?g3QC]?gw^=w?gKOa,?gUB'?gÍ?g-z`-bK?g4Rʻ?gh-y?gKj?g9J?giؖ?zmnlogit_resid.csv,	delimiter)(r   r   npZreshapeparamsbseloadtxtospathjoincur_diryhatphat
cov_paramsllfllnullllr
llr_pvalue	prsquareddf_modeldf_residJKaicbiczpvaluesZasarrayconf_intarrayTZmargeff_dydx_overallZmargeff_dydx_overall_seZmargeff_dydx_meanZmargeff_dydx_mean_seZmargeff_dydx_dummy_overallZmargeff_dydx_dummy_overall_seZmargeff_eydx_dummy_overallZmargeff_eydx_dummy_overall_seresid)objr   r   r.   r/   r0   r   r   r   mnlogit_basezero   s                                	                           
                           
                           
%       


       


              




zAnes.mnlogit_basezeroN)r   r   r   r   r5   r   r   r   r   r      s    \r   c                   @   sL   e Zd Zdd Zdd Ze Zdd Ze Zdd Ze Zd	d
 Ze ZdS )
DiscreteL1c                 C   s   dS )z{
        Special results for L1 models
        Uses the Spector data and a script to generate the baseline results
        Nr   r   r   r   r   r      s    zDiscreteL1.__init__c                  C   s   t  } tj}ddddg| _ddg||gddg||gg| _d|d	|g| _d
| _d| _d| _d|d|g||||gd|d|g||||gg| _	| S )a  
        Results generated with:
            data = sm.datasets.spector.load()
            data.exog = sm.add_constant(data.exog, prepend=True)
            alpha = 3 * np.array([0, 1, 1, 1])
            res2 = sm.Logit(data.endog, data.exog).fit_regularized(
                method="l1", alpha=alpha, disp=0, trim_mode='size',
                size_trim_tol=1e-5, acc=1e-10, maxiter=1000)
        g<^.i        gn ?goRM"g!-J?gQ:gh'Nn?g}#@gEVǼ?   gIE@g,F@gŅfK@g+/Sҿgu9?
r   r   nanr   r0   r   
nnz_paramsr,   r-   r"   r4   r:   r   r   r   logit  s$    




zDiscreteL1.logitc                  C   s.   t  } ddddgddddgd	d
ddgg| _| S )ai  
        Results generated with
            params = np.zeros((3, 4))
            alphas = np.array(
                    [[0.1, 0.1, 0.1, 0.1],
                        [0.4, 0.4, 0.5, 0.5], [0.5, 0.5, 1, 1]])
            model = sm.Logit(data.endog, data.exog)
            for i in range(3):
                alpha = alphas[i, :]
                res2 = model.fit_regularized(method="l1", alpha=alpha,
                                             disp=0, acc=1e-10,
                                             maxiter=1000, trim_mode='off')
                params[i, :] = res2.params
            print(params)
        gz$gbRC*@g+؈X?g8u @g&Ng+ ?g<ⴖ?gv!:?g?BigWY_M3?g       gm?)r   r   r4   r   r   r   sweep   s    


zDiscreteL1.sweepc                  C   s   t  } tj}ddddg| _ddgddgd	d
gtjtjgg| _dddtjg| _d| _d| _d| _ddd|gddd|gddd|g||||gg| _	| S )a  
        Results generated with
            data = sm.datasets.spector.load()
            data.exog = sm.add_constant(data.exog, prepend=True)
            alpha = np.array([0.1, 0.2, 0.3, 10])
            res2 = sm.Probit(data.endog, data.exog).fit_regularized(
                method="l1", alpha=alpha, disp=0, trim_mode='auto',
                auto_trim_tol=0.02, acc=1e-10, maxiter=1000)
        g7|gы ?g"'|J?r7   gdڭ"g=V;qgݞ?g57@g*%縿g(?gn0Ky @gX?gqm?   gX+3C@gZ~fE@g/H~.@g]E̲gc?zgy?g igSGUv?r9   r<   r   r   r   probit9  s$    





zDiscreteL1.probitc                  C   s  t  } ddddddgddd	d
ddgddddddgddddddgddddddgddddd d!gg| _d"d#gtjtjgd$d%gtjtjgtjtjgd&d'ggd(d)gd*d+gd,d-gd.d/gd0d1gd2d3ggd4d5gd6d7gd8d9gtjtjgd:d;gd<d=ggd>d?gd@dAgdBdCgdDdEgdFdGgdHdIggdJdKgdLdMgdNdOgdPdQgdRdSgdTdUggdVdWgdXdYgdZd[gd\d]gd^d_gd`daggg| _dbdcdddedfdggtjdhdidjdkdlgdmdndodpdqdrgtjdstjdtdudvgtjdwdxdydzd{gd|d}d~dddgg| _d| _d| _d| _| S )a  
        Results generated with
            anes_data = sm.datasets.anes96.load()
            anes_exog = anes_data.exog
            anes_exog = sm.add_constant(anes_exog, prepend=False)
            mlogit_mod = sm.MNLogit(anes_data.endog, anes_exog)

            alpha = 10 * np.ones((mlogit_mod.J - 1, mlogit_mod.K))
            alpha[-1, :] = 0
            mlogit_l1_res = mlogit_mod.fit_regularized(
            method='l1', alpha=alpha, trim_mode='auto', auto_trim_tol=0.02,
            acc=1e-10)
        gq$iP?gRQg,zgQ'kg.u߽g/`r7   gB6"P?g-nؾ?gV?gq?g>?g˅ʿWgq[g:4g
ksg&c𬌿gϗSwg	c?g,2?g.?gb$l?g|6\Ʀ?ggP?g h?16?g5۪^]?gSLƸ?gƒ\6?gߧgѸ˭ g:gxgcYYpy"gIgjGi_?g&8pgrvgY.?gأ?g2 g ]Q?g$+¿gcpb?g8롿gHm}sg>33g!W?g~Wrs?g)5A?gZIg"B?g2ƿgeM?g cÿg[?g`.gIZ>?g\|g+Ư?g1.M:g<}Fпg	g҃ig?g@	?g B^?grOgI2?gוg)S^?g̀?g^/?gjS+gVL<gE<0쿿gAD?gr?gA'?gZegqٮg&އgڷ?g_eH?g ݬ?gtY,gsFgWi ſg)Qa2v>gep?gw0?gh;gw"!?gǖNeg/?g҉Z[?gu?g^,X5&g٧4gF剔$?g*B?gf1-?guh'V?gݣ@D?g:S?gꡦ+?gp?gʀ?g!]	0n?gf>R
˽?g`Δy?g{Wo?gNY?g
I?gE*k}?gsw~?gH٢7?g?gjOA?gXs~?gCλ?gJ3?g*AD?g%b?gX(K?gj>?g,Eч?g&{[?gJg?gk'F?g(P4?    g	p@gNNIͨ@)	r   r   r   r:   r0   r   r;   r,   r-   r>   r   r   r   mnlogitX  s    









,


zDiscreteL1.mnlogitN)r   r   r   r   r=   r?   rA   rC   r   r   r   r   r6      s   Zr6   c                   @   s4   e Zd ZdZdd Zdd Ze Zdd Ze ZdS )	Spectorz#
    Results are from Stata 11
    c                 C   s
   d| _ d S )NrB   r
   r   r   r   r   r     s    zSpector.__init__c               "   C   s  t  } d| _ddddg| _dddd	gdd
ddgddddgd	dddgg| _ddddg| _ddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3g | _d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSg | _dTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsg | _t	dtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddg | _
t	ddddddddddddddddddddddddddddddddg | _d| _d| _d| _d| _d| _d| _d| _d| _d| _ddddg| _ddgddgddgddgg| _ddddg| _dddg| _dddg| _dddg| _dddg| _dddg| _dddg| _dddg| _dddg| _dddg| _ dddg| _!dddg| _"dddg| _#dddg| _$dddg| _%dddg| _&dddg| _'dddg| _(dddg| _)dddg| _*dd dg| _+dddg| _,dddg| _-dd	d
g| _.dddg| _/dddg| _0dddg| _1dddg| _2dddg| _3dddg| _4dddg| _5dddg| _6dddg| _7ddd g| _8d!d"d#g| _9d$d%d&g| _:d'd(d)g| _;ddΐd*g| _<ddѐd+g| _=ddԐd,g| _>ddאd-g| _?d.d/d0g| _@d1d2d3g| _Addd4g| _Bddd5g| _Cddd6g| _Ddd d7g| _Ed8d9d:g| _Fd;d<dg| _Gd=d>d?g| _Hd֐d@dg| _IdAdBdCg| _Jd;d<d+g| _KdDdEdFg| _LdGdHdIg| _MdddJg| _Nd!d"dKg| _Od$d%dLg| _Pd'd(dMg| _Qt	dNdgddOgg| _R| S (P  NrB   g,@gq7@\?g<Gn@gN*
*gS4?gSq@碿geX^?g5>Kg&?g{?g)ֿg1!?gngJeQ8@g:5?gh~Br?g6t?g>)@g\c|&ſgDпg^Řj޿g͎TĿgd?g\hSȿg%ſg]Ϳgs
ֿg#E?g lEĿgJX޿gVgYX @g9f4g*8ڔƿg?=xοg#pӤɿg]=0g 9Ep?g^
]пgg	?g%gfYJ3gIȵ?gvLݕ?go1=?g624COgg-?gFkV?gm)g?$D@gڴ{ɵͿgb.jֿg[tWgFISͿg1
Ƿ?g'qѿg|#6ͿgM3Կgǘ߿g X`?g0~̿g&g]	V9g(Z&?gyxρHg,̰Ͽge\*?տg>pѿg.R\gi 3!?gF[kֿg9Gs?gtg(GgJf?gH`Z?g]y?gc%jg\K?gQlu?g?Vg)% @gC,cC7g|(Bvg"ǿgg߆?gdءgLT#gmegݳrg\	?ggAGZQȿgs]Կg8*7?gu׿g)s螿gG;ntg=	lgo>;g?grѬlgo[?g\TbοgFXTDg<i?g'?gs(CU?gmmyӿg 7C?gx@e?g>XƆgor?gBB7?gJ  v?gV!?gn `?g?<?gGء?g#?g:   e?g  r?g>1?g ?g  Q?g  ?gS$?gu?g=|?g t?g.   ?g   <?g  (%?gel?g$  @?g&  f?gTD?g  F?g?g]U?gx?g=?g*  @:@?g   ?gf_l?gMg)  @Sg|gg?g`
g?*g   KgB  _ g  {!?gB  {g  O3g   g}  Rg4Fg   (gg%  ?	g8  `B?g+  iV?gg  @gIg!  |?gv?:T?g:Tg$  @?g  \g\C?gg  @gٽ?g\ g	~){4r@      gP.@g=x>?g.;TX?g@@g:}3C@gX@g?g#8@gi3ggs?g4@gnڌUǿg!?g"?g\@g+j0ï6gxZ
g{'Gؙ?g[?g%I?g++5?gمK4?g܈/ ?gK?g?զV?g;8?gKр0?g_+_?gnbҴ*h?gzu?g=bBW?g>/ˍݚ?g	R/?g
\$?g-b6>?gˬ?gDҵ@?g
|끋?gf·?gM :>g:B>gz">g1E2>g@|>g-C6>g(w?gNS?gt?g?F>%?g=!+.?gS[E?g NbUO?gy<?gHnF)?g%4 ?gck?gmѸ&	?g0g瀇?gs	@?r   g)W?gNg\W?gt?g?g&?gx"?gԷ?gCÖ?g呙
 @gy3?gMo?gu7?g#?gXF4/?gc@gՓeV?g(a)@ghr1?g+n?gԺj?gݛ@gknA=\?gt @g5?gqmM_t?g"~?g!t@gʰ?g"n+T?g9]@gU?gB!J?g[ET@gS??g(?g@
@go
@gyщ?gBr?@gc~9?gj'@g@g?gt?g
3a?g|&?grǆ?g-]4?g݇Xp9?gO?g6VD?gt'7?go^?gLA޸?g <?gu*-?g=yE7?g(,?gSk?gB?g홅sH?gعX?gSe?g@|k7?gm?g0N?gؚ`?gx?g1h'u4?g$?g=?gF= ?gY1׿6?gX_?g&a}y7g?g?g!O;ٚ?gh'u4?g|?g`G?g~6K?g^}y7g?gMWE7?g.V?g)dݲٚ?g9`d,?g/{UT?gS"?gҾ{T?gP1?      )Sr   r   r   r"   r   resid_pearson	resid_devresid_generalizedr   r1   r!   r    r#   r$   r(   r)   r%   r'   r&   r,   r-   r.   r0   r/   Zmargeff_nodummy_dydxZmargeff_nodummy_dydx_seZmargeff_nodummy_dydxmeanZmargeff_nodummy_dydxmean_seZmargeff_nodummy_dydxmedianZmargeff_nodummy_dydxmedian_seZmargeff_nodummy_dydxzeroZmargeff_nodummy_dydxzero_seZmargeff_nodummy_dyexZmargeff_nodummy_dyex_seZmargeff_nodummy_dyexmeanZmargeff_nodummy_dyexmean_seZmargeff_nodummy_dyexmedianZmargeff_nodummy_dyexmedian_seZmargeff_nodummy_dyexzeroZmargeff_nodummy_dyexzero_seZmargeff_nodummy_eydxZmargeff_nodummy_eydx_seZmargeff_nodummy_eydxmeanZmargeff_nodummy_eydxmean_seZmargeff_nodummy_eydxmedianZmargeff_nodummy_eydxmedian_seZmargeff_nodummy_eydxzeroZmargeff_nodummy_eydxzero_seZmargeff_nodummy_eyexZmargeff_nodummy_eyex_seZmargeff_nodummy_eyexmeanZmargeff_nodummy_eyexmean_seZmargeff_nodummy_eyexmedianZmargeff_nodummy_eyexmedian_seZmargeff_nodummy_eyexzeroZmargeff_nodummy_eyexzero_seZmargeff_nodummy_atexog1Zmargeff_nodummy_atexog1_seZmargeff_nodummy_atexog2Zmargeff_nodummy_atexog2_seZmargeff_dummy_dydxZmargeff_dummy_dydx_seZmargeff_dummy_dydxmeanZmargeff_dummy_dydxmean_seZmargeff_dummy_count_dydx_medianZ"margeff_dummy_count_dydx_median_seZmargeff_dummy_eydxZmargeff_dummy_eydx_seZmargeff_dummy_eydxmeanZmargeff_dummy_eydxmean_seZmargeff_count_dydxZmargeff_count_dydx_seZmargeff_count_dydxmeanZmargeff_count_dydxmean_seZmargeff_count_dummy_dydxoverallZ"margeff_count_dummy_dydxoverall_seZmargeff_count_dummy_dydxmeanZmargeff_count_dummy_dydxmean_seZmargeff_dummy_atexog1Zmargeff_dummy_atexog1_seZmargeff_dummy_atexog2Zmargeff_dummy_atexog2_se
pred_tabler>   r   r   r   r=     s   



                                                                          	!!                                          	  zSpector.logitc               "   C   s  t  } d| _ddddg| _dddd	gdd
ddgddddgd	dddgg| _ddddg| _d| _d| _d| _d| _d| _	d| _
d| _d| _d| _dddd g| _d!d"gd#d$gd%d&gd'd(gg| _d)d*d+d,g| _d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLg | _tdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdlg | _dmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddg | _d | _ddddddddddddddddddddddddddddddddg | _tddgddgg| _| S )NrB   gQ?gZ5{7|?gA?gUI-g)Qs?gn^gc?guKg/n|?g՚Z?d?g\Nv湿gƿ?gBUÈgdoN@g,I4?gҴy?g


?g=hV@g|0:)rE   r@   rF   gdz/@g/ƙ(?g]6|W?g	r>@@g1C@g_|@gA5@g?g
:%-@g}ηrgW<H?g{,}@gIqټgՊTԪ?g
|$?g!X4@g;ǀ(g=)gMuϕ?gw3?g?gK;Զk?gEQW?gS^-?g<GO?gQ§2?g?g݋yg?g xq?gҦ?g6
ڻ?gH8?gf%}?gdvqv?g7h?gQ?gL+H?g 
~?gu+:H>e?g({?g&?g"<?gm\!?g~Z?g_[C{?gO?g_?gjIG?g?g2DQ?gj?g\٪x?gC5%YG?gI_?gߣ gg  g+  t g??g   g? g_2gg  ?g"g  gVݿg|g_׿g5  `5 g/  g?gzB??gK  `.?gj   ڞg?g   WMgg   h?g  `h?g `gZ?g  cܿg?+?g  ?ge @S?g!  g]ȿgji>#տggQȿgL_?g@<οg&ȿgۙSӿgsX~*޿gDNc?gPۆQǿg_g!AHg-?gnx	g"_H=ʿgOEӿgпg&wgLK1R?g{ֿgxͫ:?g:0oIgCgqD?g5C(^%?g0?gcg%P6?g^?g"07g7/N\ @gyY|Eg!=g!oտgl<bg?gQhYg?gc3g9ʿgG6u?g0kgi:տgݯg`-?g`g`̖pgj	g0eg)rg4+ۇ?g[Og, ?goDIݿgH'g?gֈ`?g1?g
<g:vP?g
<I?gs9>Zg"4q?rG   rH   )r   r   r   r"   r   r#   r$   r(   r)   r%   r'   r&   r,   r-   r.   r0   r/   r!   r   r1   r    rJ   rI   rK   rL   r>   r   r   r   rA     sJ      



                         "                         	                     zSpector.probitN)r   r   r   __doc__r   r=   rA   r   r   r   r   rD     s     ^rD   c                   @   s   e Zd ZdZdd Zdd Ze Zdd Ze Zdd	 Ze Zd
d Ze Zdd Z	e	 Z	dd Z
e
 Z
dd Ze Zdd Ze Zdd Ze Zdd Ze Zdd Zdd Zdd ZdS )RandHIEz(
    Results obtained from Stata 11
    c                 C   s
   d| _ d S )NN  r
   r   r   r   r   r   1  s    zRandHIE.__init__c                  C   s  t  } d| _dddddddd	d
dg
| _d | _ddddddddddg
| _tjtj	t
ddd}|d d df | _|d d df | _d| _d| _d| _| j| j d | _d| _d| _d| _d | _d!| _d"d#d$d%d&d'd(d)d*d+g
| _d,d-gd.d/gd0d1gd2d3gd4d5gd6d7gd8d9gd:d;gd<d=gd>d?gg
| _d@dAdBdCdDddEdFdGdg
| _dHdIdJdKdLdMdNdOdPg	| _dQdRdSdTdUdVdWdXdYg	| _dHdZd[dKd\dMd]d^d_g	| _dQd`dSdTdadVdbdcddg	| _tjtj	t
dedd| _| S )fNrO   gj媿gIϿg !&?g$gc?gv`?g7eg}WE?g&a?g.oJi?g1)g?gpjo?gRl]?glZ?glZ?g̈B?g?g۲Z?g 0?gMs܆?zyhat_poisson.csvr   r   r      gcGrzg 1rE	   gؗ@g_=?g2ZGղ{@gei礀@g^O$T72giЮE7gCM3@gLSp5gN36@gñN@gzągJ"?@gM~_@g؎H^O@gʭg gO@n6%ѿguih̿g O;?gZY@?gIyRgNugzyy?gp?giZZϠ?g'?g|Sg>Âv?gn?gL(?gf7?g|N|?g?p'?gڸЄ?g~8c0gx.5'gLuG9q0.gŚ^r*g9mdUi)g9-p?g|z&;?gG۟|<g|'Ǩ#<ÿg_AMgk29׹?g+@Qg?gѲڸ?gݽjUygb:?g@ԬS?gN}?g־?g<Rѝ}u?g??Tfr?gb׊A ?glQnH[?g;̀?gHl?g
@We?g:og29׹?gj?gO&g "?gw?gD&?>?gdA ?gk?gt~l?g7X@?zpoisson_resid.csv)r   r   r   r"   r   r   r   r   r   r   r   r!   r    r#   r$   r(   r)   r%   r'   r&   r,   r-   r.   r0   r/   Zmargeff_dummy_overallZmargeff_dummy_overall_seZmargeff_nodummy_overallZmargeff_nodummy_overall_ser3   )r4   Zpredictr   r   r   poisson4  s                                               zRandHIE.poissonc                  C   s   t  } d| _dddddddd	d
ddg| _d| _d| _dddddddddddg| _ddddddd d!d"d#g
| _d$d%d&d'd(d)d*d+d,d-g
| _d.d.d.d.d.d/d/d/d/d/g
| _d0| _	d1| _
d2| _d3d4gd5d6gd7d8gd9d:gd;d<gd=d>gd?d@gdAdBgdCdDgdEdFgdGdHgg| _dI| _dJ| _dK| _dL| _dM| _dN| _| S )ONrO   gkL9g!o#ѿg?gUv4Ȇg/5?g2?g1ngfa9?gwIk?g;?gJb?g>G.z?g+wbq?g,'x?g^L'?g]	jp?g)7l?gP9aN?gqaUW?gǐzj?g3Y?gN?gRᢙ?gWr?gHc#gi;T'gkLR$@g9gT$&g;~P!@gfF:@g>}gңV?g	1~r6@gNI4:@gWͳd;g5*c^9gX;gW>w8+:g[B%<g[c?g?gn8f0+?g.-I?gtd#Zge«?g*H97?g!/U0@iN  rQ   g8y㱿g.~	ˎg+(ӿg".l̿gymۜ?gg)YNB?gծgK	wg}G£?gi\?gI]M?g4?gwR	\g8sg٢@pgpf?gRy=?g>۴c?g+ ?gCfx?glf?gfvG?gG5@F=-g|@g!/.      "@r7   )r   r   r   lnalpha_std_errlnalphar   r.   r/   fittedvaluesr,   r)   r(   r0   r-   r$   r%   r#   r&   r>   r   r   r   negativebinomial_nb2_bfgs  s                                 z!RandHIE.negativebinomial_nb2_bfgsc                  C   sf  t  } d| _dddddddd	d
ddg| _d| _d| _dddddddddddg| _ddddddd d!d"d#d$g| _d%d&gd'd(gd)d*gd+d,gd-d.gd/d0gd1d2gd3d4gd5d6gd7d8gd9d:gg| _d;| _d<| _	d=| _
d>| _d?| _d@| _dA| _dB| _dCdDdEdFdGdHdIdJdKdLd@g| _dMdNgdOdPgdQdRgdSdTgdUdVgdWdXgdYdZgd[d\gd]d^gd_d`gdadbgg| _dcdcdcdcdcddddddddddg
| _| S )eNrO   g7ˡgVwoҿgZw?g!q=fgm5fg?gGzQ?gZAgJ ֨gȇ)џ?gx(;?gO'e@gƧE?gK K?gfˊu?gtH	1,?gsRÓk?g'+|h?g<=^?g,I
Q?g<a?gㄞ?g8߅?g6RQ?g. ?gnO^(g{.g3(@gfaH%g9ؙ	 @gBs'=@gw?YOgL8ga @gύ[A@gџ
M@g>ehgB<gjտgLPyпg?g;q+s?gmgqbŚgm#t?gake?gzfw?gRc?g8ⰿgK?<g²	\gL^?g.%?s?gs .?gQ@gHrh@gW]2?gQʪ?gK52!rS   g}%Ĝ@gK528#@gkߨ(@r7   rT        @g*T^8g2R-d5gJ>18g:gc9<g/rvgfF1F'?gӉϺ?g:9ݤ?g:0'gC,ig/g|#_jտg>myпgZ/ɷ?g|#u?g'kgIg^`n?gQ`?gV
l){?gae?g0氿gTI~?g{`_g'3K?gV{Wr?g&7?gv?gSf?gQI@g@g!(?gn&|9?)r   r   r   rV   rU   r   r.   r0   r#   r$   r%   r,   r-   r&   r(   r)   r/   rW   r>   r   r   r   negativebinomial_nb1_bfgs  s                                  z!RandHIE.negativebinomial_nb1_bfgsc                  C   s  t  } d| _dddddddd	d
dg
| _ddddddddddg
| _ddddddddddg
| _d d!d"d#d$d%d&d'd(d)g
| _d*| _d+| _d,| _d-| _	d.| _
d/| _d0| _d1| _d2d2d2d2d2d3d3d3d3d3g
| _d4d5gd6d7gd8d9gd:d;gd<d=gd>d?gd@dAgdBdCgdDdEgdFdGgg
| _| S )HNrO   g$HggӇoѿgMX?g,#yng4?g
x?g9S-gB^&Ǔ?g-?gS6E?g%6hv?gb`?gfn?g;Ui?gL2;?gGPmU?gcU?gmd?ghS?g}a
?g	E:g:Q>&8g,QH]:gO8gwۇ\ >;gΔnPgκ[t?gjY?gdR{?gYR:FCgpͺ$g^L{)gb3K%@gE!(gBjEa8#@gmc<@ggGv?gέ֩@gO|=@gb	C@g+H@rT   rY   g>hBg-Tg`yHX@r   g.\6x?gɏk?gpb"gh9ugӿgBK̿gR%)?g?ǧDgvyejTgjDԢ?gջˇ?gȷl$?g*ˤ?gpu+gd];~g,Ԍ5g7rY}\?gꢕ9e?gàe@?g@)?gf{?)r   r   r   r   r/   r.   r,   r-   r(   r)   r#   r$   r%   r&   rW   r0   r>   r   r   r   negativebinomial_geometric_bfgs"  s                                   z'RandHIE.negativebinomial_geometric_bfgsc                  C   s   t  } d| _d| _ddddddd	d
dddg| _d| _d| _dddddddddddg| _d| _d| _ddgdd gd!d"gd#d$gd%d&gd'd(gd)d*gd+d,gd-d.gd/d0gd1d2gg| _	d3| _
d4| _d5| _| S )6NrO   gJ'g=gzѿgScn?gԨ+CgP gWy?g%2o?g;bKg`}Tg5]t?gQ*:?g9-
n?gKl?gNgYZy?gd?g5$S.r?gqem?gT
?gǕ@?[?gs?gE2?go{?g`?g{ڥw?rQ   g=J-)@g!㨲g0giGyԿg[ZzͿg^r?gy?g4ԧgJ³g?v?gW4?gWNΒâ?g4<l?gE.۱gK2z>̌g	쳿gLJI(K?gGg7;)?gm6VA0?g.?2{?g<?g[Ihd?gDE-Y.@gMWEVgEuْ@)r   r   r#   r   rU   rV   r   r(   r,   r0   r-   Zwald_pvalueZwald_statisticr>   r   r   r   generalizedpoisson_gp2Q  sT               zRandHIE.generalizedpoisson_gp2c                  C   sp   t  } d| _ddddddg| _d| _d	d
ddddg| _ddgddgddgddgddgddgg| _d| _d| _| S )NrO   g6 w?gbXgL
g?g斱TpgC·?gOg?]?ga]A?gr{?w^?Ge"W?gL0k?g;֙t?g6uy?gxog@Cgu-kgtE)!XUg֦t?g??gEg˚g8Kr?g<?gww@gffffn@r   r   r   r#   r   r0   r,   r-   r>   r   r   r   zero_inflated_poisson_logitt  s*      z#RandHIE.zero_inflated_poisson_logitc                  C   sp   t  } d| _ddddddg| _d| _d	d
ddddg| _ddgddgddgddgddgddgg| _d| _d| _| S )NrO   gN.!z߯?g=glz	g)?g{Un3pgyȷ?ggngs?go#?g|ҔS?r]   r^   g=P?gZf5?gO[?gagg*fD"g)(igydbRgUt?gX	?gEg&:gԕr?gl?g@gy@r_   r>   r   r   r   zero_inflated_poisson_probit  s*      z$RandHIE.zero_inflated_poisson_probitc                  C   sp   t  } d| _ddddddg| _d| _d	d
ddddg| _ddgddgddgddgddgddgg| _d| _d| _| S )NrO   ghP~z?gcAaPQg gΟg;Ѻ?ghzjg/oj?g
ףpkg2?gcpp?g2?g̴X^?gch+3W?g`?gיtPӶ?gpĤ	?gT8T
gΨ*gk%Qg1iBI7g:?gD;?g{Y}a蟿gVW9g !J?g:?g̴l@g̬o@r_   r>   r   r   r   zero_inflated_poisson_offset  s*      z$RandHIE.zero_inflated_poisson_offsetc                  C   sD   t  } d| _dddddddg| _d	| _d
ddddddg| _d| _| S )NrO   ggC@g=1g Ac]˿gV?gag6vꭁ?g?g3333Mgfӓ?gAJi{@ghW!'?g#EdXk?gxĬg?gJ4?gT[r?iT )r   r   r   r#   r   r,   r>   r   r   r   !zero_inflated_generalized_poisson  s        z)RandHIE.zero_inflated_generalized_poissonc                  C   s6   t  } dddddg| _d| _ddd	d
dg| _d| _| S )Ng{gUI$?g}KЏ$g)5ʿgje/5?ggW?gQgN@a?g?ܵ?gZM?goG8-xч?gVE?g\\@)r   r   r#   r   r,   r>   r   r   r   zero_inflated_negative_binomial  s    z'RandHIE.zero_inflated_negative_binomialc                 C   sZ   dddddg| _ d| _ddd	d
dg| _ddgddgddgddgddgg| _d| _d| _d S )NgD</?gW\T+gPѢVx?g| [?gt=Q@gHzgINq?g[/ɷ-?g#&f?guk>c?g)*H:?gbLgAh?gٳB쟿g`fN~?gѾ">?g
4G_?gd-O1hg7	＞y?g):@g#ݯ@gHz.@gz@r   r#   r   r0   r,   r-   r   r   r   r   truncated_poisson  s    zRandHIE.truncated_poissonc                 C   sZ   dddddg| _ d| _ddd	d
dg| _ddgddgddgddgddgg| _d| _d| _d S )Ng{)gղHhg,q?gemg|ds<?gK[g7Emh?g;v?g9~4bf_?gqZ?gxj?g􃏿g
RςPng}鸿gsZϫgj1q?gaO#?gշg__R#gy"p?g 	?g(\@gףp=V@re   r   r   r   r   zero_truncated_poisson  s    zRandHIE.zero_truncated_poissonc                 C   s6   dddddg| _ d| _ddd	d
dg| _d| _d| _d S )Ng1s[gLAgp&
2?g<?g`
@ig!rz~?gռ?gL4HSu?gN$?gޣHb?gz@gHz6@)r   r#   r   r,   r-   r   r   r   r   zero_truncted_nbp  s     zRandHIE.zero_truncted_nbpN)r   r   r   rM   r   rR   rX   rZ   r[   r\   r`   ra   rb   rc   rd   rf   rg   rh   r   r   r   r   rN   -  s2   KA\-!rN   )rM   r   Znumpyr   r   r   abspathdirname__file__r   r   r6   rD   rN   r   r   r   r   <module>   s    f =  z