这个归一化曲线是什么?常量 ^(常量 ^ 观察指数为 100)

What is this normalization curve? Constant ^ (Constant ^ Observation Indexed to 100)

抱歉,我什至不确定如何提出这个问题。我有一些在工作中一直使用的归一化曲线,我想了解更多关于它们的信息,所以我很聪明地谈论它们。它们的形状类似于 sigmoid 函数,但它们的一般公式如下:

常量 ^(常量 ^ 观察指数为 100)

首先,索引一个从 0 到 100 的变量,最高观测值等于 100,然后将不同斜率的曲线插入到下面的方程式中。

s1 = 0.0000000001 ^ (0.97 ^ 指数)

s2 = 0.0000000002 ^ (0.962 ^ 指数)

s3 = 0.0000000003 ^ (0.953 ^ 指数)

以此类推,直至s10。结果值在 0 和 1 之间压缩。s10 的斜率最陡,值向 1 倾斜,而 s1 的斜率最浅,值向 0 倾斜。

我认为他们非常聪明,而且他们很适合我们的目的,但我什至不知道如何称呼他们。谁能指出我正确的方向?再次对含糊不清以及标记不当表示歉意。

您描述的函数是 Gompertz functions 的特例; Gompertz 函数具有 S 形形状,在不同领域有许多应用。例如在生物学中,Gompertz 函数用于模拟细菌和肿瘤细胞的生长。


要了解您的方程与更一般的 Gompertz 函数的关系,让我们重写 s 的方程

附带说明一下,我们可以看到采用 s 的双对数(即 log log s)将方程线性化为指数的函数。

我们现在可以将其与更通用的 Gompertz 函数进行比较

取自然对数得到

我们再设a=1,再取自然对数

所以你给出的方程在代数上与带参数的 Gompertz 函数相同


让我们绘制您在 post 中提供的三组参数的函数(我在这里使用 R,但在 Python 中很容易做类似的事情)

# Define a function f which takes the index and two parameters a and b
# We use a helper function scale01 to scale the values of f in the interval [0,1]
# using min-max scaling
scale01 <- function(x) (x - min(x)) / (max(x) - min(x))
f <- function(idx, a, b) scale01(a ^ (b ^ idx))

# Calculate s for the three different sets of parameters and 
# using integer index values from 0 to 100 
idx <- 0:100
lst <- lapply(list(
    s1 = list(a = 0.0000000001, b = 0.97),
    s2 = list(a = 0.0000000002, b = 0.962),
    s3 = list(a = 0.0000000003, b = 0.953)),
    function(pars) f(idx, a = pars$a, b = pars$b))

# Plot    
library(ggplot2)
df <- cbind(idx = idx, stack(lst))
ggplot(df, aes(idx, values, colour = ind)) + geom_line()