Profile likelihood given the MLE parameter set, the cost function and forward simulation data?

6 ビュー (過去 30 日間)
As the title says-- what would you recommend I use?
I have seen sbioparameterci but it requires the 'fitResults' parameters to have been estimater from sbiofit, and I already have a vector of the MLE parameter set.
I have also seen the PESTO (parameter estimation toolbox) but it requires having ran multistart, which I have not, do have gotten the parameter set.
Thank you very much in advance.
  3 件のコメント
Marina-Effrosyni Panteli
Marina-Effrosyni Panteli 2023 年 1 月 5 日
Hi, thanks for the reply. I want the PL so that I can then see the confidence intervals and thus characterise parameters' identifiability. Am I saying something wrong?
Torsten 2023 年 1 月 5 日
編集済み: Torsten 2023 年 1 月 5 日
Am I saying something wrong?
Maybe not, but it's so shortly paraphrased that you are talking in riddles for me.


回答 (1 件)

Piyush 2023 年 10 月 12 日
I understand that you want to find profile likelihood in MATLAB, and you have been provided with an MLE (Maximum Likelihood Estimation) parameter set, cost function and forward simulation data. You tried using specialized toolboxes like PESTO and specific functions like sbioparameterci but since they might have additional requirements and assumptions it did not serve your purpose well.
To address your issue, you can refer to the following steps which might serve as potential workaround:
  1. Define a function that evaluates the negative log-likelihood (NLL) based on your cost function and forward simulation data. The NLL is typically the negative log of the likelihood function. Ensure that the function takes the parameter vector as an input and returns the NLL value.
  2. Use the "fmincon" function in MATLAB to minimize the NLL function. Set the optimization options appropriately, such as the parameter bounds and any constraints.
  3. Once you have the MLE parameter set, you can perform the profile likelihood analysis by varying one parameter at a time while keeping the other parameters fixed at their MLE values. For each parameter, define a range of values to explore.
  4. For each parameter value in the range, fix the parameter at that value and optimize the NLL function using "fmincon", keeping the other parameters fixed at their MLE values. Store the resulting NLL values.
  5. Repeat this process for all the parameters, creating a profile likelihood curve for each parameter. The profile likelihood curve represents the change in the NLL as a function of the parameter value, while other parameters are fixed.
  6. Analyze the profile likelihood curves to determine confidence intervals or regions of interest for each parameter. This can be done by finding the parameter values corresponding to a certain change in the NLL, such as a specific likelihood ratio test statistic.
The above-mentioned steps might require careful implementation and involve significant computation depending on the complexity of the model and the number of parameters. Consider using parallel computing or other optimization techniques to speed up the analysis if needed.
Hope this helps!


Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by