Open dilpath opened 2 years ago
The model doesn't appear to unscale the parameter, so estimating in
[-5, 3]
is incorrect, and instead should be[0.00001, 1000]
.
I see what you mean. However, the parameter in the d2d implementation is set to zero in a linear scale
and set as fixed. Therefore I think that adjusting the bounds to the values that you propose is correct, however the scale shall be kept to lin
and the nominalValue
and estimate
to zero. Otherwise probably while loading the problem in pyPESTO will try to convert the zero to logarithmic scale and probably fail (?).
The model doesn't appear to unscale the parameter, so estimating in
[-5, 3]
is incorrect, and instead should be[0.00001, 1000]
.I see what you mean. However, the parameter in the d2d implementation is set to
zero in a linear scale
and set as fixed. Therefore I think that adjusting the bounds to the values that you propose is correct, however the scale shall be kept tolin
and thenominalValue
andestimate
to zero. Otherwise probably while loading the problem in pyPESTO will try to convert the zero to logarithmic scale and probably fail (?).
If an error occurs in AMICI/pyPESTO, it could be fixed I think, since zero can still be used on log-scale with NumPy:
>>> import numpy as np
>>> np.log(0.0)
-inf
>>> np.exp(np.log(0.0))
0.0
Inclusion of zero in the bounds would still be problematic.
The model doesn't appear to unscale the parameter, so estimating in
[-5, 3]
is incorrect, and instead should be[0.00001, 1000]
.I see what you mean. However, the parameter in the d2d implementation is set to
zero in a linear scale
and set as fixed. Therefore I think that adjusting the bounds to the values that you propose is correct, however the scale shall be kept tolin
and thenominalValue
andestimate
to zero. Otherwise probably while loading the problem in pyPESTO will try to convert the zero to logarithmic scale and probably fail (?).
I believe this is an artifact from the d2d implementation where it seems like parameters can only be fixed on a linear scale (see for example reduced/regular version of Lucarelli)
I believe this is an artifact from the d2d implementation where it seems like parameters can only be fixed on a linear scale (see for example reduced/regular version of Lucarelli)
@FFroehlich would then fix the parameter value at zero + defining log10 scale work in the AMICI/pyPESTO import ? As far as I know, pyPESTO works with the parameters in the defined scale, therefore np.log10(0)
could be problematic (probably for other tools, like d2d too?)
If so, I do not see anything against approving these changes.
I believe this is an artifact from the d2d implementation where it seems like parameters can only be fixed on a linear scale (see for example reduced/regular version of Lucarelli)
@FFroehlich would then fix the parameter value at zero + defining log10 scale work in the AMICI/pyPESTO import ? As far as I know, pyPESTO works with the parameters in the defined scale, therefore
np.log10(0)
could be problematic (probably for other tools, like d2d too?) If so, I do not see anything against approving these changes.
Ah, thats a good point. I did not check but I can definitely see this being problematic for other tools (e.g., d2d) , even if it works in AMICI/pyPESTO. So I wouldn't recommend changing this.
I believe this is an artifact from the d2d implementation where it seems like parameters can only be fixed on a linear scale (see for example reduced/regular version of Lucarelli)
@FFroehlich would then fix the parameter value at zero + defining log10 scale work in the AMICI/pyPESTO import ? As far as I know, pyPESTO works with the parameters in the defined scale, therefore
np.log10(0)
could be problematic (probably for other tools, like d2d too?) If so, I do not see anything against approving these changes.Ah, thats a good point. I did not check but I can definitely see this being problematic for other tools (e.g., d2d) , even if it works in AMICI/pyPESTO. So I wouldn't recommend changing this.
I do however see the issue that this causes trouble when for example trying to run model selection where some parameters are fixed/unfixed. I would say the best way to address this is to add additional indicator variables (e.g., representing the matlab variables model_options.partial_import
, model_options.different_KD
, model_options.PDE_inhibition
, model_options.AC_inhibition
) that are on a linear scale with bounds [0,1] and then set the scale for the fixed parameters to log10 with nonzero value and multiplying all occurences in the model with the respective indicator variables.
The model doesn't appear to unscale the parameter, so estimating in
[-5, 3]
is incorrect, and instead should be[0.00001, 1000]
.