Effacer les filtres
Effacer les filtres

How to estimate 95% confidence band on GPR model prediction

12 vues (au cours des 30 derniers jours)
Vahe Ghazikhanian
Vahe Ghazikhanian le 23 Mai 2019
Commenté : MAYANK DHYANI le 26 Août 2021
I created a compact GPR model using the Regression Learner app. The model is in a structure which I have used to predict the estimates for a new set of data using: yfit = GPRnewOOS.predictFcn(x_test); where GPRnewOOS is the name of created GPR model, x_test is a set of measurements with large number of predictors, and yfit is output of the model for each measurement.
This works just fine, and I do get predictions of teh function in the array yfit. But I also need to get 95% confidence interval for the estimated yfit values.
According to Matlab literature I have to use predict function as: [ypred,ysd,yint] = predict(GPRnewOOS,x_test)
but when I do that I get an error (see attached screenshot). What am I doing wrong?

Réponse acceptée

Cathy Chen
Cathy Chen le 10 Août 2021
%% test model
[pred,~,ci] = M5_5.predictFcn(ValiD);
plot(pred,'color','m','DisplayName','Prediction');
hold on
plot(Capa40,'color','k','DisplayName','Real');
hold on
plot(ci(:,1),'c--','DisplayName','Lower 95% Limit');
hold on
plot(ci(:,2),'blue--','DisplayName','Lower 95% Limit');
legend;
  1 commentaire
MAYANK DHYANI
MAYANK DHYANI le 26 Août 2021
Thank you @Cathy Chen! I had been struggling to use the trained model to generate the confidence interval until I came across your code.

Connectez-vous pour commenter.

Plus de réponses (1)

Karun Mathiazhagan
Karun Mathiazhagan le 26 Mai 2019
Hello Vahe,
The "predict" method which you are trying to use belongs to the "RegressionGP" object stored within the structure that is exported from the Regression Learner app and not the structure itself. Please feel free to use "predict" on this object, once you have extracted it from the structure which is exported from the app. To do this, you should be able to use the command "GPRnewOOS.RegressionGP". This would store the resultant "RegressionGP" object in "ans".
I hope this helps.
Best,
Karun
  1 commentaire
Vahe Ghazikhanian
Vahe Ghazikhanian le 29 Mai 2019
Hello Karun, I tried your suggestion by typing:
>> [y_IS,yci_IS] = predict(GPRnewOOS.RegressionGP,xx_IN);
and got the error:
screenshot.jpg
The xx_IN is a matrix of 711 x 398 [711 variables each measured 398 times], and the model was created with the Regression learner app with the same number of input variable (e.g., 711 x 1376).
The only thing I can think of with 5 component is the fact that I had the PCA feature selection set to 5, and that is reflected in the model structure which shows there are "PCACcoefficients 711x5".
It seems that the "predict" function requires PCA to be applied to the input matrix before it can be evaluated?
Do you know if one can do this another way? A simple code might be helpful.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by