【发布时间】:2020-02-13 20:34:28
【问题描述】:
这是一个数据集:
df <- data.frame('y' = c(81,67,54,49,41,25), 'x' =c(-50,-30,-10,10,30,50))
到目前为止,我知道如何拟合 sigmoidal 曲线并将其显示在屏幕上:
plot(df$y ~ df$x)
fit <- nls(y ~ SSlogis(x, Asym, xmid, scal), data = df)
summary(fit)
lines(seq(-100, 100, length.out = 100),predict(fit, newdata = data.frame(x = seq(-100,100, length.out = 100))))
我现在想在 y = 50 时在 S 型曲线上找到一个点。我该怎么做?
【问题讨论】:
-
“我现在想在 y = 50 时在 S 形曲线上找到一个点”。也许我误解了,但这不正是
xmid的估计值吗?这是x的值,其中 sigmoidal 响应为最大值的 50%。 -
我可能遗漏了一些东西,但 xmid = -38.10,如果我在视觉上估计 y = 50 时的 x 值,它似乎在 +5 左右。
-
@MauritsEvers - 好点。但是,y = 50,与 Asym 的 50% 不同。因为 Asym 的拟合值可能不完全是 100。
-
@dww 啊,我明白了。我假设响应是正常化的。
标签: r regression curve-fitting non-linear-regression sigmoid