Socket
Socket
Sign inDemoInstall

vega-statistics

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vega-statistics - npm Package Compare versions

Comparing version 1.4.0 to 1.5.0

18

build/vega-statistics.js

@@ -15,3 +15,3 @@ (function (global, factory) {

max = _.extent[1],
span = (max - min) || Math.abs(min) || 1,
span = _.span || (max - min) || Math.abs(min) || 1,
step, level, minstep, precision, v, i, n, eps;

@@ -101,4 +101,6 @@

mu.sort(d3Array.ascending);
return [
d3Array.quantile(mu.sort(d3Array.ascending), alpha/2),
d3Array.quantile(mu, alpha/2),
d3Array.quantile(mu, 1-(alpha/2))

@@ -111,4 +113,8 @@ ];

// don't depend on return value from typed array sort call
// protects against undefined sort results in Safari (vega/vega-lite#4964)
values.sort(d3Array.ascending);
return [
d3Array.quantile(values.sort(d3Array.ascending), 0.25),
d3Array.quantile(values, 0.25),
d3Array.quantile(values, 0.50),

@@ -882,7 +888,13 @@ d3Array.quantile(values, 0.75)

while (p1) {
// midpoint for potential curve subdivision
const pm = point((p0[0] + p1[0]) / 2);
if (pm[0] - p0[0] >= stop && angleDelta(p0, pm, p1) > MIN_RADIANS) {
// maximum resolution has not yet been met, and
// subdivision midpoint sufficiently different from endpoint
// save subdivision, push midpoint onto the visitation stack
next.push(pm);
} else {
// subdivision midpoint sufficiently similar to endpoint
// skip subdivision, store endpoint, move to next point on the stack
p0 = p1;

@@ -889,0 +901,0 @@ prev.push(p1);

2

build/vega-statistics.min.js

@@ -1,1 +0,1 @@

!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-array")):"function"==typeof define&&define.amd?define(["exports","d3-array"],n):n((t=t||self).vega={},t.d3)}(this,function(t,n){"use strict";function*r(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let r=-1;for(let e of t)null!=(e=n(e,++r,t))&&(e=+e)>=e&&(yield e)}}function e(t,e){var o=Float64Array.from(r(t,e));return[n.quantile(o.sort(n.ascending),.25),n.quantile(o,.5),n.quantile(o,.75)]}function o(n,r){var e,o,a=NaN,u={mean:function(t){return arguments.length?(e=t||0,a=NaN,u):e},stdev:function(t){return arguments.length?(o=null==t?1:t,a=NaN,u):o},sample:function(){var n,r,u=0,f=0;if(a==a)return u=a,a=NaN,u;do{n=(u=2*t.random()-1)*u+(f=2*t.random()-1)*f}while(0===n||n>1);return r=Math.sqrt(-2*Math.log(n)/n),a=e+f*r*o,e+u*r*o},pdf:function(t){var n=Math.exp(Math.pow(t-e,2)/(-2*Math.pow(o,2)));return 1/(o*Math.sqrt(2*Math.PI))*n},cdf:function(t){var n,r=(t-e)/o,a=Math.abs(r);if(a>37)n=0;else{var u=Math.exp(-a*a/2);a<7.07106781186547?(n=u*((((((.0352624965998911*a+.700383064443688)*a+6.37396220353165)*a+33.912866078383)*a+112.079291497871)*a+221.213596169931)*a+220.206867912376),n/=((((((.0883883476483184*a+1.75566716318264)*a+16.064177579207)*a+86.7807322029461)*a+296.564248779674)*a+637.333633378831)*a+793.826512519948)*a+440.413735824752):n=u/(a+1/(a+2/(a+3/(a+4/(a+.65)))))/2.506628274631}return r>0?1-n:n},icdf:function(t){if(t<=0||t>=1)return NaN;var n=2*t-1,r=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),a=2/(Math.PI*r)+Math.log(1-Math.pow(n,2))/2,u=Math.log(1-n*n)/r,f=(n>0?1:-1)*Math.sqrt(Math.sqrt(a*a-u)-a);return e+o*Math.SQRT2*f}};return u.mean(n).stdev(r)}function a(t,n,r,e){const o=e-t*t,a=Math.abs(o)<1e-24?0:(r-t*n)/o;return[n-a*t,a]}function u(t,n,r,e){t=t.filter(t=>{let e=n(t),o=r(t);return null!=e&&(e=+e)>=e&&null!=o&&(o=+o)>=o}),e&&t.sort((t,r)=>n(t)-n(r));const o=new Float64Array(t.length),a=new Float64Array(t.length);let u=0;for(let e of t)o[u]=n(e),a[u]=r(e),++u;return[o,a]}function f(t,n,r,e){let o,a,u=-1,f=-1;for(let i of t)o=n(i,++u,t),a=r(i,u,t),null!=o&&(o=+o)>=o&&null!=a&&(a=+a)>=a&&e(o,a,++f)}function i(t,n,r,e,o){let a=0,u=0;return f(t,n,r,(t,n)=>{const r=n-o(t),f=n-e;a+=r*r,u+=f*f}),1-a/u}function l(t,n,r){let e=0,o=0,u=0,l=0,c=0;f(t,n,r,(t,n)=>{e+=t,o+=n,u+=t*n,l+=t*t,++c});const s=a(e/c,o/c,u/c,l/c),h=t=>s[0]+s[1]*t;return{coef:s,predict:h,rSquared:i(t,n,r,o/c,h)}}function c(t,n,r){let e=0,o=0,a=0,u=0,l=0,c=0,s=0,h=0;f(t,n,r,(t,n)=>{const r=t*t;e+=t,o+=n,a+=r,u+=r*t,l+=r*r,c+=t*n,s+=r*n,++h});const d=a-e*e/h,p=u-a*e/h,M=l-a*a/h,g=d*M-p*p,m=((s-=a*(o/=h))*d-(c-=e*o)*p)/g,v=(c*M-s*p)/g,w=o-v*(e/h)-m*(a/h),b=t=>m*t*t+v*t+w;return{coef:[w,v,m],predict:b,rSquared:i(t,n,r,o,b)}}t.random=Math.random;const s=2,h=1e-12;function d(t){return(t=1-t*t*t)*t*t}function p(t,n,r){let e=t[n],o=r[0],a=r[1]+1;if(!(a>=t.length))for(;n>o&&t[a]-e<=e-t[o];)r[0]=++o,r[1]=a,++a}const M=.1*Math.PI/180;function g(t,n,r){const e=Math.atan2(r[1]-t[1],r[0]-t[0]),o=Math.atan2(n[1]-t[1],n[0]-t[0]);return Math.abs(e-o)}t.bin=function(t){var n,r,e,o,a,u,f,i,l=t.maxbins||20,c=t.base||10,s=Math.log(c),h=t.divide||[5,2],d=t.extent[0],p=t.extent[1],M=p-d||Math.abs(d)||1;if(t.step)n=t.step;else if(t.steps){for(a=M/l,u=0,f=t.steps.length;u<f&&t.steps[u]<a;++u);n=t.steps[Math.max(0,u-1)]}else{for(r=Math.ceil(Math.log(l)/s),e=t.minstep||0,n=Math.max(e,Math.pow(c,Math.round(Math.log(M)/s)-r));Math.ceil(M/n)>l;)n*=c;for(u=0,f=h.length;u<f;++u)(a=n/h[u])>=e&&M/a<=l&&(n=a)}return o=(a=Math.log(n))>=0?0:1+~~(-a/s),i=Math.pow(c,-o-1),(t.nice||void 0===t.nice)&&(d=d<(a=Math.floor(d/n+i)*n)?a-n:a,p=Math.ceil(p/n)*n),{start:d,stop:p===d?d+n:p,step:n}},t.bootstrapCI=function(e,o,a,u){if(!e.length)return[void 0,void 0];var f,i,l,c,s=Float64Array.from(r(e,u)),h=s.length,d=o;for(l=0,c=Array(d);l<d;++l){for(f=0,i=0;i<h;++i)f+=s[~~(t.random()*h)];c[l]=f/h}return[n.quantile(c.sort(n.ascending),a/2),n.quantile(c,1-a/2)]},t.quartiles=e,t.randomInteger=function(n,r){null==r&&(r=n,n=0);var e,o,a,u={};return u.min=function(t){return arguments.length?(a=o-(e=t||0),u):e},u.max=function(t){return arguments.length?(a=(o=t||0)-e,u):o},u.sample=function(){return e+Math.floor(a*t.random())},u.pdf=function(t){return t===Math.floor(t)&&t>=e&&t<o?1/a:0},u.cdf=function(t){var n=Math.floor(t);return n<e?0:n>=o?1:(n-e+1)/a},u.icdf=function(t){return t>=0&&t<=1?e-1+Math.floor(t*a):NaN},u.min(n).max(r)},t.randomKDE=function(r,a){var u=o(),f={},i=0;return f.data=function(t){return arguments.length?(r=t,i=t?t.length:0,f.bandwidth(a)):r},f.bandwidth=function(t){return arguments.length?(!(a=t)&&r&&(u=(o=r).length,i=e(o),l=(i[2]-i[0])/1.34,a=1.06*Math.min(Math.sqrt(n.variance(o)),l)*Math.pow(u,-.2)),f):a;var o,u,i,l},f.sample=function(){return r[~~(t.random()*i)]+a*u.sample()},f.pdf=function(t){for(var n=0,e=0;e<i;++e)n+=u.pdf((t-r[e])/a);return n/a/i},f.cdf=function(t){for(var n=0,e=0;e<i;++e)n+=u.cdf((t-r[e])/a);return n/i},f.icdf=function(){throw Error("KDE icdf not supported.")},f.data(r)},t.randomLCG=function(t){return function(){return(t=(1103515245*t+12345)%2147483647)/2147483647}},t.randomMixture=function(n,r){var e,o={},a=0;return o.weights=function(t){return arguments.length?(e=function(t){var n,r=[],e=0;for(n=0;n<a;++n)e+=r[n]=null==t[n]?1:+t[n];for(n=0;n<a;++n)r[n]/=e;return r}(r=t||[]),o):r},o.distributions=function(t){return arguments.length?(t?(a=t.length,n=t):(a=0,n=[]),o.weights(r)):n},o.sample=function(){for(var r=t.random(),o=n[a-1],u=e[0],f=0;f<a-1;u+=e[++f])if(r<u){o=n[f];break}return o.sample()},o.pdf=function(t){for(var r=0,o=0;o<a;++o)r+=e[o]*n[o].pdf(t);return r},o.cdf=function(t){for(var r=0,o=0;o<a;++o)r+=e[o]*n[o].cdf(t);return r},o.icdf=function(){throw Error("Mixture icdf not supported.")},o.distributions(n).weights(r)},t.randomNormal=o,t.randomUniform=function(n,r){null==r&&(r=null==n?1:n,n=0);var e,o,a,u={};return u.min=function(t){return arguments.length?(a=o-(e=t||0),u):e},u.max=function(t){return arguments.length?(a=(o=t||0)-e,u):o},u.sample=function(){return e+a*t.random()},u.pdf=function(t){return t>=e&&t<=o?1/a:0},u.cdf=function(t){return t<e?0:t>o?1:(t-e)/a},u.icdf=function(t){return t>=0&&t<=1?e+t*a:NaN},u.min(n).max(r)},t.regressionExp=function(t,n,r){let e=0,o=0,u=0,l=0,c=0,s=0;f(t,n,r,(t,n)=>{const r=Math.log(n),a=t*n;e+=n,u+=a,c+=t*a,o+=n*r,l+=a*r,++s});const h=a(u/e,o/e,l/e,c/e),d=t=>h[0]*Math.exp(h[1]*t);return h[0]=Math.exp(h[0]),{coef:h,predict:d,rSquared:i(t,n,r,e/s,d)}},t.regressionLinear=l,t.regressionLoess=function(t,r,e,o){const[f,i]=u(t,r,e,!0),l=f.length,c=Math.max(2,~~(o*l)),M=new Float64Array(l),g=new Float64Array(l),m=new Float64Array(l).fill(1);for(let t=-1;++t<=s;){const r=[0,c-1];for(let t=0;t<l;++t){const n=f[t],e=r[0],o=r[1],u=n-f[e]>f[o]-n?e:o;let l=0,c=0,s=0,h=0,v=0,w=1/Math.abs(f[u]-n||1);for(let t=e;t<=o;++t){const r=f[t],e=i[t],o=d(Math.abs(n-r)*w)*m[t],a=r*o;l+=o,c+=a,s+=e*o,h+=e*a,v+=r*a}const[b,x]=a(c/l,s/l,h/l,v/l);M[t]=b+x*n,g[t]=Math.abs(i[t]-M[t]),p(f,t+1,r)}if(t===s)break;const e=n.median(g);if(Math.abs(e)<h)break;for(let t,n,r=0;r<l;++r)t=g[r]/(6*e),m[r]=t>=1?h:(n=1-t*t)*n}return function(t,n){const r=t.length,e=[];for(let o,a=0,u=0,f=[];a<r;++a)o=t[a],f[0]===o?f[1]+=(n[a]-f[1])/++u:(u=0,f=[o,n[a]],e.push(f));return e}(f,M)},t.regressionLog=function(t,n,r){let e=0,o=0,u=0,l=0,c=0;f(t,n,r,(t,n)=>{t=Math.log(t),e+=t,o+=n,u+=t*n,l+=t*t,++c});const s=a(e/c,o/c,u/c,l/c),h=t=>s[0]+s[1]*Math.log(t);return{coef:s,predict:h,rSquared:i(t,n,r,o/c,h)}},t.regressionPoly=function(t,n,r,e){if(1===e)return l(t,n,r);if(2===e)return c(t,n,r);const[o,a]=u(t,n,r),f=o.length,s=[],h=[],d=e+1;let p,M,g,m,v,w=0;for(p=0;p<f;++p)w+=a[p];for(p=0;p<d;++p){for(g=0,m=0;g<f;++g)m+=Math.pow(o[g],p)*a[g];for(s.push(m),v=new Float64Array(d),M=0;M<d;++M){for(g=0,m=0;g<f;++g)m+=Math.pow(o[g],p+M);v[M]=m}h.push(v)}h.push(s);const b=function(t){const n=t.length-1,r=[];let e,o,a,u,f;for(e=0;e<n;++e){for(u=e,o=e+1;o<n;++o)Math.abs(t[e][o])>Math.abs(t[e][u])&&(u=o);for(a=e;a<n+1;++a)f=t[a][e],t[a][e]=t[a][u],t[a][u]=f;for(o=e+1;o<n;++o)for(a=n;a>=e;a--)t[a][o]-=t[a][e]*t[e][o]/t[e][e]}for(o=n-1;o>=0;--o){for(f=0,a=o+1;a<n;++a)f+=t[a][o]*r[a];r[o]=(t[n][o]-f)/t[o][o]}return r}(h),x=t=>{let n=0,r=0,e=b.length;for(;r<e;++r)n+=b[r]*Math.pow(t,r);return n};return{coef:b,predict:x,rSquared:i(t,n,r,w/f,x)}},t.regressionPow=function(t,n,r){let e=0,o=0,u=0,l=0,c=0,s=0;f(t,n,r,(t,n)=>{const r=Math.log(t),a=Math.log(n);e+=r,o+=a,u+=r*a,l+=r*r,c+=n,++s});const h=a(e/s,o/s,u/s,l/s),d=t=>h[0]*Math.pow(t,h[1]);return h[0]=Math.exp(h[0]),{coef:h,predict:d,rSquared:i(t,n,r,c/s,d)}},t.regressionQuad=c,t.sampleCurve=function(t,n,r,e){r=r||25,e=Math.max(r,e||200);const o=n=>[n,t(n)],a=n[0],u=n[1],f=u-a,i=f/e,l=[o(a)],c=[];if(r===e){for(let t=1;t<e;++t)l.push(o(a+t/r*f));return l.push(o(u)),l}c.push(o(u));for(let t=r;--t>0;)c.push(o(a+t/r*f));let s=l[0],h=c[c.length-1];for(;h;){const t=o((s[0]+h[0])/2);t[0]-s[0]>=i&&g(s,t,h)>M?c.push(t):(s=h,l.push(h),c.pop()),h=c[c.length-1]}return l},t.setRandom=function(n){t.random=n},Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-array")):"function"==typeof define&&define.amd?define(["exports","d3-array"],n):n((t=t||self).vega={},t.d3)}(this,(function(t,n){"use strict";function*r(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let r=-1;for(let e of t)null!=(e=n(e,++r,t))&&(e=+e)>=e&&(yield e)}}function e(t,e){var o=Float64Array.from(r(t,e));return o.sort(n.ascending),[n.quantile(o,.25),n.quantile(o,.5),n.quantile(o,.75)]}function o(n,r){var e,o,a=NaN,u={mean:function(t){return arguments.length?(e=t||0,a=NaN,u):e},stdev:function(t){return arguments.length?(o=null==t?1:t,a=NaN,u):o},sample:function(){var n,r,u=0,f=0;if(a==a)return u=a,a=NaN,u;do{n=(u=2*t.random()-1)*u+(f=2*t.random()-1)*f}while(0===n||n>1);return r=Math.sqrt(-2*Math.log(n)/n),a=e+f*r*o,e+u*r*o},pdf:function(t){var n=Math.exp(Math.pow(t-e,2)/(-2*Math.pow(o,2)));return 1/(o*Math.sqrt(2*Math.PI))*n},cdf:function(t){var n,r=(t-e)/o,a=Math.abs(r);if(a>37)n=0;else{var u=Math.exp(-a*a/2);a<7.07106781186547?(n=u*((((((.0352624965998911*a+.700383064443688)*a+6.37396220353165)*a+33.912866078383)*a+112.079291497871)*a+221.213596169931)*a+220.206867912376),n/=((((((.0883883476483184*a+1.75566716318264)*a+16.064177579207)*a+86.7807322029461)*a+296.564248779674)*a+637.333633378831)*a+793.826512519948)*a+440.413735824752):n=u/(a+1/(a+2/(a+3/(a+4/(a+.65)))))/2.506628274631}return r>0?1-n:n},icdf:function(t){if(t<=0||t>=1)return NaN;var n=2*t-1,r=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),a=2/(Math.PI*r)+Math.log(1-Math.pow(n,2))/2,u=Math.log(1-n*n)/r,f=(n>0?1:-1)*Math.sqrt(Math.sqrt(a*a-u)-a);return e+o*Math.SQRT2*f}};return u.mean(n).stdev(r)}function a(t){var r=t.length,o=e(t),a=(o[2]-o[0])/1.34;return 1.06*Math.min(Math.sqrt(n.variance(t)),a)*Math.pow(r,-.2)}function u(t,n,r,e){const o=e-t*t,a=Math.abs(o)<1e-24?0:(r-t*n)/o;return[n-a*t,a]}function f(t,n,r,e){t=t.filter(t=>{let e=n(t),o=r(t);return null!=e&&(e=+e)>=e&&null!=o&&(o=+o)>=o}),e&&t.sort((t,r)=>n(t)-n(r));const o=new Float64Array(t.length),a=new Float64Array(t.length);let u=0;for(let e of t)o[u]=n(e),a[u]=r(e),++u;return[o,a]}function i(t,n,r,e){let o,a,u=-1,f=-1;for(let i of t)o=n(i,++u,t),a=r(i,u,t),null!=o&&(o=+o)>=o&&null!=a&&(a=+a)>=a&&e(o,a,++f)}function l(t,n,r,e,o){let a=0,u=0;return i(t,n,r,(t,n)=>{const r=n-o(t),f=n-e;a+=r*r,u+=f*f}),1-a/u}function c(t,n,r){let e=0,o=0,a=0,f=0,c=0;i(t,n,r,(t,n)=>{e+=t,o+=n,a+=t*n,f+=t*t,++c});const s=u(e/c,o/c,a/c,f/c),h=t=>s[0]+s[1]*t;return{coef:s,predict:h,rSquared:l(t,n,r,o/c,h)}}function s(t,n,r){let e=0,o=0,a=0,u=0,f=0,c=0,s=0,h=0;i(t,n,r,(t,n)=>{const r=t*t;e+=t,o+=n,a+=r,u+=r*t,f+=r*r,c+=t*n,s+=r*n,++h});const d=a-e*e/h,p=u-a*e/h,M=f-a*a/h,g=d*M-p*p,m=((s-=a*(o/=h))*d-(c-=e*o)*p)/g,v=(c*M-s*p)/g,w=o-v*(e/h)-m*(a/h),b=t=>m*t*t+v*t+w;return{coef:[w,v,m],predict:b,rSquared:l(t,n,r,o,b)}}t.random=Math.random;const h=2,d=1e-12;function p(t){return(t=1-t*t*t)*t*t}function M(t,n,r){let e=t[n],o=r[0],a=r[1]+1;if(!(a>=t.length))for(;n>o&&t[a]-e<=e-t[o];)r[0]=++o,r[1]=a,++a}const g=.1*Math.PI/180;function m(t,n,r){const e=Math.atan2(r[1]-t[1],r[0]-t[0]),o=Math.atan2(n[1]-t[1],n[0]-t[0]);return Math.abs(e-o)}t.bin=function(t){var n,r,e,o,a,u,f,i,l=t.maxbins||20,c=t.base||10,s=Math.log(c),h=t.divide||[5,2],d=t.extent[0],p=t.extent[1],M=t.span||p-d||Math.abs(d)||1;if(t.step)n=t.step;else if(t.steps){for(a=M/l,u=0,f=t.steps.length;u<f&&t.steps[u]<a;++u);n=t.steps[Math.max(0,u-1)]}else{for(r=Math.ceil(Math.log(l)/s),e=t.minstep||0,n=Math.max(e,Math.pow(c,Math.round(Math.log(M)/s)-r));Math.ceil(M/n)>l;)n*=c;for(u=0,f=h.length;u<f;++u)(a=n/h[u])>=e&&M/a<=l&&(n=a)}return o=(a=Math.log(n))>=0?0:1+~~(-a/s),i=Math.pow(c,-o-1),(t.nice||void 0===t.nice)&&(d=d<(a=Math.floor(d/n+i)*n)?a-n:a,p=Math.ceil(p/n)*n),{start:d,stop:p===d?d+n:p,step:n}},t.bootstrapCI=function(e,o,a,u){if(!e.length)return[void 0,void 0];var f,i,l,c,s=Float64Array.from(r(e,u)),h=s.length,d=o;for(l=0,c=Array(d);l<d;++l){for(f=0,i=0;i<h;++i)f+=s[~~(t.random()*h)];c[l]=f/h}return c.sort(n.ascending),[n.quantile(c,a/2),n.quantile(c,1-a/2)]},t.quartiles=e,t.randomInteger=function(n,r){null==r&&(r=n,n=0);var e,o,a,u={};return u.min=function(t){return arguments.length?(a=o-(e=t||0),u):e},u.max=function(t){return arguments.length?(a=(o=t||0)-e,u):o},u.sample=function(){return e+Math.floor(a*t.random())},u.pdf=function(t){return t===Math.floor(t)&&t>=e&&t<o?1/a:0},u.cdf=function(t){var n=Math.floor(t);return n<e?0:n>=o?1:(n-e+1)/a},u.icdf=function(t){return t>=0&&t<=1?e-1+Math.floor(t*a):NaN},u.min(n).max(r)},t.randomKDE=function(n,r){var e=o(),u={},f=0;return u.data=function(t){return arguments.length?(n=t,f=t?t.length:0,u.bandwidth(r)):n},u.bandwidth=function(t){return arguments.length?(!(r=t)&&n&&(r=a(n)),u):r},u.sample=function(){return n[~~(t.random()*f)]+r*e.sample()},u.pdf=function(t){for(var o=0,a=0;a<f;++a)o+=e.pdf((t-n[a])/r);return o/r/f},u.cdf=function(t){for(var o=0,a=0;a<f;++a)o+=e.cdf((t-n[a])/r);return o/f},u.icdf=function(){throw Error("KDE icdf not supported.")},u.data(n)},t.randomLCG=function(t){return function(){return(t=(1103515245*t+12345)%2147483647)/2147483647}},t.randomMixture=function(n,r){var e,o={},a=0;function u(t){var n,r=[],e=0;for(n=0;n<a;++n)e+=r[n]=null==t[n]?1:+t[n];for(n=0;n<a;++n)r[n]/=e;return r}return o.weights=function(t){return arguments.length?(e=u(r=t||[]),o):r},o.distributions=function(t){return arguments.length?(t?(a=t.length,n=t):(a=0,n=[]),o.weights(r)):n},o.sample=function(){for(var r=t.random(),o=n[a-1],u=e[0],f=0;f<a-1;u+=e[++f])if(r<u){o=n[f];break}return o.sample()},o.pdf=function(t){for(var r=0,o=0;o<a;++o)r+=e[o]*n[o].pdf(t);return r},o.cdf=function(t){for(var r=0,o=0;o<a;++o)r+=e[o]*n[o].cdf(t);return r},o.icdf=function(){throw Error("Mixture icdf not supported.")},o.distributions(n).weights(r)},t.randomNormal=o,t.randomUniform=function(n,r){null==r&&(r=null==n?1:n,n=0);var e,o,a,u={};return u.min=function(t){return arguments.length?(a=o-(e=t||0),u):e},u.max=function(t){return arguments.length?(a=(o=t||0)-e,u):o},u.sample=function(){return e+a*t.random()},u.pdf=function(t){return t>=e&&t<=o?1/a:0},u.cdf=function(t){return t<e?0:t>o?1:(t-e)/a},u.icdf=function(t){return t>=0&&t<=1?e+t*a:NaN},u.min(n).max(r)},t.regressionExp=function(t,n,r){let e=0,o=0,a=0,f=0,c=0,s=0;i(t,n,r,(t,n)=>{const r=Math.log(n),u=t*n;e+=n,a+=u,c+=t*u,o+=n*r,f+=u*r,++s});const h=u(a/e,o/e,f/e,c/e),d=t=>h[0]*Math.exp(h[1]*t);return h[0]=Math.exp(h[0]),{coef:h,predict:d,rSquared:l(t,n,r,e/s,d)}},t.regressionLinear=c,t.regressionLoess=function(t,r,e,o){const[a,i]=f(t,r,e,!0),l=a.length,c=Math.max(2,~~(o*l)),s=new Float64Array(l),g=new Float64Array(l),m=new Float64Array(l).fill(1);for(let t=-1;++t<=h;){const r=[0,c-1];for(let t=0;t<l;++t){const n=a[t],e=r[0],o=r[1],f=n-a[e]>a[o]-n?e:o;let l=0,c=0,h=0,d=0,v=0,w=1/Math.abs(a[f]-n||1);for(let t=e;t<=o;++t){const r=a[t],e=i[t],o=p(Math.abs(n-r)*w)*m[t],u=r*o;l+=o,c+=u,h+=e*o,d+=e*u,v+=r*u}const[b,x]=u(c/l,h/l,d/l,v/l);s[t]=b+x*n,g[t]=Math.abs(i[t]-s[t]),M(a,t+1,r)}if(t===h)break;const e=n.median(g);if(Math.abs(e)<d)break;for(let t,n,r=0;r<l;++r)t=g[r]/(6*e),m[r]=t>=1?d:(n=1-t*t)*n}return function(t,n){const r=t.length,e=[];for(let o,a=0,u=0,f=[];a<r;++a)o=t[a],f[0]===o?f[1]+=(n[a]-f[1])/++u:(u=0,f=[o,n[a]],e.push(f));return e}(a,s)},t.regressionLog=function(t,n,r){let e=0,o=0,a=0,f=0,c=0;i(t,n,r,(t,n)=>{t=Math.log(t),e+=t,o+=n,a+=t*n,f+=t*t,++c});const s=u(e/c,o/c,a/c,f/c),h=t=>s[0]+s[1]*Math.log(t);return{coef:s,predict:h,rSquared:l(t,n,r,o/c,h)}},t.regressionPoly=function(t,n,r,e){if(1===e)return c(t,n,r);if(2===e)return s(t,n,r);const[o,a]=f(t,n,r),u=o.length,i=[],h=[],d=e+1;let p,M,g,m,v,w=0;for(p=0;p<u;++p)w+=a[p];for(p=0;p<d;++p){for(g=0,m=0;g<u;++g)m+=Math.pow(o[g],p)*a[g];for(i.push(m),v=new Float64Array(d),M=0;M<d;++M){for(g=0,m=0;g<u;++g)m+=Math.pow(o[g],p+M);v[M]=m}h.push(v)}h.push(i);const b=function(t){const n=t.length-1,r=[];let e,o,a,u,f;for(e=0;e<n;++e){for(u=e,o=e+1;o<n;++o)Math.abs(t[e][o])>Math.abs(t[e][u])&&(u=o);for(a=e;a<n+1;++a)f=t[a][e],t[a][e]=t[a][u],t[a][u]=f;for(o=e+1;o<n;++o)for(a=n;a>=e;a--)t[a][o]-=t[a][e]*t[e][o]/t[e][e]}for(o=n-1;o>=0;--o){for(f=0,a=o+1;a<n;++a)f+=t[a][o]*r[a];r[o]=(t[n][o]-f)/t[o][o]}return r}(h),x=t=>{let n=0,r=0,e=b.length;for(;r<e;++r)n+=b[r]*Math.pow(t,r);return n};return{coef:b,predict:x,rSquared:l(t,n,r,w/u,x)}},t.regressionPow=function(t,n,r){let e=0,o=0,a=0,f=0,c=0,s=0;i(t,n,r,(t,n)=>{const r=Math.log(t),u=Math.log(n);e+=r,o+=u,a+=r*u,f+=r*r,c+=n,++s});const h=u(e/s,o/s,a/s,f/s),d=t=>h[0]*Math.pow(t,h[1]);return h[0]=Math.exp(h[0]),{coef:h,predict:d,rSquared:l(t,n,r,c/s,d)}},t.regressionQuad=s,t.sampleCurve=function(t,n,r,e){r=r||25,e=Math.max(r,e||200);const o=n=>[n,t(n)],a=n[0],u=n[1],f=u-a,i=f/e,l=[o(a)],c=[];if(r===e){for(let t=1;t<e;++t)l.push(o(a+t/r*f));return l.push(o(u)),l}c.push(o(u));for(let t=r;--t>0;)c.push(o(a+t/r*f));let s=l[0],h=c[c.length-1];for(;h;){const t=o((s[0]+h[0])/2);t[0]-s[0]>=i&&m(s,t,h)>g?c.push(t):(s=h,l.push(h),c.pop()),h=c[c.length-1]}return l},t.setRandom=function(n){t.random=n},Object.defineProperty(t,"__esModule",{value:!0})}));
{
"name": "vega-statistics",
"version": "1.4.0",
"version": "1.5.0",
"description": "Statistical routines and probability distributions.",

@@ -29,3 +29,3 @@ "keywords": [

},
"gitHead": "d2576ca617d8165211ffe6c23582b9dc1b88db7d"
"gitHead": "9badf6d2d1490057f4010e3796189ca366878101"
}

@@ -150,3 +150,3 @@ # vega-statistics

<a name="regressionLoess" href="#regressionLoess">#</a>
vega.<b>regressionLoess/b>(<i>data</i>, <i>x</i>, <i>y</i>, <i>bandwidth</i>)
vega.<b>regressionLoess</b>(<i>data</i>, <i>x</i>, <i>y</i>, <i>bandwidth</i>)
[<>](https://github.com/vega/vega/blob/master/packages/vega-statistics/src/regression/loess.js "Source")

@@ -174,6 +174,7 @@

- _extent_: (required) A two-element (`[min, max]`) array indicating the range of desired bin values.
- _extent_: (required) A two-element (`[min, max]`) array indicating the range over which the bin values are defined.
- _base_: The number base to use for automatic bin determination (default base `10`).
- _maxbins_: The maximum number of allowable bins (default `20`).
- _step_: An exact step size to use between bins. If provided, the _maxbins_ and _steps_ options will be ignored.
- _span_: The value span over which to generate bin boundaries. The default is `extent[1] - extent[0]`. This parameter allows automatic step size determination over custom spans (for example, a zoomed-in region) while retaining the overall _extent_.
- _step_: An exact step size to use between bins. If provided, the _maxbins_, _span_, and _steps_ options will be ignored.
- _steps_: An array of allowable step sizes to choose from. If provided, the _maxbins_ option will be ignored.

@@ -180,0 +181,0 @@ - _minstep_: A minimum allowable step size (particularly useful for integer values, default `0`).

@@ -9,3 +9,3 @@ export default function(_) {

max = _.extent[1],
span = (max - min) || Math.abs(min) || 1,
span = _.span || (max - min) || Math.abs(min) || 1,
step, level, minstep, precision, v, i, n, eps;

@@ -12,0 +12,0 @@

@@ -20,6 +20,8 @@ import numbers from './numbers';

mu.sort(ascending);
return [
quantile(mu.sort(ascending), alpha/2),
quantile(mu, alpha/2),
quantile(mu, 1-(alpha/2))
];
}

@@ -7,4 +7,8 @@ import numbers from './numbers';

// don't depend on return value from typed array sort call
// protects against undefined sort results in Safari (vega/vega-lite#4964)
values.sort(ascending);
return [
quantile(values.sort(ascending), 0.25),
quantile(values, 0.25),
quantile(values, 0.50),

@@ -11,0 +15,0 @@ quantile(values, 0.75)

@@ -37,7 +37,13 @@ // subdivide up to accuracy of 0.1 degrees

while (p1) {
// midpoint for potential curve subdivision
const pm = point((p0[0] + p1[0]) / 2);
if (pm[0] - p0[0] >= stop && angleDelta(p0, pm, p1) > MIN_RADIANS) {
// maximum resolution has not yet been met, and
// subdivision midpoint sufficiently different from endpoint
// save subdivision, push midpoint onto the visitation stack
next.push(pm);
} else {
// subdivision midpoint sufficiently similar to endpoint
// skip subdivision, store endpoint, move to next point on the stack
p0 = p1;

@@ -44,0 +50,0 @@ prev.push(p1);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc