
    (ph                        S SK r S SKrS SKJr  S SKJrJr  S SKrS SK	J
r
  S SKJr  SSKJr  S SKJr  S SKJr  S S	KJr  / S
QrSrSr/ SQr/ SQr/ SQr/ SQr/ SQrS/r\\-   \S.r\\S.rS1r / SQr!S r"\RF                  RH                  \RF                  RK                  S\"" 5       5      \RF                  RK                  SSS/5      S 5       5       5       r&S1S jr'S r(S r)S r*\RF                  RK                  S \
RV                  S!4\
RX                  S"4/5      S# 5       r-S$ r.S% r/S& r0\RF                  RK                  S'\0" 5       5      S( 5       r1  S2S) jr2 " S* S+5      r3/ S,Qr4 " S- S.5      r5 " S/ S05      r6g)3    N)assert_allcloseassert_equal)statsdifferential_evolution   )distcont)FitError)distdiscrete)goodness_of_fit)    i'        ?      ?)dpareto_lognorm
gausshypergenexpongengamma	irwinhallkappa4ksonekstwoncfncx2
truncexpontukeylambdavonmiseslevy_stable	trapezoidtruncweibull_minstudentized_range)		betaprimecrystalball	exponweibfgeninvgauss	jf_skew_trecipinvgaussrel_breitwignervonmises_line)burrchichi2mielkepearson3genhalflogisticrdistparetopowerlawpowerlognorm
wrapcauchyr)   )4alphar"   r+   burr12cauchyr,   r-   r#   dgammar   dweibullr%   fatiguelifefisk
foldcauchy
genextremer   genhyperbolicgennorm	genpareto
halfcauchyinvgamma
invweibullr   r'   	johnsonsukappa3r   r   landaulevylevy_lr   
loglaplacelomaxr.   nakagamir   nctr   r2   r4   	powernormr)   
skewcauchytr   triangtruncparetor    r   r!   )argusexponpowr$   r   r   r0   halfgennormgompertz	johnsonsbr   	kstwobignr(   r   r   r*   r5   )MMMLErR   )erlangr?   norminvgaussc               #   L   #    [          H  u  pU [        ;  d  M  X4v   M     g 7fN)r	   skip_fit)distnameargs     M/var/www/html/venv/lib/python3.13/site-packages/scipy/stats/tests/test_fit.pycases_test_cont_fitrc   `   s#     
 "8#- "s   $
$zdistname,argmethodrZ   rY   c           	      r   [        [        R                  " SSS95      n[        [        R                  " SSS95      nU [        U   ;   a  U(       d  Sn[        R
                  " U5        U [        U   ;   a  U(       d  Sn[        R                  " U5        [        [        U 5      n[        R                  " USS//5      n[        R                  " [        R                  " U[        -  [        R                  " UR                   S	-   ["        5      /5      S
5      n[$         GH4  n	[        R&                  R)                  S5        [        R*                  " SS9   UR,                  " USU	06n
US:X  a  UR.                  [0        ;   a  SS
0nO0 nUR2                  " U
4SU0UD6nUS:X  aI  [        R4                  " U
5      nUR2                  " U40 UD6nSUR.                   SU SU 3n[7        XSUS9  US:X  a  U [8        ;  a  Sn[        R:                  " X45      nUS U2S
4==   S-  ss'   US U2S4==   S-  ss'   UR=                  SS9  [        R4                  " US9nUR2                  " U40 UD6nSUR.                   SU SU 3n[7        UUSUS9  S S S 5        WU-
  n[        R                  " [        R>                  " W
RA                  5       5      [        -  ["        /5      US '   [        RB                  " [        RD                  " U5      5      (       a  [G        S!5      e[        RH                  " [        R>                  " U5      U:*  5      (       d  GM5    g    S"[K        U5       S#3nUS$[K        W5       S#3-  nUS%[K        W5       S#3-  n[G        S&UR.                   S#3U-   5      e! , (       d  f       GN= f)'NSCIPY_XFAILF)defaultSCIPY_XSLOWz@Failure expected; set environment variable SCIPY_XFAIL=1 to run.z9Very slow; set environment variable SCIPY_XSLOW=1 to run.g              ?   r   i  ignore)allsizerZ   flocrd   zCDifferent results fitting uncensored data wrapped as CensoredData: z: est=z est1=g|=)rtolerr_msg   Gz?r   )\(?axis)intervalz2Different results fitting interval-censored data: z est2=皙?znan returned in fitzparameter: 
zestimated: zdiff     : zfit not very good in )&intosgetenvfailing_fitspytestxfail
xslow_fitsskipgetattrr   nphstackmaxvstackthresh_percentfullnumargs
thresh_min	fit_sizesrandomseederrstatervsnamemle_use_floc0fitCensoredDatar   fail_interval_censoredcolumn_stacksortabsmeananyisnanAssertionErrorrl   str)r`   ra   rd   	run_xfail	run_xslowmsgdistfntrueargdiffthresholdfit_sizer   kwdsestdata1est1nicrv   data2est2difftxts                        rb   test_cont_fitr   j   sO    BIImU;<IBIImU;<I<''	 QS:f%%iICUH%FiisCj)*GFF299gn&<&(ggfnnQ.>
&K&M NM I
		t[[X&**S1(1C6;;-#?{**S8848C **3/zz%040))/VC5tfNsC83I#I ??C:6#q!T)!#q!T)!1%**H=zz%040!!'VC5tfFccB= '@ W} FFBFF388:$6~$E$.$0 1b 66"((3-   !677vvbffTlm344] ` CL>,SXJb))SYKr**4V[[MDsJKK_ '&s   D:N''
N6	c                 h    [        [        U 5      nUR                  U5      SS  n[        XRUSU  3S9  g )Nrx   z poor mle fit of (loc, scale) in )atolrp   )r   r   r   r   )r   datadesiredr   dactuals         rb   _check_loc_scale_mle_fitr      s9    tAUU4[FF$>tfEG    c                  t    [         R                  " / SQ5      n [        SU SS/S5        [        SU SS/S5        g )N)rs   {Gz?r   r   Gz?r   r          @uniformrs   rr   MbP?expongp=
ף?)r   arrayr   )r   s    rb   "test_non_default_loc_scale_mle_fitr      s5    88DEDYtTlDAWdT7OTBr   c                  b    / SQn [         R                  R                  U SS9n[        USS/SS9  g)zgh-6167)r   r   r   r   rj   rj   rj   rj   r   )rn   ri   r   r   N)r   r   r   r   )r   phats     rb   test_expon_fitr      s-    #D;;??4a?(DD1c(.r   c                     [         R                  " [         R                  " S5      [         R                  " S5      /5      n Sn[        R
                  " [        US9   [        R                  " [        5         [        R                  R                  U 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N      z0Optimization converged to parameters that are...match)r   concatenatezerosonesr~   raisesr
   warnsRuntimeWarningr   betar   )r   messages     rb   test_fit_errorr      sq    >>288B<56D@G	xw	/LL(

t ) 
0	/(( 
0	/s$   B97 B(B9(
B6	2B99
Czdist, params)      ?      @)
   333333?rj   c                 \   [         R                  R                  S5      n[        U S5      (       a  U R                  nOU R
                  nU R                  " USUS.6nU" U/UQ76 R                  5       * nU R                  X5      nU R                  X5      n[        Xe5        [        Xu5        g )Nig:pdfd   rm   random_state)r   r   default_rnghasattrlogpdflogpmfr   sumnnlf_penalized_nnlfr   )distparamsrnglogpxfxrefres1res2s           rb   test_nnlf_and_related_methodsr      s     ))

	
*CtU&s5A!f!!#
#C99VD*DDDr   c               #     #    1 Skn 1 Skn1 Skn[        [        [        -   5       H  nX0;   d  [        U[        5      (       d6  Sn[
        R                  " U[
        R                  R                  US9S9v   MS  X1;   a6  Sn[
        R                  " U[
        R                  R                  US9S9v   M  X2;   a6  Sn[
        R                  " U[
        R                  R                  US9S9v   M  Uv   M     g 7f)	N>   r   rS   r   r   foldnormrL   r   	truncnormr   rR   poisson_binomr    r!   >3   r%   rP   r,   r<   ricer6   binomgammarK   r1   r7   r[   rF   r.   nbinomr2   arcsiner@   lognormrandintr   bradfordr:   rT   r   rV   rC   invgaussr/   r3   skewnormr"   	exponnormrA   r'   rW   rE   rX   rN   r=   r>   rD   rJ   r5   r#   r;   rU   weibull_maxweibull_minr\   r(   >   r   rM   r+   r   r   rQ   skellamzipfianr   r   	betabinomr$   	hypergeomr   
betanbinomr   
loguniform
nhypergeom
reciprocalr&   r   r4   r?   r   r0   r)   nchypergeom_fishernchypergeom_walleniusztested separatelyreasonmarkstoo slow (>= 0.25s)too slow (>= 1.0s))dictr   r	   
isinstancer   r~   parammarkr   slowxslow)skip_basic_fitslow_basic_fitxslow_basic_fitr   r  s        rb   cases_test_fit_mler     s     'N
RN=O \H,-!D#)>)>(F,,t6;;+;+;6+;+JKK#*F,,t6;;+;+;6+;+JKK$)F,,t6;;+<+<F+<+KLLJ .s   C5C7c               #   v  #    1 Skn 1 Skn1 SknS1n[        [        [        -   5       GH  nX@;   d  [        U[        5      (       d6  Sn[
        R                  " U[
        R                  R                  US9S9v   MT  XA;   a6  Sn[
        R                  " U[
        R                  R                  US9S9v   M  XB;   a6  S	n[
        R                  " U[
        R                  R                  US9S9v   M  XC;   a8  [
        R                  R                  S
5      n[
        R                  " XFS9v   GM  Uv   GM     g 7f)N>   rS   r   r   r1   r   r3   r   r   r   r   r&   r   r   r\   r?   r   r!   >1   rP   r,   r-   r<   waldr6   r   rK   anglitr[   rF   r2   rQ   r   maxwellr   r   r   r:   rT   r   r   rV   loggammar   r   r$   rA   r   rE   rX   rN   r=   r>   rD   rJ   r  r   r5   r#   r;   genlogisticrR   r   r   semicircularr(   r0   laplace_asymmetric>"   r%   r   rM   r   r+   r   r   rS   r7   r9   r   r.   r@   r   r   rC   r   rL   r/   r"   r'   rW   r   r   r   r  rU   r4   r*   r   r)   r    r  r  r   zFails. Oh well.r  r  r	  r
  zignore::RuntimeWarning)r  r   r	   r  r   r~   r  r  r   r  r  filterwarnings)r  r  r  warns_basic_fitr   r  r  s          rb   cases_test_fit_mser    s     
NJN$	3O !kO\H,-!D#)>)>&F,,t6;;+;+;6+;+JKK#*F,,t6;;+;+;6+;+JKK$)F,,t6;;+<+<F+<+KLL$;;--.FGD,,t00J .s   D7D9c               #      #    [        [        5      R                  5        H'  u  p[        U [        5      (       a  U S;   a  M"  X4v   M)     g 7f)N>   r(   r!   )r  r	   itemsr  r   )r`   shapess     rb   cases_test_fitstartr#  T  sA      N0028S))BB	 3s   A
Azdistname, shapesc                 6   [        [        U 5      n[        R                  R	                  S5      nUR                  S5      n[        R
                  " SSS9   UR                  U5      nS S S 5        UR                  " WS S 6 (       d   eg ! , (       d  f       N(= f)NiV r   rk   )invaliddividerx   )r   r   r   r   r   r   	_fitstart	_argcheck)r`   r"  r   r   r   guesss         rb   test_fitstartr*  \  ss    5(#D
))

	
*C::b>D	Xh	7t$ 
8 >>5":&&& 
8	7s   B


Bc                     [        X5      nU" X!5      nU" X15      n	X:  d  [        R                  R                  XXES9  g g )N)ro   r   )r   r   testingr   )
r   r   params1params0ro   r   	nlff_namenlffnlff1nlff0s
             rb   assert_nlff_less_or_closer3  h  sA    4#DEEM


""5d"F r   c                       \ rS rSr\R
                  rSr\R                  R                  \5      r\R
                  R                  SSS\S9rSS/rSSS	.rS
rSr\\S.rSS.S jrS rS rS rS rS+S jr\R4                  R7                  S\" 5       5      S 5       r\R4                  R7                  S\" 5       5      S 5       r\R4                  R@                  S 5       r!\R4                  R7                  SS5      S 5       r"\R4                  RF                  S 5       r$S r%S r&\R4                  R@                  S 5       r'S  r(\R4                  R@                  S! 5       r)S" r*S# r+S$ r,S% r-\R4                  RF                  S& 5       r.S' r/S( r0S)r1g*),TestFitiq  l   Va   r   r   r   r   r   r   r   nprw   {Gz?)r   ro   r   r   c                    [        USU0UD6$ Nr   r   )selfr   argsr   s       rb   optTestFit.opt|  s    %t====r   c                     Sn[         R                  " [        US9   [        R                  " SU R
                  U R                  5        S S S 5        g ! , (       d  f       g = f)Nz `dist` must be an instance of...r   r   )r~   r   
ValueErrorr   r   r   shape_bounds_ar@  r   s     rb   test_dist_ivTestFit.test_dist_iv  s;    4]]:W5IIb$))T%8%89 655s   -A
A c                 X   Sn[         R                  " [        US9   [        R                  " U R
                  / SQ/U R                  5        S S S 5        Sn[         R                  " [        US9   [        R                  " U R
                  SSS[        R                  /U R                  5        S S S 5        [         R                  " [        US9   [        R                  " U R
                  SSS[        R                  /U R                  5        S S S 5        [         R                  " [        US9   [        R                  " U R
                  / SQU R                  5        S S S 5        g ! , (       d  f       GN"= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)	Nz'`data` must be exactly one-dimensional.r   r   rj      z.All elements of `data` must be finite numbers.r   rj   rL  )123)
r~   r   rE  r   r   r   rF  r   naninfrG  s     rb   test_data_ivTestFit.test_data_iv  s   ;]]:W5IIdii)d.A.AB 6 C]]:W5IIdii!Q266!2D4G4GH 6]]:W5IIdii!Q266!2D4G4GH 6]]:W5IIdii$2E2EF 65 65 655555s/   0E'/?E9?F
//F'
E69
F

F
F)c                    SnSSSS.n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        SnSS/n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        S	nSS
/n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        SS/n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        SnS/n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        Sn/ SQn[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        SnSSS.n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        SnSS/n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        SnSS/n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        Sn[         R                  " [        US9   [        R                  " U R
                  U R                  5        S S S 5        [        R                  * [        R                  4S/n[         R                  " [        US9   [        R                  " U R
                  U R                  U5        S S S 5        g ! , (       d  f       GNn= f! , (       d  f       GN,= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNi= f! , (       d  f       GN'= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN`= f! , (       d  f       GN#= f! , (       d  f       g = f)Nz1Bounds provided for the following unrecognized...r7  r8  r   r   r:  r;  rM  r   z6Each element of a `bounds` sequence must be a tuple...)r   r   rL  z6Each element of `bounds` must be a tuple specifying...)r   r   r   r   r   z7A `bounds` sequence must contain at least 2 elements...z;A `bounds` sequence may not contain more than 3 elements...)r7  r7  r7  r7  z.There are no values for `p` on the interval...)r   r   r9  z.There are no values for `n` on the interval...)r   r   z6There are no integer values for `n` on the interval...)gffffff?g?z0The intersection of user-provided bounds for `n`)r~   r   r   r   r   r   r   r   rE  r   rQ  )r@  r   shape_boundsboundss       rb   test_bounds_ivTestFit.test_bounds_iv  s   E$6@\\.8IIdiiL9 9 K"F+]]:W5IIdiiL9 6 K"K0]]:W5IIdiiL9 61v]]:W5IIdiiL9 6 Ly]]:W5IIdiiL9 6 P5]]:W5IIdiiF3 6 C$62]]:W5IIdiiL9 6 C(]]:W5IIdiiL9 6 K"F+]]:W5IIdiiL9 6 E]]:W5IIdii+ 6&&"&&)62]]:W5IIdiiL9 65[ 98
 65
 65 65
 65
 65
 65
 65
 65 65 65s   -N66-O
-O-O,/-O>-P-P",-P4 -Q,Q -Q*6
O
O
O),
O;>
P
P"
P14
Q
Q
Q'*
Q8c                    SnSSSS.n[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        SnSS	S
.n[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        SS/n[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        SS//n[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        SnS/n[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        Sn/ SQn[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        SnSSS
.n[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        Sn/ SQn[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        SnSSS
.n[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        Sn/ SQn[         R                  " [        US9   [        R                  " U R
                  U R                  U R                  US9  S S S 5        g ! , (       d  f       GNT= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNu= f! , (       d  f       GN+= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNI= f! , (       d  f       N= f! , (       d  f       g = f)Nz2Guesses provided for the following unrecognized...r   r      rV  r   )r)  z+Each element of `guess` must be a scalar...hir9  r%   rj   z-A `guess` sequence must contain at least 2...z1A `guess` sequence may not contain more than 3...)r   rj   rL     zCGuess for parameter `n` rounded.*|Guess for parameter `p` clipped.*g      @g      z$Guess for parameter `loc` rounded...)r6  r   r   z"Guess for parameter `p` clipped...r6  z$Guess for parameter `loc` clipped...)r6  r   r   )
r~   r   r   r   r   r   r   shape_bounds_dr   rE  )r@  r   r)  s      rb   test_guess_ivTestFit.test_guess_iv  s   Fc,\\.8IIdiiD,?,?uM 9 @d#]]:W5IIdiiD,?,?uM 6C]]:W5IIdiiD,?,?uM 6Q]]:W5IIdiiD,?,?uM 6 B]]:W5IIdiiD,?,?uM 6 F]]:W5IIdiiD,?,?uM 6 X%\\.8IIdiiD,?,?uM 9 9\\.8IIdiiD,?,?uM 9 7d#\\.8IIdiiD,?,?uM 9 9\\.8IIdiiD,?,?uM 98S 98
 65 65 65
 65
 65
 98
 98
 98
 98sw   6N% 6N76O	76O6O-06O?6P+6P#	6P5&6Q%
N47
O	
O
O*-
O<?
P
P #
P25
Q
Qc           	      D   Sn[        [        [        -   5      n[        R                  R                  U R                  5      n[        [        U5      n[        R                  " XQ   5      n[        R                  " [        U5      S-   S4[        R                  S9nUS[        R                  " U5      -  -  US S2S4'   US[        R                  " U5      -  -  US S2S4'   SUS'   S	US
'   UR                  " US   6 n	UR                  " US
   6 n
[        XQ   5      X/-   n[        USS5      (       a5  US S
 n[        R                   " U	5      US
'   UR"                  " XUS.6nUS S
 n[        USS5      (       a  UR"                  " XUS.6n[$        R&                  " 5        nUR)                  [*        S5        [        R,                  " UWXU R.                  S9nS S S 5        SSS.nX   n[1        UWWR2                  U40 U R4                  DSU0D6  g ! , (       d  f       N?= f)Nr   rj   )dtypeg      $@rx   r   r   rU  )gؗҜ<r   pmfFr   r   zoverflow encounteredrd   	optimizerr   _penalized_nlpsfmlemser/  )r  r	   r   r   r   r   r   r   r   r   emptylenfloat64signr   listfloorr   nptsuppress_warningsfilterr   r   rB  r3  r   tols)r@  	dist_namerd   r   N	dist_datar   r"  rX  locscaler   r   supres
nlff_namesr/  s                    rb   basic_fit_testTestFit.basic_fit_test  s   L01	ii##DII.ui()./3v;?A.bjjARWWV_ 44ssAvRWWV_ 44ssAvr
 r
kk6":&VBZ(9'(C<74&&cr(ChhsmCG88Ss;DCR[F4&&88Ss;D""$JJ~'=>))D$&*hh0C %
 $,>?
&	!$cjj# 	7 	7,5	7 %$s    8H
Hrv  c                 &    U R                  USSS9  g )Nrj  r6  r=  r~  r@  rv  s     rb   test_basic_fit_mleTestFit.test_basic_fit_mle      Iu!4r   c                 &    U R                  USSS9  g )Nrk  rj   r=  r  r  s     rb   test_basic_fit_mseTestFit.test_basic_fit_mse  r  r   c                 6   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nSSS.n[        R                  " X5USU R                  S9n[        X5UR                  U4SS	0U R                  D6  g )
Nr   )ri   r   r   皙?r   ry  rz  rk  rf  r/  rh  )r   r   r   r   r   r   r   r   rB  r3  r   ru  r@  rw  r   r   r"  r   rW  r|  s           rb   test_arcsineTestFit.test_arcsine  s    
 ii##DII.}}xxc:(9=iiL$((S!$cjj& 	M,>	MBF))	Mr   rd   ri  c                 J   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XRUS.6nSSSS.n[        R                  " XFXpR                  US9nSSS	.U   n	[        XFUR                  U40 U R                  DS
U	0D6  g )Nr   )ri   r         @r   r  )r,   ry  rz  )rg  rd   r   rh  ri  r/  )r   r   r   r   r   rS   r   r   rB  r3  r   ru  )
r@  rd   rw  r   r   r"  r   rW  r|  r/  s
             rb   
test_argusTestFit.test_argus,  s    
 ii##DII.{{xxc:(YOiiLHHVT"+=>vF	!$cjj& 	7DII 	7,5	7r   c                 :   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nSSSSS.n[        R                  " X5USU R                  S9n[        X5UR                  U4SS	0U R                  D6  g )
Nr   )gdsz@g@e?ri   r   r   r  )abry  rz  rj  rf  r/  r   )r   r   r   r   r   r   r   r   rB  r3  r   ru  r  s           rb   	test_betaTestFit.test_beta<  s    
 ii##DII.zzBxxc:&I(9>iiL$((S!$cjj& 	A,2	A6:ii	Ar   c                 0   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nSSSS.n[        R                  " X5X`R                  S9n[        X5UR                  U40 U R                  D6  g )Nr   )g);?r   r  r   r  )cry  rz  rg  )r   r   r   r   r   r   r   r   rB  r3  r   ru  r  s           rb   test_foldnormTestFit.test_foldnormL  sx     ii##DII.~~,xxc:&y9MiiLHHE!$cjj&NDIINr   c                 8   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nSSSS.n[        R                  " X5USU R                  S9n[        X5UR                  U4SS	0U R                  D6  g )
Nr   )g7h@ri   r   r   r  )nury  rz  rj  rf  r/  r   )r   r   r   r   r   rL   r   r   rB  r3  r   ru  r  s           rb   test_nakagamiTestFit.test_nakagamiZ  s     ii##DII.~~-xxc:&y9MiiL$((S!$cjj& 	A,2	A6:ii	Ar   c                 8   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nSSSS.n[        R                  " X5USU R                  S9n[        X5UR                  U4SS	0U R                  D6  g )
Nr   )gk?ri   r   r   r  )r  ry  rz  rk  rf  r/  rh  )r   r   r   r   r   r3   r   r   rB  r3  r   ru  r  s           rb   test_powerlawTestFit.test_powerlawh  s    
 ii##DII.~~-xxc:&y9MiiL$((S!$cjj& 	M,>	MBF))	Mr   c                 0   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nS/S-  n[        R                  " X5X`R                  S9n[        X5UR                  U40 U R                  D6  g )Nr   )g?g333333@gffffff@gffffff@r   r  r^  r  )r   r   r   r   r   rR   r   r   rB  r3  r   ru  r  s           rb   test_truncparetoTestFit.test_truncparetow  sy     ii##DII.  %xxc:!{1}iiLHHE!$cjj&NDIINr   c                 0   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nS/S-  n[        R                  " X5X`R                  S9n[        X5UR                  U40 U R                  D6  g )Nr   )r   r   g      ?r   r  r   r  r6  r  )r   r   r   r   r   r    r   r   rB  r3  r   ru  r  s           rb   test_truncweibull_minTestFit.test_truncweibull_min  sy    
 ii##DII.%%*xxc:!{1}iiLHHE!$cjj&NDIINr   c                 (   Sn[         R                  R                  U R                  5      n[        R
                  nSu  pEnUR                  XEXaUS9nS[         R                  " SS/5      0n[        R                  " X7XR                  S9n	[        U	R                  XEU440 U R                  D6  [        R                  nSu  pVUR                  XVXS9n[        R                  " X7U R                  S9n	[        U	R                  XV440 U R                  D6  g )	Nr   r   ?r   ry  rm   r   r:  r      r  )gY.?r   )r   r   r   r   r   r   r   r   r   rB  r   r   ru  	bernoulli)
r@  rw  r   r   r:  r;  ry  r   rW  r|  s
             rb   test_missing_shape_bounds!TestFit.test_missing_shape_bounds  s    
 ii##DII.{{	cxx#Cx@RXXq"g./iiLHHE

Q3K=499=xxx=iidhh7

QH:		:r   c                    Sn[         R                  R                  U R                  5      n[        R
                  nSu  pEUR                  XAUS9nSnSU0n[        R                  " X6XR                  S9n	[        U	R                  XE440 U R                  D6  Su  pEUR                  XQUS9nS	n
S
U
0n[        R                  " X6XR                  S9n	[        U	R                  XE440 U R                  D6  [        R
                  nSu  pEUR                  XEXS9nXzS.n[        R                  " X6XR                  S9n	[        U	R                  XE440 U R                  D6  g )Nr   )      ?r   r  )r   r6  ry  r  )r   r   )rz  rm   r   )r<  r6  rz  r  r   ry  rz  rm   r   r  )r   r   r   r   r   normr   r   rB  r   r   ru  )r@  rw  r   r   ry  rz  r   
loc_boundsrX  r|  scale_boundss              rb   test_fit_only_loc_scaleTestFit.test_fit_only_loc_scale  s-   ii##DII.zz
xxCcx:
$iiFhh?

SL>DII> 
xxe#x> <(iiFhh?

SL>DII> zz
xxC1xG#;iiFhh?

SL>DII>r   c                 j   Sn[         R                  R                  U R                  5      n[        R
                  nSu  pEUR                  XEXS9n[        R                  " X65      n[        UR                  S40 U R                  D6  XD4XU4S.n[        R                  " X6U5      n[        UR                  XE440 U R                  D6  [        R                  nSu  pnUR                  XXAUS9nSS	S
.n[        R                  " X6XR                  S9n[        UR                  XU440 U R                  D6  g )Nr   r  r  r8  r  r  r  )r   r  )r  r  r9  r  )r   r   r   r   r   r  r   r   r   r   ru  r   rB  )r@  rw  r   r   ry  rz  r   r|  rX  r:  r;  rW  s               rb   test_everything_fixedTestFit.test_everything_fixed  s   ii##DII.zz
xxC1xG ii#

F8dii8 un=iiF+

SL>DII> {{	cxx#Cx@$<8iiLHHE

Q3K=499=r   c                 n   Sn[         R                  R                  U R                  5      n[        R
                  nSnUR                  " XAUS.6nUR                  5       S:X  d   e/ SQn[        R                  " X5U5      nSnUR                  R                  U5      (       d   eUR                  SL d   eg )Nr   )r6  r   r   r   )r      r8  )r   r   z3Optimization converged to parameter values that areF)r   r   r   r   r   r   r   minr   r   
startswithsuccess)	r@  rw  r   r   r"  r   rX  r|  r   s	            rb   test_failureTestFit.test_failure  s    ii##DII.||xxc:xxzQ-iiF+G{{%%g....{{e###r   c                    Sn[         R                  R                  S5      n[        R                  nSn/ SQnUR
                  " XAUS.6n[        R                  " X6XPR                  S9n[         R                  " UR                  U40 U R                  D6(       a   e[        R                  " X6XTU R                  S9n[        UR                  U40 U R                  D6  g )Ni  l   ^s )r        r   ))rj      )ffffff?F   )g333333?x   rU  r   r  )r)  rg  )r   r   r   r   r  r   r   rB  allcloser   ru  r   )r@  rw  r   r   r   rX  r   r|  s           rb   
test_guessTestFit.test_guess  s     ii##L1;xxc:iiFhh?;;szz6?TYY???iiFDHHM

F8dii8r   c                 
   SS/n[         R                  nSSS.n[         R                  " X!USS9n[        UR                  R
                  SS	S
9  [         R                  " X!USS9n[        UR                  R
                  SS	S
9  g )Nrj   r^  )r   r   :0yE>r   r  rj  rX  rd   rL  r   r   rk  gRQ@)r   r   r   r   r   rz  )r@  r   r   rX  res_mleres_mses         rb   test_mse_accuracy_1TestFit.test_mse_accuracy_1  sp     1v{{*5))DveD,,ad;))DveD,,e$?r   c                 v   [         R                  R                  S5      n[        R                  nSnU" SS5      R                  X1S9nSSS.n[        R                  " X$US	S
9n[         R                  " U5      nX7S   -  US   -
  US-
  -  nX7S   -  US   -
  US-
  -  n	XU-
  4n
[        UR                  U
SS9  g )Nl   4gcvD r   rL     r   rU  r  r  rk  r  r   rd  r   -C6?ro   )
r   r   r   r   r   r   r   r   r   r   )r@  r   r   r:  r   rX  r|  r   r  r  r   s              rb   test_mse_accuracy_2TestFit.test_mse_accuracy_2  s     ii##$78}}Aqz~~1~7 :6ii6%@ GGDMtVae^a!e$uWqt^a!e$1f

Cd3r    N)r   )2__name__
__module____qualname____firstlineno__r   r   r   r   r   r   r   r   r   r   rF  r_  r   ro   ru  rB  rH  rR  rY  r`  r~  r~   r  parametrizer  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  __static_attributes__r  r   rb   r5  r5  q  s   ;;DD
))


%C;;??1c#?>Dv&N"0NDD$'D >:
G1:f-N^ 7D [[[*<*>?5 @5 [[[*<*>?5 @5 [[M M [[X~67 77 [[A AOA [[M MO [[O O;*?:>2$  [[9 9"	@4r   r5  )xA   =   Q   X   E   Y   7   T   V   r  G   r  r  r  N   C   `   B   I   K   ;   r  r  ?   O   L   r  U   W   r  P   r  r  r  r  r  r  r  @   r  r  M   r  r  r  r  r  \   Z   r  r  r  r  r  :   r  r  r  r  R   r  r  6   r  9   r  r  r  J   r  r  r  r  r  r  D   r  r  S   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  ]   r  r  r  r  r  r  <   r  r  r  r  r  r  r  r  r  r  r  r	  r  H   c                   p   \ rS rSrS rS rS rS rS rS r	S r
S	 r\R                  R                  S
 5       rS rS r\R                  R%                  SS/ SQ4S/ SQ4S/ SQ4/5      S 5       r\R                  R                  \R                  R%                  S/ SQ5      S 5       5       rS rS rSrg)TestGoodnessOfFiti*  c                    [         R                  n/ SQnSn[        R                  " [        US9   [        [         R                  " 5       U5        S S S 5        Sn[        R                  " [        US9   [        U/ SQ/5        S S S 5        Sn[        R                  " [        US9   [        XSS9  S S S 5        Sn[        R                  " [        US9   [        XS	S
9  S S S 5        Sn[        R                  " [        US9   [        XSS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       g = f)NrK  z.`dist` must be a \(non-frozen\) instance of...r   z2`data` must be a one-dimensional array of numbers.z`statistic` must be one of...mm)	statisticz"`n_mc_samples` must be an integer.g     D@)n_mc_samplesz$SeedSequence expects int or sequenceherringr=  )r   r  r~   r   	TypeErrorr   rE  )r@  r   r   r   s       rb   test_gof_ivTestGoodnessOfFit.test_gof_iv,  s    zzC]]9G4EJJL!, 5 G]]:W5D9+. 6 2]]:W5Dt4 6 7]]9G4D&9 5 9]]9G4D3 54! 54 65 65 54 54s;    D3D'&D8E	E
D$'
D58
E	
E
E(c                    [         R                  R                  S5      n[        n[         R                  " U5      [         R
                  " USS9S.n[        [        R                  X#SUS9n[        R                  " U[        R                  " S0 UD6R                  SS9n[        UR                  UR                  5        [        UR                  UR                  S	S
9  g )Nl   H]Vh1 r   ddofr  ksknown_paramsr  r   exactrd   {Gzt?r   r  )r   r   r   
examgradesr   stdr   r   r  kstestcdfr   r  pvaluer@  r   r   r  r|  r   s         rb   test_against_ks!TestGoodnessOfFit.test_against_ksD  s    ii##$78!wwqzBFF114EFejj!(,#7ll1ejj8<8<<WMs}}5

CJJT:r   c                    [         R                  R                  S5      n[        n[	        [
        R                  USUS9n[         R                  " U5      [         R                  " USS9S.n[
        R                  " U[
        R                  " S0 UD6R                  SS9n[        UR                  UR                  5        [        UR                  S	S
S9  g )Nl   8<*}p~ r  )r  r   r   r  r  r  r  g5;Nѡ?r  r   r  )r   r   r   r  r   r   r  r   r  r   r!  r   r  r"  r@  r   r   r|  r  r   s         rb   test_against_lilliefors)TestGoodnessOfFit.test_against_lillieforsN  s    ii##$78ejj!t#N!wwqzBFF114EFll1ejj8<8<<WMs}}5

F6r   c                    [         R                  R                  S5      n[        n[         R                  " U5      [         R
                  " USS9S.n[        [        R                  X#SUS9n[        R                  " U[        R                  " S	0 UD6R                  5      n[        UR                  UR                  5        [        UR                  UR                  SS9  g )
Nl   vj!$'C r   r  r  cvmr  r  r   r  )r   r   r   r  r   r  r   r   r  cramervonmisesr!  r   r  r"  r#  s         rb   test_against_cvm"TestGoodnessOfFit.test_against_cvmX  s    ii##$78!wwqzBFF114EFejj!(-38""1ejj&@<&@&D&DEs}}5

CJJT:r   c                    [         R                  R                  S5      n[         R                  " SS5      nSSS.n[	        [
        R                  X#SUS9n[        UR                  S	5        [        UR                  S
SS9  g )Nl   jHJE3 r   e   gF6F@r  r  adr  gV-@rw   r  r   
r   r   r   aranger   r   r  r   r  r"  r@  r   r   r  r|  s        rb   test_against_anderson_case_0.TestGoodnessOfFit.test_against_anderson_case_0b  sf    ii##$78IIa02>ejj!(,#7u-

Dt4r   c                    [         R                  R                  S5      n[         R                  " SS5      nSS0n[	        [
        R                  X#SUS9n[        UR                  S5        [        UR                  S	S
S9  g )Nl   H'b4:/ r   r0  rz  g{U=@r1  r  guV?r  r  r   r2  r4  s        rb   test_against_anderson_case_1.TestGoodnessOfFit.test_against_anderson_case_1m  sg    ii##$78IIa!34ejj!(,#7u-

Cd3r   c                    [         R                  R                  S5      n[         R                  " SS5      nSS0n[	        [
        R                  X#SUS9n[        UR                  S5        [        UR                  S	S
S9  g )Nl   P^QqPr   r0  ry  gfHF@r1  r  gZd;@皙?r  r   r2  r4  s        rb   test_against_anderson_case_2.TestGoodnessOfFit.test_against_anderson_case_2x  sg    ii##$67IIa/0ejj!(,#7u-

E5r   c                    [         R                  R                  S5      n[        R                  R                  SSSSUS9n[        [        R                  USUS9n[        UR                  S	5        [        UR                  S
SS9  g )Nl   iUn gBQ_ *?r   rj   r   r  r1  r  r   gS?g333333?r  r   )r   r   r   r   r   r   r   r  r   r  r"  )r@  r   r   r|  s       rb   test_against_anderson_case_3.TestGoodnessOfFit.test_against_anderson_case_3  sn    ii##$78NN1q,/  1ejj!tEu-

Dt4r   c                 x   [         R                  R                  S5      n[        R                  " SSSS9R                  SUS9n[        [        R                  USUS	9n[        R                  " US
S9n[        UR                  UR                  S   5        [        UR                  UR                  S   S-  SS9  g )Nl   /JG gQ8?r   r  r  r   r   r1  r?  gumbel_r)r   r   r   r  r   )r   r   r   r   r>   r   r   rC  andersonr   r  critical_valuesr"  significance_level)r@  r   r   r|  r   s        rb   test_against_anderson_gumbel_r0TestGoodnessOfFit.test_against_anderson_gumbel_r  s    ii##$451s#&((+C(H 	
enna4"%'nnQZ0s':':1'=>

C$:$:1$=c$AMr   c                 T   [         R                  R                  S5      n/ SQnSSS.n[        R                  " [        R
                  X#SUS9n[        UR                  SS	S
9  SUR                  s=:  a  S:  d   e   e[        UR                  SSS9  [        UR                  SSS9  g )Nl   fKW7/z )r  r      rx   r6  r   r   r   r  fillibenr  gG=D;?r  r   r   ?gF8y?gh㈵>r  gffffff?Mb`?)	r   r   r   r   r   r  r   r  r"  )r@  r   yr  r|  s        rb   test_against_filliben_norm,TestGoodnessOfFit.test_against_filliben_norm  s    ii##$78# 1-##EJJ.8cC
 	wT:cjj&3&&&&& 	'7dC

F6r   c                 @   [         R                  R                  S5      nUR                  SSSS9n[        R
                  " [        R                  USUS9nSS	S
.n[        R
                  " [        R                  X$SUS9n[        UR                  UR                  SS9  g )Nl   1gDF3 r   r   r   )ry  rz  rm   rL  r?  r   r   r  r  gV瞯<r  )	r   r   r   normalr   r   r  r   r  r'  s         rb   test_filliben_property(TestGoodnessOfFit.test_filliben_property  s    ii##$78JJ2SsJ3##EJJ.8cC 1-##EJJ.8cCs}}5Ar   case   )gV-?gCl?ffffff?g-?gx?2   )g㥛 ?gzG?gv?$C?g1Zd?_   )rZ  gS?g~jt?gZd;O?gS?c                 L   [         R                  R                  S5      nUu  p4UR                  U5      nSSS.n[        R                  " [        R
                  XVSUS9n[         R                  " / SQ5      n[        R                  " UR                  US-  5      n[        XtS	S
9  g )Nl   +^8r   r   r  rL  r  )r  r<  r;  rw   r  r   rN  r   )
r   r   r   r   r   r  r   scoreatpercentilenull_distributionr   )	r@  rV  r   r:  r   r   r  r|  percentiless	            rb    test_against_filliben_norm_table2TestGoodnessOfFit.test_against_filliben_norm_table  s    
 ii##$67JJqM 1-##EJJ.8cChh>?%%c&;&;[_Mt,r   ))r6  g?g;On?)r  gǄ?g-?)r  g-hC/?g\ Ac?c                    Uu  p#n[         R                  R                  S5      nUR                  US9n[        R
                  " [        R                  USUS9n[        UR                  USS9  [        UR                  USS9  g )	Nl   vTV_ )rm   rL  r?  r  r  gQ?r   )
r   r   r   rS  r   r   rayleighr   r  r"  )r@  rV  r:  ref_statistic
ref_pvaluer   r   r|  s           rb   test_against_ppcc#TestGoodnessOfFit.test_against_ppcc  sp     (,$*ii##$78JJAJ##ENNA(+-}4@

JV<r   c           
      L   [         R                  R                  S5      n[        R                  R                  SSSSUS9nSS0nS	S
0nSS0n[         R                  R                  S5      n[        [        R                  USUUXQS9n[         R                  " UR                  R                  R                  S5      (       a   e[        UR                  R                  R                  S
5        [        UR                  R                  R                  S5        SS0n[         R                  R                  S5      n[        [        R                  USUUXQS9n[         R                  " UR                  R                  R                  UR                  R                  R                  SS9(       a   e[         R                  " UR                  UR                  SS9(       a   e[        UR                  R                  R                  S
5        [        UR                  R                  R                  S5        SS
S.n[         R                  R                  S5      n[        [        R                  USUUXQS9n[        UR                  R                  R                  S5        [        UR                  R                  R                  S
5        [        UR                  R                  R                  S5        [         R                  " UR                  UR                  5      (       a   eg )N   zV8t g}-r   rj   rY  r  r  g*@rz  g(\u+@ry  g33333+)r  guessed_params
fit_paramsr  r   r  r  )r  rz  )r   r   r   r   r   r   r   r   r  
fit_resultr   r  r   rz  ry  r^  )	r@  r   r   rj  rk  r  r   r   res3s	            rb   test_params_effects%TestGoodnessOfFit.test_params_effects  s    ii##$78NN1q,/  1
 tu%
vii##$78u00!!.<*4,8C ;;t5577>>>>T__++1159T__++//8 qii##$78u00!!.<*4,8C ;;t5577#5577dD 	D D;;t55#55DB 	B BT__++1159T__++//8
  %0
ii##$78u00!!.<*4,8C 	T__++--t4T__++1159T__++//8;;t55t7M7MNNNNNr   c                 $   S n[         R                  R                  S5      n[        R                  R                  SUS9n[        [        R                  USSS.XS9n/ S	Qn/ S
Qn[         R                  " UR                  U5      n[        XvSS9  g )Nc                    [         R                  " XS9nU R                  U5      n[         R                  " XBSSS9n[         R                  " US-  US9$ )Nrt   r   r   )ru   prependappendrj   )r   r   r!  r   r   )r   r   ru   r   rO  r   s         rb   	greenwood:TestGoodnessOfFit.test_custom_statistic.<locals>.greenwood  sD    (AAa:A66!q&t,,r   ri  r6  r   r   r   r  r  )r<  rw   r  g?r   g?r   g333333?r  g?rM  rX  rr   )g҈?gxܙ	?g&)?gW>?gR?gEկt><?gw-?gL1=B?gi?g1cg?gV(?g?Qٰ?ghsۄ?r  r   )
r   r   r   r   r   r   r   quantiler^  r   )r@  rt  r   r   resultr;  exact_quantilessimulated_quantiless           rb   test_custom_statistic'TestGoodnessOfFit.test_custom_statistic  s    	- ii##$78{{AC8 d67!.D+4? EB !kk&*B*BAF+5Ir   r  N)r  r  r  r  r  r$  r(  r-  r5  r8  r<  r@  r~   r  r  rG  rP  rT  r  r`  rf  rn  rz  r  r  r   rb   r  r  *  s    40;7;	5	4	65 [[	N 	N7.	B [[Vr+I&J')+I&J')+I&J&L M
-M
- [[[[V &D E=E =0OdJr   r  c                       \ rS rSrS rSrg)TestFitResulti/  c                 (  ^ [         R                  R                  S5      m[        R                  R                  SSSTS9nU4S jnSS/n[        R                  " [        R                  XUS	9n SS KnS
n[        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f! [        [        4 aH    Sn[        R                  " [        US9   UR                  SS9  S S S 5         g ! , (       d  f        g = ff = f)Nl   u!u\xD r   r   r   r   c                  "   > [        U 0 UDST0D6$ r?  r   )rA  kwargsr   s     rb   rg  -TestFitResult.test_plot_iv.<locals>.optimizer4  s    )4C6CsCCr   r  r8  r  z!`plot_type` must be one of \{'...r   llama)	plot_typez2matplotlib must be installed to use method `plot`.)r   r   r   r   r  r   r   
matplotlibr~   r   rE  plotModuleNotFoundErrorImportError)r@  r   rg  rX  r|  r  r   r   s          @rb   test_plot_ivTestFitResult.test_plot_iv0  s    ii##$78zz~~a3~?	D 6"ii

DIF	,:Gz97+ :99#[1 	,KG2'B7+ CBBB	,sH   0B9 B(B9 (
B62B9 6B9 9+D$C>4D>
D	DDr  N)r  r  r  r  r  r  r  r   rb   r}  r}  /  s    ,r   r}  r^   )gHz>r   r   )7r{   numpyr   numpy.testingr,  rr  r   r   r~   scipyr   scipy.optimizer   test_continuous_basicr	   !scipy.stats._distn_infrastructurer
   scipy.stats._distr_paramsr   scipy.statsr   r   r   r   mle_failing_fitsmle_Xslow_fitsr   mm_failing_fitsmm_XXslow_fitsmm_Xslow_fitsr}   r   r   r_   rc   r  r  r  r   r   r   r   r   r  r   r   r  r  r#  r*  r3  r5  r  r  r}  r  r   rb   <module>r     s   	   7   1 + 6 2 '  	
 *T

(= %6?OP!.9
'   )<)>?E4=1HL 2 @ HLVGC/  ::z2 ;;5788 +\<~ +-@-BC' D' MN(.Gk4 k4^.
CJ CJJ, ,r   