Prediction interval given parameter estimates

조회 수: 3 (최근 30일)
Sameed Ahmed
Sameed Ahmed 2025년 7월 24일
댓글: Sameed Ahmed 2025년 7월 31일
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
Torsten
Torsten 2025년 7월 24일
편집: Torsten 2025년 7월 24일
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. ?

댓글을 달려면 로그인하십시오.

채택된 답변

Sameer
Sameer 2025년 7월 28일
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!
  댓글 수: 1
Sameed Ahmed
Sameed Ahmed 2025년 7월 31일
This works and is super helpful! Thanks so much @Sameer!!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Scan Parameter Ranges에 대해 자세히 알아보기

제품


릴리스

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by