mingo
Version:
MongoDB query language for in-memory objects
34 lines (33 loc) • 854 B
JavaScript
function stddev(data, sampled = true) {
let sum = 0;
for (let i = 0; i < data.length; i++) sum += data[i];
const mean = sum / data.length;
let result = 0;
for (let i = 0; i < data.length; i++) {
const x = data[i] - mean;
result += x * x;
}
return Math.sqrt(result / (data.length - Number(sampled)));
}
function covariance(dataset, sampled = true) {
if (dataset.length < 2) return sampled ? null : 0;
let meanX = 0;
let meanY = 0;
for (let i = 0; i < dataset.length; i++) {
const [x, y] = dataset[i];
meanX += x;
meanY += y;
}
meanX /= dataset.length;
meanY /= dataset.length;
let result = 0;
for (let i = 0; i < dataset.length; i++) {
const [x, y] = dataset[i];
result += (x - meanX) * (y - meanY);
}
return result / (dataset.length - Number(sampled));
}
export {
covariance,
stddev
};