Prediction interval given parameter estimates
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sameed Ahmed
el 24 de Jul. de 2025
Comentada: Sameed Ahmed
el 31 de Jul. de 2025
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 comentario
Torsten
el 24 de Jul. de 2025
Editada: Torsten
el 24 de Jul. de 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. ?
Respuesta aceptada
Sameer
el 28 de Jul. de 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!
Más respuestas (0)
Ver también
Categorías
Más información sobre Scan Parameter Ranges en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!