Predictive score ? how?

This post is slightly off-topic, but thought this forum is the best place to ask.
Here goes,let say I have a sequence of values …

Example:

Value X can be followed by any of “n” other values Y1,Y2,Y3, … Yn
When I arrive at X I predict one of the Y values. If I predict correctly I should get a reward, penalty otherwise.
In addition every visit to a value I increment a counter I keep for every value.
/Visits can be viewed as Probability … taking into account all Y’s/

So I have two pieces of information Probability and Predictability.

What I want is to create a score that combines this information AND also an update formula for this score.

I will use this score to “correctly” predict what is the most probable and correct value Y after X.
It is repeatable process, so the scores will change over time.

I’m looking for the most plausible and common sense interpretation i.e. the prediction should be based on how often value Yx followed X, but also how correctly it was predicted, unless you can persuade me otherwise.

My thinking is that this will better capture the fluid nature of change in what follows X over time.
/I can also for-see using discount factor somehow/

The best idea I had so far is that Predictability is an S-curve function [0 … 1 ] and the score is :

 Score = Probability * Predictability

I would also prefer to hold/store single value as a Score, rather than two values which I combine.

1 Like

If X is a value in a time series (your sequence) then I’m sure the Y values can be modeled. If you have no history of X’s, you won’t know which “direction” X is going in, making the Y predictions very difficult. Essentially you need a slope for each X to be confident in Y.

1 Like

Sorry, the value sequence was just example … X and Y can be a value a state a data structure … not simply a value

Are there any constraints on how the score can be encoded?

When you refer to correctly predicting, do you mean whether or not the prediction was correct (i.e. a Boolean condition), or would it include percentage of overlap (for example between SDRs)?

Assuming a correct prediction is a Boolean condition, and that score can be encoded as a (signed) big integer, maybe you could:

  • Select the Y with the highest score (the prediction) when you arrive at X
  • When the next input arrives, if it is correct add 2 to its score (incrementing both its probability and its predictability).
  • Or, if it is incorrect, subtract 1 from the score of the Y that was predicted (decrementing its predictability) and add one to the score of the actual Y (incrementing its probability)

This would be equivalent to holding onto separate tallies for probability and predictability and summing them to calculate a score (but slightly simpler)

1 Like

The condition is Boolean. The score is real number.

Now that I though more about it, here is how I imagine it… Probability describe occurence, I need something to describe more like a pattern … lets take the following sequences

  1,1,2,1, ... next value is 1 or 2 ..50%/50%, because 1:1 and 1:2 occur once
  1,1,1,2,1, ... next value is 1, because 1:1 is 66%, 1:2 is 33%

now if i have :

 1,1,2,2,1,1,2,1,2,1,1,.. 

still 50/50 , but the more prevalent pattern is 1,2 it occurred twice more recently, also 2 follow 1,1

The thing is probability is only part of the picture … it has to be something that capture patterns of occurrence.

What I suspect I need is some sort of RL Q-value calculation, but there is no goal and reward (or may be the good/bad prediction is reward/penalty) and it is for sequence of states, rather then sequence of state-action…

i.e. i’m just passive observer…

I think what I’m looking is Expected value, rather than Probable value …