Prediction interval given parameter estimates
3 views (last 30 days)
Show older comments
I am trying to do a certain model simulation. Given a parameter estimation (best fit parameter values and their standard error), how can I use that to simulate scenarios with prediction intervals? Simbiology does parameter estimation with confidence intervals around the parameters and prediction intervals around the model simulations, but it's only in the same step as parameter estimation. So it shows the prediction interval for the model simulation fitted to the data. I want to propagate this uncertainty to a different simulation that is not the from the dataset that I am fitting.
1 Comment
Torsten
on 24 Jul 2025
Edited: Torsten
on 24 Jul 2025
Why not doing it in two steps: parameter fitting, taking pencil and paper, writing down the prediction intervals and starting a new simulation with assumed values from these intervals written down to paper ? Or do I misunderstand your last sentence : I want to propagate this uncertainty to a different simulation that is not the from the dataset that I am fitting. ?
Accepted Answer
Sameer
on 28 Jul 2025
To simulate prediction intervals using parameter estimates from a SimBiology fit and apply them to a different simulation scenario (not the original dataset), you can propagate the uncertainty using a Monte Carlo approach. Here's how:
1. Extract parameter estimates and their covariance matrix from your fitting results:
p_est = fitResults.ParameterEstimates.Estimate;
Sigma = fitResults.CovarianceMatrix;
2. Sample parameter sets assuming a multivariate normal distribution using the best-fit values and the covariance:
N = 1000;
paramSamples = mvnrnd(p_est, Sigma, N);
3. Simulate the model with each sampled parameter set under the new scenario (e.g., different dose or input). For each sample:
for i = 1:N
for k = 1:numParams
model.Parameters(k).Value = paramSamples(i,k);
end
simData = sbiosimulate(model);
Yall(:,i) = simData.Data(:, responseIndex); % store the output of interest
end
4. Compute prediction intervals by taking percentiles across the simulated outputs:
lowerPI = prctile(Yall, 2.5, 2);
upperPI = prctile(Yall, 97.5, 2);
This method lets you apply the "parameter uncertainty" obtained from fitting to "new simulations" beyond the original dataset. It's a flexible, simulation-based approach that doesn't rely on built-in SimBiology functions like "sbiopredictionci", which are limited to the original fitting context.
Hope this helps!
More Answers (0)
See Also
Categories
Find more on Scan Parameter Ranges in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!