forecasting/node_modules/@forecasting/aggregation
2022-04-21 23:23:24 -04:00
..
decision-method.png feat: initial commit 2022-04-21 23:23:24 -04:00
index.js feat: initial commit 2022-04-21 23:23:24 -04:00
package.json feat: initial commit 2022-04-21 23:23:24 -04:00
README.md feat: initial commit 2022-04-21 23:23:24 -04:00
tests.js feat: initial commit 2022-04-21 23:23:24 -04:00

About

This package contains a series of utilities for forecast aggregation. It is currently in alpha, meaning that the code itself works, but there isn't error checking.

For an introduction to different aggregation methods, see Jaime Sevilla's Aggregation series. For an explanation of the neyman method, see here.

Built with

Getting started

Installation

npm install @forecasting/aggregation

Usage

import {
  median,
  arithmeticMean,
  geometricMean,
  geometricMeanOfOdds,
  extremizedGeometricMeanOfOdds,
  neyman,
} from "@forecasting/aggregation";

let ps = [0.1, 0.2, 0.4, 0.5];
console.log(ps);

console.log(median(ps));
console.log(arithmeticMean(ps));
console.log(geometricMean(ps));
console.log(geometricMeanOfOdds(ps));
console.log(extremizedGeometricMeanOfOdds(ps, 1.5)); // 1.5 is the extremization factor
console.log(extremizedGeometricMeanOfOdds(ps, 2.5));
console.log(neyman(ps));

Roadmap

  • validate probabilities (must be 0<= p <=1)
  • Decide on a return type if probabilities are not validated (-1? / null?)
  • Write wrapper code for validation
  • Validate that array.length > 0
  • add weighting? by recency?
  • filter outliers?
  • Write documentation
  • Do another repository for scoring methods