Predicted standard deviation values of Gaussian Processes are only within [0, 1]

44
November 13, 2019, at 3:30 PM

I am using the Gaussian Processes of scikit-learn to estimate behavior of a black box likelihood function f(.). I don't know the range of the values that this function f(.) produces but I know empirically that it could be as low as -Yxxxx (where Y could be any integer except 0) to 0. Therefore I cannot normalize the output values of f (.) since I don't know the range of the values that this black box function can produce (it could be even lower than -99999).

I am using scikit-learn's Gaussian Process package to fit the underlying black box function and then use the gp.predict function to get an estimate of the mean and standard deviation values for some unobserved points. However, I noticed that all of the predicted standard deviation values are in the range (0, 1) instead of more meaningful values such as 500, 1000 etc that I can easily interpret given the predicted means. Therefore, I cannot use these std values when making my plot because the predicted means are in normally ranges such as (-15000, 0) and their corresponding standard deviation values predicted by the GP is in the range (0, 1) which makes the plot look show a curve without any uncertainty around the predicted means. It seems that gp.predict doesn't take an input argument that leads to my expected output values for standard deviation and it looks like the Gaussian Process Regression package expects the inputs to also be normalized. So I wonder if there is a way in scikit learn to make gp.predict output standard deviation values in the right range?

I was also thinking if it would be okay if I simply multiply the predicted standard deviation values by their corresponding predicted mean values to get an estimate of the real standard deviation value corresponding to that mean. For instance, if the predicted mean is -4000 and the predicted std is 0.3 I would do abs(-4000 x 0.3) and get 1200 as standard deviation. If wonder if it is statistically valid to do this?

READ ALSO
The Python Generator abstract base class doesn't impliment the necessary __del__, is this intentional?

The Python Generator abstract base class doesn't impliment the necessary __del__, is this intentional?

Generator objects in Python are required to have a close method that exists to ensure that context managers are exited and try

38
Input response is not working as I expected

Input response is not working as I expected

I am new to python an I am wondering why my code isn't working

32
Recurrent Neural Network RNN - how to implement one output as input to the next iteration in Python Keras?

Recurrent Neural Network RNN - how to implement one output as input to the next iteration in Python Keras?

The FCC fully connected cascaded network with recurrent layer is shown in the figure below

18