【问题标题】:Hill Equation Curve Fitting NLS希尔方程曲线拟合 NLS
【发布时间】:2017-08-04 03:18:34
【问题描述】:

我正在尝试计算以下数据的速率。我尝试了 Michaelis Menten 方程,但是,Km 是负数。我现在正在尝试拟合希尔方程,但收到错误消息。我认为我的起始值不太好。任何帮助将不胜感激。

谢谢, 克里纳

x<- c(0.0,  2.5,  5.0, 10.0, 25.0)
y <- c(4.91, 1.32, 1.18, 1.12, 1.09)

fo <- y~(Emax*(x^hill)/((EC50^hill)+(x^hill)))
st <- c(Emax=1.06, EC50=0.5, hill=1)

fit <- nls(fo, data = data.frame(x, y), start = st, trace = T)

Error in numericDeriv(form[[3L]], names(ind), env) : 
  Missing value or an infinity produced when evaluating the model

【问题讨论】:

  • 您应该通过绘制数据来查看数据。 x 和 y 的定义方式,无论有没有希尔系数 >1,你都无法拟合 MM。
  • 由于您似乎对各种方程式持开放态度,请使用 drm 函数尝试使用 drc 包中的各种方程式。

标签: r curve-fitting nls


【解决方案1】:

我使用遗传算法将您发布的数据拟合到数百个已知的命名方程中,并使用遗传算法进行初始参数估计,并发现非常适合如下简单的幂律方程(另见附图):

y = (a + x)b + Offset

a =  3.6792869983309306E-01
b = -1.3439157691306818E+00
Offset =  1.0766655470363218E+00

Degrees of freedom (error): 2
Degrees of freedom (regression): 2
Chi-squared: 1.98157151386e-06
R-squared: 0.999999822702
R-squared adjusted: 0.999999645405
Model F-statistic: 5640229.45337
Model F-statistic p-value: 1.77297720061e-07
Model log-likelihood: 29.7579529506
AIC: -10.7031811802
BIC: -10.9375184328
Root Mean Squared Error (RMSE): 0.000629534989315

a = 3.6792869983309306E-01
  std err: 2.36769E-06
  t-stat: 2.39112E+02
  p-stat: 1.74898E-05
  95% confidence intervals: [3.61308E-01, 3.74549E-01]

b = -1.3439157691306818E+00
  std err: 2.91468E-05
  t-stat: -2.48929E+02
  p-stat: 1.61375E-05
  95% confidence intervals: [-1.36714E+00, -1.32069E+00]

Offset = 1.0766655470363218E+00
  std err: 9.37265E-07
  t-stat: 1.11211E+03
  p-stat: 8.08538E-07
  95% confidence intervals: [1.07250E+00, 1.08083E+00]

Coefficient Covariance Matrix
  [ 2.38970842 -8.3732707   1.30483649]
  [ -8.3732707   29.41789844  -4.52058247]
  [ 1.30483649 -4.52058247  0.94598199]

【讨论】:

    【解决方案2】:

    我能够在 drc 库中使用对数逻辑模型得到很好的拟合。但是,我无法找到此模型的参数定义。是不是类似于带对数变换的 hill 模型?

    library(drc)
    fit.ll <- drm(y~x, data=data.frame(x,y), fct=LL.5(), type="continuous")
    print(summary(fit.ll))
    plot(fit.ll)
    

    【讨论】:

    • 尝试?LL.5 寻求帮助。另请注意,您使用 5 个参数模型拟合 5 个点,因此您将过度拟合。您可能想尝试使用较少参数的模型,例如 AR.3。
    猜你喜欢
    • 2018-06-04
    • 2016-02-02
    • 2015-03-02
    • 2017-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多