From 430d1a6832c4170386db7a61576a2f3504162e65 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Fri, 22 Apr 2022 00:22:16 -0400 Subject: [PATCH] feat: change aggregation code details --- README.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c50a285..d9720a6 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ npm install forecasting #### Aggregation +````js + ```js import { median, @@ -29,7 +31,7 @@ import { geometricMeanOfOdds, extremizedGeometricMeanOfOdds, neyman, -} from "forecasting"; +} from "@forecasting/aggregation"; let ps = [0.1, 0.2, 0.4, 0.5]; console.log(ps); @@ -41,6 +43,29 @@ 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)); + +// invalid inputs, will return -1 +let notArrayOfProbabilities0 = "Hello world!"; +console.log(arithmeticMean(notArrayOfProbabilities0)); // -1 +let notArrayOfProbabilities1 = []; +console.log(arithmeticMean(notArrayOfProbabilities1)); // -1 +let notArrayOfProbabilities2 = ["a"]; +console.log(arithmeticMean(notArrayOfProbabilities2)); // -1 +let notArrayOfProbabilities3 = [2, 4, 5]; +console.log(arithmeticMean(notArrayOfProbabilities3)); // -1 + +const chosenAggregationMethod = neyman; +const getAggregatedProbabilities = (array) => { + let result = neyman(array); + if (result == -1) { + // handle case somehow; maybe throw an error, e.g.: + // throw new Error("Invalid array of probabilities") + } else { + return result; + } +}; +```` + ``` You may also install [@forecasting/aggregation](https://www.npmjs.com/package/@forecasting/aggregation) directly @@ -57,3 +82,4 @@ To be done - [ ] Do another repository for scoring methods - [ ] Do another repository for charts +```