晚上好,
我用R函数拟合了四个参数的logistic曲线,方程如下:
Y=α+lambda/(1+exp(-beta(x-mu)
我想确定这条曲线的最大斜率,为此,我要计算函数的导数。你知道我怎么能找到这个函数的导数并用它来确定最大斜率或最大导数值吗?
提前谢谢你,
罗汉
得到正则乙状结肠方程y=1/1+e及其导数,但与参数无关。我期待一些帮助,我的方程的导数和一个脚本,可以帮助我找到最大值。
发布于 2022-11-11 18:50:25
假设你计算的参数是α= 1,lambda = 2,β=3和mu = 4,然后创建导数函数fder并使用optimize求出它的最大值。显然,最大斜率出现在mu = 1.5或将x= mu替换为导数fder时,在最大值处的导数等于lambda *β/ 4。
fder <- function(x, alpha = 1, lambda = 2, beta = 3, mu = 4) {}
body(fder) <- D(expression(alpha + lambda/(1+exp(-beta*(x-mu)))), "x")
optimize(fder, c(-10, 10), maximum = TRUE)
## $maximum
## [1] 3.99999
##
## $objective
## [1] 1.5发布于 2022-11-11 19:25:34
从@G.Grotandieck的答案开始,下面是对最大导数为lambda*beta/4的逻辑解释。
x=0条件下,无标度logistic函数的最大导数为1/4。1/(1+exp(-beta*x))的最大导数是beta/4 at x=0 (您可以在维基百科上查到这一点)1/(1+exp(-beta*(x-mu))))将最大导数的位置移动到x=mu,但不改变其值alpha (alpha + 1/(1+exp(-beta*(x-mu))))将曲线向上移动不会改变最大斜率或其位置lambda (alpha + lambda/(1+exp(-beta*(x-mu))))标度曲线标度lambda (beta/4 → lambda*beta/4)的最大导数https://stackoverflow.com/questions/74405397
复制相似问题