Parameter fitting

558 views
Skip to first unread message

Quan Zhou

unread,
Nov 11, 2015, 11:14:30 AM11/11/15
to copasi-u...@googlegroups.com
Hey All, 

Is there anyone can help me out of this? 

Recently, I run the parameter estimation using particle swarm and finally get the parameter estimation similar to what is described in a related paper. But the plots for the results seems a little weird to me (because it seems all the fitted values are just connected between each measured value not doing some estimation for giving me a fitted curve (please see my attachment)). Also, after I run the estimation process, there always a warning shows "The fisher information matrix is singular. Therefore the correlation matrix can not be calculated". So what should I do for this situation?  

Thank you,

--
Quan Zhou
Graduate Student
Biological and Agricultural Engineering
Room 120, David S. Weaver Laboratories
North Carolina State University

Raleigh, NC 27695-7625


1030COPASI error.jpg
11082015 error.jpg
COPASI paper.png
result 1.png

Pedro Mendes

unread,
Nov 11, 2015, 11:33:34 AM11/11/15
to copasi-u...@googlegroups.com
hello Quan Zhou,

The plots that COPASI generates for parameter estimation only show the
data points that were measured and the data points that the simulation
fits (ie the same X value as the measured data). The plot also dispays
the "weighted error", which is the weighted difference between the
experimental data and the simulated data. This particular plot of COPASI
does not show the simulated data as a continuous curve.

In these plots, you can press the buttons that say "weighted error" to
make them disappear, this will make the plot clearer. The curves labeled
with "measured value" correspond to your experimental data, while the
ones that say "fitted value" correspond to the simulation result.

You can make such a curve in the following way: after fitting (ie when
you are satisfied that the fit is good enough for you already), you
should then go to the time course task and program a time course with
the appropriate length (eg 160 second as in your exp. data) and set it
to have many intervals, for example 500. This will produce a nice smooth
time course of the fitted model. To achieve plots like the one in that
paper, you will need to export these data (eg by using "save data" in
the plot window) and combine them with the measurement data.

Finally, regarding the *warning* message message you get (not an error
message, just a warning). This means that the Fisher Information Matrix
of that solution is non-invertible, thus the software cannot use it to
compute the correlation matrix. That happens often when you have too
many parameters to estimate and too few data. But sometimes it happens
just because the solution is not a good one yet. This is a numerical
condition that depends on many aspects of the fit. It is definitely not
an error and it is just informing you that this happened with your
solution.

Pedro
> Email: qzh...@ncsu.edu <mailto:qzh...@ncsu.edu>
>
> --
> You received this message because you are subscribed to the Google
> Groups "COPASI User Forum" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to copasi-user-fo...@googlegroups.com
> <mailto:copasi-user-fo...@googlegroups.com>.
> To post to this group, send email to copasi-u...@googlegroups.com
> <mailto:copasi-u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/copasi-user-forum/CAJB9j98ePN-TppDZa7OE_eOCiL-pr%2BA8wSbwQL7OfdftafOABg%40mail.gmail.com
> <https://groups.google.com/d/msgid/copasi-user-forum/CAJB9j98ePN-TppDZa7OE_eOCiL-pr%2BA8wSbwQL7OfdftafOABg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

--
Pedro Mendes
Professor of Computational Systems Biology
http://www.comp-sys-bio.org
School of Computer Science
Manchester Centre for Integrative Systems Biology
University of Manchester

Manchester Institute of Biotechnology
131 Princess Street
Manchester, M1 7DN, U.K.

Quan Zhou

unread,
Nov 16, 2015, 12:18:51 AM11/16/15
to COPASI User Forum
Hello Pedro,

Thanks for your quick response. 

I tried running the parameter estimation several times this weekends, For each running process, it almost take me 1 hour to do that since I have too many parameters. And all the results are not good, which really makes me confused. Please help me out of this. 

Here is the summarization of the problem I have, 

There is another warning message I met after I run the problem every time (please see the attachment) and after I get the result plot, which I only make it display the measured value for xylose (X) and fitted value for X, but it seems the fitted value were always 0. Also, I got the number of each parameter estimation and the root mean square of it. However, When I looked back to the species overview, the numbers seem very weird to me (eg, in my case, the F6P, G3P etc are intermediate product, which should be changing through time and their initial value should be 0, X (xylose) is my substrate and B(butanol) is my product, which should also be changing through time). I was wondering if something wrong when I establish the model (eg. the compartment setting or species setting, I followed the published paper to establish the model). Would you please take a look at my model and give me some suggestion for this situation? I have a really hard time struggling in this part. Thank you very much and I really appreciate your help and your patience. 

Best wishes, 

Quan. 

在 2015年11月11日星期三 UTC-5上午11:33:34,pedro.mendes写道:
error 1115.png
xylose to butanol model 1115.cps
estimation plot.png
parameters.png
root mean square.png
fitted value.png
overall species.png
overall parameter.png
40X.txt
Kinetic study of butanol production from various sugars by Clostridium acetobutylicum using a dynamic model.pdf

Pnar Pir

unread,
Nov 16, 2015, 2:20:23 AM11/16/15
to copasi-u...@googlegroups.com
Dear Quan,

Would you be able to send your data file 40X so that we can have a look how your initial values get modified by it? In the model, all your initial values are 1, probably that is not what you want.

Best,

Pnar

> To post to this group, send email to copasi-u...@googlegroups.com
> <mailto:copasi-u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/copasi-user-forum/CAJB9j98ePN-TppDZa7OE_eOCiL-pr%2BA8wSbwQL7OfdftafOABg%40mail.gmail.com
> <https://groups.google.com/d/msgid/copasi-user-forum/CAJB9j98ePN-TppDZa7OE_eOCiL-pr%2BA8wSbwQL7OfdftafOABg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

--
Pedro Mendes
Professor of Computational Systems Biology
http://www.comp-sys-bio.org
School of Computer Science
Manchester Centre for Integrative Systems Biology
University of Manchester

Manchester Institute of Biotechnology
131 Princess Street
Manchester, M1 7DN, U.K.

--
You received this message because you are subscribed to the Google Groups "COPASI User Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to copasi-user-fo...@googlegroups.com.
To post to this group, send email to copasi-u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/copasi-user-forum/0f3b683e-e5e0-4137-8963-14965c2e9bb6%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Pnar Pir
----

I can only meditate when I am walking. When I stop; I cease to think. - Jean-Jacques Rousseau

Quan Zhou

unread,
Nov 16, 2015, 8:28:03 AM11/16/15
to COPASI User Forum
Thanks Pnar. 

Please see the attachment, that is my40X data.  

在 2015年11月16日星期一 UTC-5上午2:20:23,pnarpir写道:
40X.txt

Pnar Pir

unread,
Nov 17, 2015, 3:29:00 AM11/17/15
to copasi-u...@googlegroups.com
Hello Quan,

Your data file does not modify the initial values of most of your variables. I would manually insert the correct initial values to the model (currently all are 1), and try the parametrization again. Hope this will improve the results. 

The constant concentrations can be an outcome of slow reactions (small parameters), are they really constant (no change at all), or are they changing a bit - but insignificantly?

Thanks Pnar. 


For more options, visit https://groups.google.com/d/optout.

Quan Zhou

unread,
Nov 17, 2015, 11:24:38 PM11/17/15
to COPASI User Forum
hello Pnar, 

That really helps!  I changed the initial value of each of the variables and finally I got the fitted curve. Please see my attachment. 


Now my only concern is that after I run the process, from the parameter overview window, all the parameters were shown as initial value (eg, 0.1) but not the estimation result,(which I actually already got from result window). Then I followed some instruction I found on the website, I went back to the parameter estimation window and choose "update" and then run the whole estimation process again. This time, I can see each parameter estimation value from the parameter overview window. But the parameter estimation result this time was different from the first time (which I can tell from the fitted plot). So actually which one is the more accurate result? Could you please tell me what happened after I update the model (especially after I got the result from first time run)

Thanks,

Quan.

在 2015年11月17日星期二 UTC-5上午3:29:00,pnarpir写道:
Thanks Pnar. 

1117 plot.pdf
updated plot.pdf
1117-21.png
1117 updated parameter result with mean.txt
1117 parameter estimation result.txt
overall parameter.png

Pnar Pir

unread,
Nov 18, 2015, 3:50:35 AM11/18/15
to copasi-u...@googlegroups.com
Hi Quan,

Happy to hear that part of your question is answered.

When you tick the box for "randomize", your parametrization will start from a random set of parameters. Every time you run it, it is almost certain that you will get a different result. Even if you don`t tick randomize, you may still get a different result at each run, depending on the algorithm you use for the estimation. If it is deterministic, you will get the same result, otherwise you will get a different result even if the parametrization algorithm starts from the same initial set. I am not sure which algorithms are deterministic in COPASI, probably most are.

If you tick "update", the results of the parametrization will be inserted in the model and your future simulations will use these updated parameters. As far as I know, there is no easy way to convert back to the previous set of parameters, so make sure the box is unticked if you don`t want to update the model.

So then which result is more accurate? Well, all are valid results. If your data set is small, there will be more than one set of parameters that fit the model to your data. In that case you may try to include more data to narrow down the solution space of possible parameter sets. Depending on the structure of the model, there may be no way of narrowing down the solution space to one unique set of parameters. that is "structural unidentifiability" problem, you will have to change the structure of the model to have a unique solution. 

Hope this helps,

Pnar

Thanks Pnar. 


For more options, visit https://groups.google.com/d/optout.

Pedro Mendes

unread,
Nov 18, 2015, 4:25:04 AM11/18/15
to copasi-u...@googlegroups.com

On 11/18/2015 08:50 AM, Pnar Pir wrote:
> I am not sure which algorithms are deterministic in COPASI, probably
> most are.

Actually most algorithms are *not* deterministic. Here is a full list in
the current version:

DETERMINISTIC
these algorithms produce the same answer if started from the same set of
initial values
-Levenberg-Marquardt
-Hooke-Jeeves
-Praxis
-Steepest descent
-Truncated Newton

NON-DETERMINISTIC
these algorithms depend on randomness and thus will unlikely provide the
same answer even if started with the same initial values (they can
result in the same answer but this would be rare)
-Random search
-Differential Evolution
-Evolution Strategy (SRES)
-Genetic Algorithm
-Genetic Algorithm SR
-Particle Swarm
-Simulated Annealing
-Scatter Search
-Nelder-Mead (this one is essentially a deterministic algorithm, but it
needs n+1 starting points, this includes the one in the window, but the
other n are taken at random, so the algorithm may provide different
results as a consequence of the random initial start)

To judge whether one solution is better than another, you can look at
the "Objective Value" in the results box, the lower the better. (It is
always important to look at the data versus the model plots too!)

Pedro

Pnar Pir

unread,
Nov 18, 2015, 4:30:58 AM11/18/15
to copasi-u...@googlegroups.com
Hi Pedro,

Thanks for listing all the (non)deterministic algorithms, it was something I wondered but didn`t go through the documentation to figure out.

And thanks for pointing out the "objective function value", my explanation was for cases where the objective value is the same but the result is different. Comparing the value from different runs is of course the first criteria to decide which parameter set fits better!

Cheers,

Pnar

--
You received this message because you are subscribed to the Google Groups "COPASI User Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to copasi-user-fo...@googlegroups.com.
To post to this group, send email to copasi-u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Quan Zhou

unread,
Nov 23, 2015, 11:32:57 AM11/23/15
to COPASI User Forum
Hello Pnar and Pedro,

Thanks for helping me understanding the parameter estimation results. 

But there are few things that I am still confused, so what is the objective value? is that the one shown in my parameter estimation results? From my results, after I click "update model" and run the program again, the overall "objective value" got smaller from "83.8243" to "54.1662" and each parameter's "objective value" is getting smaller after I click "update model"( please see the attachments). So does that mean the updated model is better than the other one? and Why the result is better when the objective value is smaller? 

Also, the plot I got from parameter estimation shows that all the plots from X(xylose) fitted curve were under the experimental curve (red line for xylose concentration), which indicates that the fitting is not very good. But for B (butanol) fitted curve, some points were under the experimental curve (blue line) and some points were above the blue line, which seems more reasonable. Would you please tell me how should I change my estimation program to make it more accurate for the fitting process? 

Thanks,

QUan.

在 2015年11月18日星期三 UTC-5上午4:30:58,pnarpir写道:
1117 parameter estimation result.txt
1117 updated parameter result with mean.txt
updated plot.pdf

Pnar Pir

unread,
Nov 24, 2015, 6:47:43 AM11/24/15
to copasi-u...@googlegroups.com
Hello Quan,

Probably all these terms are new to you, here is a short document which defines the terms such as "objective value" and walks you through all steps in parametrization of a glycolysis model with COPASI. I think it will answer most of your questions.


Have fun!

Pnar



Quan Zhou

unread,
Dec 10, 2015, 11:30:38 PM12/10/15
to COPASI User Forum
Hey Pnar,

Thanks for all your information, and recently I got the parameter estimated as I expected. Here I really would like to know that is there any way that COPASI can also give me the estimation for each intermediate product (like F6P, G3P, AcoA etc.,) so I can calculate the rate in each step? My final goal is to compare the production of butanol under different situation and see which step has the most significant influence on butanol production. 


Thanks,

Quan.

在 2015年11月24日星期二 UTC-5上午6:47:43,pnarpir写道:
1117 updated parameter result with mean.txt
1210 COPASI.docx
Reply all
Reply to author
Forward
0 new messages