
    M/PhK                         d dl Zd Z G d d          Z G d d          Z G d d          Z G d	 d
          Z G d d          Z G d d          Z G d d          Z	 G d d          Z
dS )    Nc                    t          j        |           } t          t          j        t	          |                               }t          j        t          j        |                     ||          dd          dd          S )zq
    A convenience function to make the SAS covariance matrix
    compatible with statsmodels.rlm covariance
       )axisr   )npasarrayintsqrtlenrollreshape)arrsides     l/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/robust/tests/results/results_rlm.py_shift_interceptr      sd    
 *S//Crws3xx  !!D7273;;tT22BQ???!LLLL    c                   r    e Zd ZdZd Zg dZ ee          Zg dZ ee          Z	g dZ
 ee
          ZdS )Huber
    c                    t          j        g d          | _        t          j        g d          | _        d| _        t          j        g d          | _        t          j        g d          | _        d| _        d| _        t          j        g dg d	g d
g dg          | _	        t          j        g d          | _
        t          j        g d          | _        d S )N)g;?g 5?gw|\]g
^eD)g45Pv?g۵	k?g=~?g\#@g=@)      ?r   g%%?gy(?r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   g@?)gf@gޞ gov@gX4@g\JeVg
g̩Kg</Sfgg8		g@K?g	E?g;v^0?ggwFg!@g$j@?g7.퓨gެ?gnO?gza?g_Ky!      gkS\?Ynlh,_@FV?r   g.n^? 3\ܔ>q}^r   r   gc?HܾeĿr   r    r"   gPE*@)g浯yC@g8,C@gH(Qi@@gr5@gʥT6j3@g_Ay4@zɜ44@r$   g:A8A1@gx]	+@g_#\(@g9Q"#'@gy*@g'Nn)@g(#@g\iRw@g>!@gntB@g};y!@g0*@gͥ<7@)g3Q@gm%P7k@g'Ԩ4gpr   arrayparamsbsescaleweightsresiddf_modeldf_residbcov_unscaledfittedvaluestvaluesselfs    r   __init__zHuber.__init__   s;   h  ;  ;  ; < <8JJJKK'
x ! ! !   X 2 2 2 3 3
 X. . .      '   H & & &   x !; !; !; < <r   )g}8gW@gD?g3VCܿg\r),gm{?gAh:;?煶KqU3fsglxz,Cܿr4   g =~?h㈵>g<,r5   r6   gm{?)g=UT@gM~T?gPkwοg^2gjMS?g}9?Cfڞ3.lguοr7   gD4ؙ?m2[gd;Or8   r9   g"?)gׁsQ@g,g~5vq-gb(goŏ1g?Py7T7`r:   r;   g)Ǻ?#Gkg(r<   r=   geN?N)__name__
__module____qualname____doc__r3   huber_h1r   h1huber_h2h2huber_h3h3 r   r   r   r      s         "< "< "<N$ $ $H 
	(	#	#B% % %H 
	(	#	#B& & &H 
	(	#	#BBBr   r   c                   r    e Zd ZdZd Zg dZ ee          Zg dZ ee          Z	g dZ
 ee
          ZdS )Hampelr   c                    t          j        g d          | _        t          j        g d          | _        d| _        t          j        g d          | _        t          j        g d          | _        d| _        d| _        t          j        g dg d	g d
g dg          | _	        t          j        g d          | _
        t          j        g d          | _        d S )N)gr?g]D?gif¿gF<D)gm A?gGZD?g#48 ?gVK'@gMĴ@)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   g/?)g_xF\@g3 gMst@g*{;%@gfq{87gb9[gRg.zrg۞1g9Q?g56C#@gv0@g)gK(xпg*@gu]>L?gE1g&K0׿gk,ܿg};"}?gGlr   r   r   r   r!   r#   )gz2wC@gQ:ÚC@goQ@@gR!66@gs3@g,gkT4@Y*W5@rL   gԸy32@gX)@gr2/7'@gHs%@g8@)@gEc(@gj@gQT-xv@g)"&U"@g1_	 @g^c"@g0[0+@gt[6@)g@'@g.RC
@g.v`gᇵ9r%   r1   s    r   r3   zHampel.__init__P   s@   h  ;  ;  ; < <8LLLMM'
x !L !L !L M M X     
 X. . .      '   H & & &   x !; !; !; < <r   )gSa@gG`?gO@age6g|?5^?ga?	m9⪢磯 X4}gErM   g6XO?r6   gbX9rN   r6   ge1?)g-`@gN?g9]׿g}gK?ggs?wn\	m9wgV-׿rO   g:M?ggoʡrP   rQ   gKqUٗ?)gx`@g:?g(~k	grmogS㥫?g'IL?=
YXjpg~jtrR   g67'?碗Q,zg;OnrS   rT   g؞Y?N)r>   r?   r@   rA   r3   	hampel_h1r   rC   	hampel_h2rE   	hampel_h3rG   rH   r   r   rJ   rJ   M   s         #< #< #<J% % %I 
	)	$	$B% % %I 
	)	$	$B& & &I 
	)	$	$BBBr   rJ   c                   n    e Zd Zd Zg dZ ee          Zg dZ ee          Zg dZ	 ee	          Z
dS )BiSquarec                    t          j        g d          | _        t          j        g d          | _        d| _        t          j        g d          | _        t          j        g d          | _        d| _        d| _        t          j        g dg d	g d
g dg          | _	        t          j        g d          | _
        t          j        g d          | _        d S )N)gAw?gOk`?g -gb1$E)gyMl?g߁*A?gW?g@w)#@g8|ObMA@)gIrLX?gfQ?gߗK?g}?g@G?gz"?g(z?gM?g3c?gj*?g9˪?g$W51?gהT;?g>{E?gy]?glN?g叒?g:?g6w?g" ?g_àDb?)g@gxAg1T|@g[@g2@oAgjUgQKg;FW.ٿggMg!b{KοgPx?gѯ)g?gBg'Rtg@gQ筲]?gQ>׿gS$?gsEu&?g
8?g:D+$r   r   r   r   r!   r#   )g!0AӾC@g7*4C@gU:@@g`C5@gX3@gWj4@^d4@r[   g|o޴0@gQ,uz,@gzt*@gr,a)@gQ9Dn,@ge\*@g %4;@g
CI@g @g.S@g= @g^*@g"o9@)gQY;+!@g,@g]Yl?g5bϾr%   r1   s    r   r3   zBiSquare.__init__   s;   h  ;  ;  ; < <8MMMNN'
x !1 !1 !1 2 2 X     
 X. . .      '   H & & &   x !: !: !: ; ;r   )gŏ1wV@g?g0ڿg;fg9m4?gsƇ?խޗvꭁrgeaڿr\   gQi>"?r6   g1w-!r]   r6   g9(a?)gB=P@]j~^?fҿwJr^   g P\?L֝K8lr_   ra   g˞6?MbPr`   rb   rc   gL?)g~rH@&z<?V`Ŀ: rd   g3k) ?眧:f+~7ere   rg   gWۼ?t^cZrf   rh   ri   g۠[;?N)r>   r?   r@   r3   bisquare_h1r   rC   bisquare_h2rE   bisquare_h3rG   rH   r   r   rY   rY      s        &; &; &;P% % %K 
	+	&	&B0 0 0K 
	+	&	&B: : :K 
	+	&	&BBBr   rY   c                   t    e Zd Zd Zd Zg dZ ee          Zg dZ ee          Z	g dZ
 ee
          ZdS )Andrewsc                     g d| _         g d| _        d| _        d| _        d| _        g d| _        g d| _        g d| _        d S )	N)gݵ|г?g??g>W[g/$%E)g^)?gݓ?g_v?g6<R"@gv=@g      @g      1@)gn?P@g3g/^p@gA
zŻ@g|vJgnMd-Vg|IgO&ٿg4ƱFg+YCMϿgX?g.W\b?gu(g7g͔@gpW?gcӷlw׿gNyC?gjq;?g^/ ?gsP$)gϡ4f?gCNg#?g6''S@g!6gQr*g&lg5Kԛƿg2+Ajg|ugf[_®?gA ?gG
F1gd)!gr6?giDk?gLĿg>eWG>?g.E?g&Sk?gfdS)gJ}g?gtd>?gNd>?gV?)?g񺒥=?g "j?gxi?gWCe?g,\?gyb%>?gMnW?g?g?g:VA?g[hnR?gp_}?giR?gF?gۅ Fr?g.?r   )r'   r(   r)   r,   r-   r+   sresidsr*   r1   s    r   r3   zAndrews.__init__   sq    888000
  
  G G Gr   c                 
    g dS )N))g镲?gV-?)gڊe?gX9v?)g<,Ԛֿgb=y?)gbX9PNgS㥛7rH   r1   s    r   conf_intzAndrews.conf_int   s    & & & 	&r   )gHU@Y!?璮|ٿeS.rs   g
ףp=
?s,&6Q,rrt   rv   grar?.>ru   rw   rx   g?)ghUMP@l/ں??Կ*Pry   gދ/?]o%H}mrz   r|   gNP?_LEr{   r}   r~   gCup?)g]OH@oI?ϽϿV	r   g Z+ڌ?;Dvӂgr   r   g¹?C8
Qr   r   r   g.u׃I?N)r>   r?   r@   r3   rr   
andrews_h1r   rC   
andrews_h2rE   
andrews_h3rG   rH   r   r   rn   rn      s        G G G<& & &0 0 0J 
	*	%	%B0 0 0J 
	*	%	%B0 0 0J 
	*	%	%BBBr   rn   c                       e Zd Zd Zd ZdS )
HuberHuberc                 N   g d| _         t          | j                   | _         g d| _        t          | j                  | _        g d| _        t          | j                  | _        g d| _        g d| _        g d| _        d| _        d| _        d	| _	        d
| _
        d| _        d S )N)gSt$\@c]K?"nض(r   gX_"?׻?xĬwr   r   gKTo?E/ӑ>r   r   r   gu=?)g	hY@[v?͒ 5lտ`r   g<HO?+Hqr   r   g6U?nar   r   r   gOyt#,*?)gHV@,d?猡hW!Qr   g *?d"fr   r   gX zR&5?3krr   r   r   gѓ2?)gՕ%E@g x	g%HZ@gB+@g+-zg^чPgJgXs6 gΰ:lgIga[?gd'Р?g2(?):?g牷3? g9gr@gd<k3%?gXϙgHgiUrgV<?gg* )g/A?g$^ɞg\?g~ q?gPGgܷggk{tӿg0gU$?g׭ۗ?gH]"?g{cԧg'-	ǿg1,f?gbAO4?g-'ԿgR]g ED"yVg)>?g~ڢ)r   r   r   gh!1?r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   gD㢽n?)g rh?g(\?gDJgfjD)g:M?gv/?gH.?gQIf%@gz6>W[
@r   r   rC   r   rE   rG   r+   rp   r*   r'   r(   r)   r,   r-   r1   s    r   r3   zHuberHuber.__init__   s    4 4 4 #47++4 4 4 #47++4 4 4 #47++C C C
  ' ' ' 91
r   c                 
    g dS )N))g|гY?g6<R?)g:M?gFx$?)g48EGڿgCl?)gOgY 4rH   r1   s    r   rr   zHuberHuber.conf_int%      7 7 7 	7r   Nr>   r?   r@   r3   rr   rH   r   r   r   r      s3        % % %N7 7 7 7 7r   r   c                       e Zd Zd Zd ZdS )HampelHuberc                 N   g d| _         t          | j                   | _         g d| _        t          | j                  | _        g d| _        t          | j                  | _        g d| _        g d| _        g d| _        d| _        d| _        d	| _	        d
| _
        d| _        d S )N)g7[ ob@3.??RDUOjMr   giq0'h?9#J{~tgy~r   r   gjh?&|>r   r   r   g֩=#?)g~ja@j=&R?4Opؿ82r   gE
)??bEaVF?xr   r   g.s/?5)^hr   r   r   gV
\?)g(~k`@鷯?_5!p:ǀr   gGoܚ?KTpr   r   gnʆ5?_Q{r   r   r   gJ_?)g?l|	@gր- gA!?@g_)@gjbgK_g>g|;<gP2׋g[Eg?g6@gqnF:@g*˚gJƿgL@ggF?g:0g:?ٿg`TE߿gT57b
?g68)gBOx?g~|gl?gv0y;v?gΝ=agpmz2g8dg]h|ڿg	J4ggl?gݲR'1?gWQ;1?g[VRK޿g66go?g88	c?gWۿg,ľg+ήeÿgE:s?g#GJ)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   g{A?)gBfj?gc]F?g	c¿gmV}"D)g`TR'?g]Fx?gY8m?gaTR'I(@g47B
@r   r   r   r1   s    r   r3   zHampelHuber.__init__+  s    3 3 3 #47++4 4 4 #47++3 3 3 #47++  
  " " " 91
r   c                 
    g dS )N))g oŏ?gǺ?)gX9v?gz):?)gQ|ݿg0*?)gԚPgcZB>x0rH   r1   s    r   rr   zHampelHuber.conf_intS  r   r   Nr   rH   r   r   r   r   *  3        & & &P7 7 7 7 7r   r   c                       e Zd Zd Zd ZdS )BisquareHuberc                 N   g d| _         t          | j                   | _         g d| _        t          | j                  | _        g d| _        t          | j                  | _        g d| _        g d| _        g d| _        d| _        d| _        d	| _	        d
| _
        d| _        d S )N)g؁sF>`@0~?e`TR'ear   g=#?痨*t^czr   r   g&OYM׿?+<->r   r   r   gg%?)gw/q[@>Ȳ`?+MJAп(~kr   g'?Gŧ Y4rr   r   g"J?{jr   r   r   gƟlX?)g˜.V@CVzNz灗6?-	PSr   gfHū?~@j>"Dbr   r   gc!:?ZӼ}r   r   r   g?)g'CwG@g{- ghc@g54>@gYtg&IKg gK)I)g=ڹgz?gө?gLaHC?gc( g0'8)go@gP?ggް{`gu.͢gΤ?gH: )gb?gQgNy?g(m~?grugjrxgVdŇvg| :ӿgGgo\l?gf׉?g8?gNg9l0ǿgߠ7?g'dk?g3b'yԿgrg=+J	g(N=|?gh)g?g'V?g.w$fg?g?geZG8?gxp?g[$>?gh{n?g;?gޢM?gDd?g=3?gڍ̐?goX?gYl?gɆ?gEʳ?gE!:?gFi?gzl?g[t?)gea?gN@a?gJ+g_LrD)aTR'?g&S?"lxz,?g镲&@g镲q
@r   r   r   r1   s    r   r3   zBisquareHuber.__init__Y  s    G G G #47++4 4 4 #47++< < < #47++5 5 5
' ' '& & & 91
r   c                 
    g dS )N))gfc]F?gX9v?)g7A`?g:pΈ?)K=Uۿg{Gz?)gzOg46<2rH   r1   s    r   rr   zBisquareHuber.conf_int  r   r   Nr   rH   r   r   r   r   X  r   r   r   c                       e Zd Zd Zd ZdS )AndrewsHuberc                 N   g d| _         t          | j                   | _         g d| _        t          | j                  | _        g d| _        t          | j                  | _        g d| _        g d| _        g d| _        d| _        d| _        d	| _	        d
| _
        d| _        d S )N)g|a2=`@`6?焁%~@r   gsd?a)r   r   r   gȮԿ?Oڟ+>r   r   r   g؁sF?)gS㥛p[@J\Ǹ?$~пdzr   g?,Օ?^2᧿r]   r   r   g_5?&Kjr   r]   r   gaO;5Y?)gTƿV@Xni5$
)??n/ir   gOGɫs?)sHPsbr   r   g:>Z1?ǵb|r   r   r   g![?)gnd5R@g:ӧ g/E@g7B@gmgPHg?t g~4f'gE᲻g4?g /?g,U?go" g2+1gCF@gԠe?g|1>gƿgrgH~?g˝dnh )gRom?gվ3Bg5;B~?g\?g#v0ge~0Qg_Ov^sg3ӿgG񏖁g|g?gAMv?g %ž?gK3gz0ǿg?gd0MS?g|vӁԿg =8gx27g.ԦY|?ghߐb)g?gйa/?go@mV?g-?giL84?gf}??g?gM,?gGD4?giU?g^i7?g~f?gY-֎?g M?g儦x?gLa?grx	?gK;?gU\Ӿ?gCi?g
s_?)g^?g^)?go_gpΈpD)r   gTt$?r   g$(~&@gHPs
@r   r   r   r1   s    r   r3   zAndrewsHuber.__init__  s    > > > #47++4 4 4 #47++3 3 3 #47++  
  & & & 91
r   c                 
    g dS )N))g$C?g#~j?)gzG?gͪ?)r   gPkw?)gjMSOg<,Ԋ2rH   r1   s    r   rr   zAndrewsHuber.conf_int  r   r   Nr   rH   r   r   r   r     s3        ( ( (T7 7 7 7 7r   r   )numpyr   r   r   rJ   rY   rn   r   r   r   r   rH   r   r   <module>r      sv      M M M:$ :$ :$ :$ :$ :$ :$ :$z8% 8% 8% 8% 8% 8% 8% 8%v9' 9' 9' 9' 9' 9' 9' 9'x3& 3& 3& 3& 3& 3& 3& 3&r*7 *7 *7 *7 *7 *7 *7 *7Z+7 +7 +7 +7 +7 +7 +7 +7\+7 +7 +7 +7 +7 +7 +7 +7\-7 -7 -7 -7 -7 -7 -7 -7 -7 -7r   