@amyxst Yes, I was thinking about that! It could be interesting to assume the data samples as random variables and for each epoch or mini-batch draw samples from a normal distribution and use that to train the model. It’s some sort of data augmentation or regularization, maybe there are some papers about that. It would be interesting if you try it to find if there is an improvement in accuracy. After the model trained you can generate predictions using just the samples (the mean of the distribution) or maybe generate several predictions sampled from the normal distributions to have some sort of ensemble. I’ve never tried this but I’m interested in it since I often work with data with uncertainty.
Maybe this can be done with callbacks like
on_epoch_end(). Or if the errors are constant for each variable, like you mentioned 40m ± 0.05, then if we assume the errors are normally distributed and the ± 0.05 as the 95% confidence interval then the 0.05 is about 2\sigma (\sigma - standard deviation) so you can easily get samples from a normal distribution with mean 0 and standard deviation \sigma and add them to the sample values.
I’m not an expert on fastai or pytorch, neither in programming… but I’m working to improve, so if you need any help to implement this I’ll do my best!