Is it reasonable to discount historical observations by scaling the logp?

Hopefully a quicker question than my last…

I have a dataset of observations spanning several years, and predictions to make on today’s observations. I’d like to discount the influence of the older observations, assuming that they are less relevant.

I can’t remember where (hence my question here) I saw a method to apply a bias by directly multiplying the logp. I’ve tried it and it seems to work, but does anyone have strong opinions on why this might not be a good idea?

the critical part of the model spec:

pi_dist = pm.Bernoulli.dist(p=psi)
pi_like = pm.Potential('pi_like', pi_dist.logp(y_pi) * x_psi_recency_bias)

where (just for color):

  • psi is a float in range [0,1]
  • y_pi is an int in {0, 1}
  • x_psi_recency_bias is a float in range (0, 1] where 1 is today’s observations, and more historical years are closer and closer to 0
  • all 3 are vectors of course


Sounds completely reasonable as a first approach (if you don’t want to go into timeseries). The equivalent if you were fitting data sequentially would be to weaken your posterior from old observations when using it as the prior for new observations.

1 Like

Thank you kindly!