UNPKG

@technobuddha/library

Version:
31 lines (30 loc) 1.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.variance = void 0; var mean_1 = __importDefault(require("lodash/mean")); var sum_1 = __importDefault(require("lodash/sum")); /** * Returns the unbiased sample variance of the arguments. For a definition, * see http://en.wikipedia.org/wiki/Variance * * @param datapoints Number samples to analyze. * @return The unbiased sample variance of the arguments (0 if fewer * than two samples were provided, or {@code NaN} if any of the samples is * not a valid number). */ function variance() { var datapoints = []; for (var _i = 0; _i < arguments.length; _i++) { datapoints[_i] = arguments[_i]; } var sampleSize = datapoints.length; if (sampleSize < 2) return Number.NaN; var average = mean_1.default(datapoints); return sum_1.default(datapoints.map(function (val) { return Math.pow(val - average, 2); })) / (sampleSize - 1); } exports.variance = variance; exports.default = variance;