UNPKG

@stdlib/stats-kstest

Version:

One-sample Kolmogorov-Smirnov goodness-of-fit test.

22 lines (21 loc) 7.69 kB
"use strict";var y=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}};var N=y(function(fe,B){ var ar=require('@stdlib/math-base-special-binomcoefln/dist'),ir=require('@stdlib/math-base-special-floor/dist'),tr=require('@stdlib/math-base-special-exp/dist'),K=require('@stdlib/math-base-special-ln/dist');function nr(r,e){var f,i,o,u;if(r<=0)return 0;if(r>=1)return 1;for(f=ir(e*(1-r))+1,i=0,u=0;u<f;u++)o=ar(e,u),o+=(e-u)*K(1-r-u/e),o+=(u-1)*K(r+u/e),i+=tr(o);return 1-r*i}B.exports=nr });var A=y(function(me,S){ var F=require('@stdlib/math-base-special-floor/dist'),or=require('@stdlib/math-base-special-sqrt/dist'),T=require('@stdlib/math-base-special-pow/dist'),ur=require('@stdlib/math-base-special-exp/dist'),P=require('@stdlib/array-float64/dist');function sr(r,e){var f,i,o,u,p,h,n,m,d,a,s;if(s=r*r*e,s>7.24||s>3.76&&e>99)return 1-2*ur(-(2.000071+.331/or(e)+1.409/e)*s);for(d=F(e*r)+1,a=2*d-1,o=d-e*r,u=new P(a*a),p=new P(a*a),n=0;n<a;n++)for(m=0;m<a;m++)n-m+1<0?u[n*a+m]=0:u[n*a+m]=1;for(n=0;n<a;n++)u[n*a]-=T(o,n+1),u[(a-1)*a+n]-=T(o,a-n);for(u[(a-1)*a]+=2*o-1>0?T(2*o-1,a):0,n=0;n<a;n++)for(m=0;m<a;m++)if(n-m+1>0)for(h=1;h<=n-m+1;h++)u[n*a+m]/=h;for(f=0,x(u,f,e),s=p[(d-1)*a+d-1],n=1;n<=e;n++)s=s*n/e,s<1e-140&&(s*=1e140,i-=140);return s*=T(10,i),s;function x(c,v,l){var b,w,q;if(l===1){for(q=0;q<a*a;q++)p[q]=c[q],i=v;return}if(x(c,v,F(l/2)),w=g(p,p),b=2*i,l%2===0){for(q=0;q<a*a;q++)p[q]=w[q];i=b}else p=g(c,w),i=v+b;if(p[F(a/2)*a+F(a/2)]>1e140){for(q=0;q<a*a;q++)p[q]*=1e-140;i+=140}}function g(c,v){var l,b,w,q,D;for(D=new P(a*a),l=0;l<a;l++)for(b=0;b<a;b++)for(q=0,w=0;w<a;w++)q+=c[l*a+w]*v[w*a+b],D[l*a+b]=q;return D}}S.exports=sr });var z=y(function(ce,R){ function vr(r,e){return r-e}R.exports=vr });var Q=y(function(qe,H){ function lr(r,e){var f,i,o;for(f=e.length,i=new Array(f),o=0;o<f;o++)i[o]=r-e[o];return i}H.exports=lr });var L=y(function(pe,I){ var fr=require('@stdlib/assert-is-boolean/dist').isPrimitive,mr=require('@stdlib/assert-is-number/dist').isPrimitive,cr=require('@stdlib/assert-is-plain-object/dist'),qr=require('@stdlib/assert-is-string/dist').isPrimitive,pr=require('@stdlib/assert-is-nan/dist'),V=require('@stdlib/assert-has-own-property/dist'),j=require('@stdlib/error-tools-fmtprodmsg/dist');function gr(r,e){return cr(e)?V(e,"alpha")&&(r.alpha=e.alpha,!mr(r.alpha)||pr(r.alpha))?new TypeError(j('1Ld8P',"alpha",r.alpha)):V(e,"alternative")&&(r.alternative=e.alternative,!qr(r.alternative))?new TypeError(j('1Ld2W',"alternative",r.alternative)):V(e,"sorted")&&(r.sorted=e.sorted,!fr(r.sorted))?new TypeError(j('1Ld2o',"sorted",r.sorted)):null:new TypeError(j('1Ld2V',e));}I.exports=gr });var G=y(function(ge,U){ var hr=require('@stdlib/stats-base-dists-arcsine-cdf/dist'),dr=require('@stdlib/stats-base-dists-beta-cdf/dist'),br=require('@stdlib/stats-base-dists-betaprime-cdf/dist'),wr=require('@stdlib/stats-base-dists-cauchy-cdf/dist'),yr=require('@stdlib/stats-base-dists-chi-cdf/dist'),xr=require('@stdlib/stats-base-dists-chisquare-cdf/dist'),Er=require('@stdlib/stats-base-dists-cosine-cdf/dist'),Or=require('@stdlib/stats-base-dists-erlang-cdf/dist'),kr=require('@stdlib/stats-base-dists-exponential-cdf/dist'),Fr=require('@stdlib/stats-base-dists-f-cdf/dist'),Tr=require('@stdlib/stats-base-dists-frechet-cdf/dist'),jr=require('@stdlib/stats-base-dists-gamma-cdf/dist'),Dr=require('@stdlib/stats-base-dists-gumbel-cdf/dist'),Pr=require('@stdlib/stats-base-dists-invgamma-cdf/dist'),Vr=require('@stdlib/stats-base-dists-kumaraswamy-cdf/dist'),Cr=require('@stdlib/stats-base-dists-laplace-cdf/dist'),Kr=require('@stdlib/stats-base-dists-levy-cdf/dist'),Br=require('@stdlib/stats-base-dists-logistic-cdf/dist'),Nr=require('@stdlib/stats-base-dists-lognormal-cdf/dist'),Sr=require('@stdlib/stats-base-dists-normal-cdf/dist'),Ar=require('@stdlib/stats-base-dists-pareto-type1-cdf/dist'),Rr=require('@stdlib/stats-base-dists-rayleigh-cdf/dist'),zr=require('@stdlib/stats-base-dists-t-cdf/dist'),Hr=require('@stdlib/stats-base-dists-triangular-cdf/dist'),Qr=require('@stdlib/stats-base-dists-uniform-cdf/dist'),Ir=require('@stdlib/stats-base-dists-weibull-cdf/dist'),t={};t.arcsine=hr;t.beta=dr;t.betaprime=br;t.cauchy=wr;t.chi=yr;t.chisquare=xr;t.cosine=Er;t.erlang=Or;t.exponential=kr;t.f=Fr;t.frechet=Tr;t.gamma=jr;t.gumbel=Dr;t.invgamma=Pr;t.kumaraswamy=Vr;t.laplace=Cr;t.levy=Kr;t.logistic=Br;t.lognormal=Nr;t.normal=Sr;t["pareto-type1"]=Ar;t.rayleigh=Rr;t.t=zr;t.triangular=Hr;t.uniform=Qr;t.weibull=Ir;U.exports=t });var M=y(function(he,J){ var Lr=require('@stdlib/error-tools-fmtprodmsg/dist'),Ur=G();function Gr(r){var e=Ur[r];if(e===void 0)throw new Error(Lr('1Ld9K',r));return e}J.exports=Gr });var Z=y(function(de,Y){ var Jr=require('@stdlib/assert-is-positive-integer/dist'),Mr=require('@stdlib/assert-is-plain-object/dist'),Wr=require('@stdlib/assert-is-boolean/dist').isPrimitive,W=require('@stdlib/assert-has-own-property/dist'),X=require('@stdlib/math-base-special-roundn/dist'),C=require('@stdlib/error-tools-fmtprodmsg/dist');function Xr(r){var e,f,i;if(f=4,e=!0,arguments.length>0){if(!Mr(r))throw new TypeError(C('1Ld3L',r));if(W(r,"digits")){if(!Jr(r.digits))throw new TypeError(C('1Ld3P',"digits",r.digits));f=r.digits}if(W(r,"decision")){if(!Wr(r.decision))throw new TypeError(C('1Ld2o',"decision",r.decision));e=r.decision}}switch(i="",i+=this.method,i+="\n\n",i+="Null hypothesis: the CDF of `x` is ",this.alternative){case"less":i+="greater than or equal to ";break;case"greater":i+="less than or equal to ";break;case"two-sided":default:i+="equal to ";break}return i+="the reference CDF",i+="\n\n",i+=" pValue: "+X(this.pValue,-f)+"\n",i+=" statistic: "+X(this.statistic,-f),i+="\n\n",e&&(i+="Test Decision: ",this.rejected?i+="Reject null in favor of alternative at "+this.alpha*100+"% significance level":i+="Fail to reject null in favor of alternative at "+this.alpha*100+"% significance level",i+="\n"),i}Y.exports=Xr });var er=y(function(be,rr){ var Yr=require('@stdlib/assert-is-typed-array-like/dist'),Zr=require('@stdlib/assert-is-number/dist'),_r=require('@stdlib/assert-is-number-array/dist').primitives,E=require('@stdlib/utils-define-read-only-property/dist'),$r=require('@stdlib/assert-is-function/dist'),_=require('@stdlib/assert-is-string/dist').isPrimitive,O=require('@stdlib/error-tools-fmtprodmsg/dist'),re=require('@stdlib/assert-is-nan/dist'),k=require('@stdlib/stats-base-max/dist'),ee=N(),ae=A(),ie=z(),$=Q(),te=L(),ne=M(),oe=Z(),ue=Array.prototype.slice;function se(){var r,e,f,i,o,u,p,h,n,m,d,a,s,x,g,c,v,l;if(v=arguments[0],l=arguments[1],!_r(v)&&!Yr(v))throw new TypeError(O('1Ld9s',v));if(!$r(l)&&!_(l))throw new TypeError(O('1Ld9t',l));for(_(l)&&(l=ne(l)),r=l.length-1,c=v.length,e=new Array(r),g=0;g<r;g++){if(a=g+2,x=arguments[a],!Zr(x)||re(x))throw new TypeError(O('1Ld9u',x));e[g]=arguments[a]}if(u={},arguments.length>2+r&&(i=arguments[2+r],d=te(u,i),d))throw d;if(v=ue.call(v),u.alpha===void 0?o=.05:o=u.alpha,o<0||o>1)throw new RangeError(O('1Ld8V',"alpha",o));for(u.sorted!==!0&&v.sort(ie),f=[null].concat(e),g=0;g<c;g++)f[0]=v[g],n=l.apply(null,f),v[g]=n-g/c;switch(m=u.alternative||"two-sided",m){case"two-sided":h=k(c,[k(c,v,1),k(c,$(1/c,v),1)],1);break;case"greater":h=k(c,$(1/c,v),1);break;case"less":h=k(c,v,1);break;default:throw new Error(O('1Ld4S',"alternative",["two-sided","less","greater"].join('", "'),m))}return m==="two-sided"?p=1-ae(h,c):p=1-ee(h,c),s={},E(s,"rejected",p<=o),E(s,"alpha",o),E(s,"pValue",p),E(s,"statistic",h),E(s,"method","Kolmogorov-Smirnov goodness-of-fit test"),E(s,"print",oe),E(s,"alternative",m),s}rr.exports=se });var ve=er();module.exports=ve; /** @license Apache-2.0 */ //# sourceMappingURL=index.js.map