From 0b69cba80296c33cb716b4827436ef3d75a0ce16 Mon Sep 17 00:00:00 2001 From: Mike Bryant Date: Wed, 8 Apr 2020 18:15:56 +0100 Subject: [PATCH] Rename pattern and make probability per row --- index.html | 2 +- js/predictions.js | 23 +++++++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index ded86e6..23bcb89 100644 --- a/index.html +++ b/index.html @@ -47,7 +47,7 @@ - + diff --git a/js/predictions.js b/js/predictions.js index 5fa5a48..a4358c1 100644 --- a/js/predictions.js +++ b/js/predictions.js @@ -1,31 +1,38 @@ const PATTERN = { - ROLLERCOASTER: 0, + FLUCTUATING: 0, LARGE_SPIKE: 1, DECREASING: 2, SMALL_SPIKE: 3, }; +const PATTERN_COUNTS = { + [PATTERN.FLUCTUATING]: 56, + [PATTERN.LARGE_SPIKE]: 7, + [PATTERN.DECREASING]: 1, + [PATTERN.SMALL_SPIKE]: 8, +} + const PROBABILITY_MATRIX = { - [PATTERN.ROLLERCOASTER]: { - [PATTERN.ROLLERCOASTER]: 0.20, + [PATTERN.FLUCTUATING]: { + [PATTERN.FLUCTUATING]: 0.20, [PATTERN.LARGE_SPIKE]: 0.30, [PATTERN.DECREASING]: 0.15, [PATTERN.SMALL_SPIKE]: 0.35, }, [PATTERN.LARGE_SPIKE]: { - [PATTERN.ROLLERCOASTER]: 0.50, + [PATTERN.FLUCTUATING]: 0.50, [PATTERN.LARGE_SPIKE]: 0.05, [PATTERN.DECREASING]: 0.20, [PATTERN.SMALL_SPIKE]: 0.25, }, [PATTERN.DECREASING]: { - [PATTERN.ROLLERCOASTER]: 0.25, + [PATTERN.FLUCTUATING]: 0.25, [PATTERN.LARGE_SPIKE]: 0.45, [PATTERN.DECREASING]: 0.05, [PATTERN.SMALL_SPIKE]: 0.25, }, [PATTERN.SMALL_SPIKE]: { - [PATTERN.ROLLERCOASTER]: 0.45, + [PATTERN.FLUCTUATING]: 0.45, [PATTERN.LARGE_SPIKE]: 0.25, [PATTERN.DECREASING]: 0.15, [PATTERN.SMALL_SPIKE]: 0.15, @@ -211,7 +218,7 @@ function* generate_pattern_0_with_lengths(given_prices, high_phase_1_len, dec_ph }); } yield { - pattern_description: "Rollercoaster", + pattern_description: "Fluctuating", pattern_number: 0, prices: predicted_prices }; @@ -615,7 +622,7 @@ function get_probabilities(possibilities, previous_pattern) { }, 0); return possibilities.map(function (poss) { - poss.probability = PROBABILITY_MATRIX[previous_pattern][poss.pattern_number] / max_percent; + poss.probability = PROBABILITY_MATRIX[previous_pattern][poss.pattern_number] / PATTERN_COUNTS[poss.pattern_number] / max_percent; return poss; }); }