如何解决R中的S形曲线
我是R studio的新手。我正在尝试为此数据拟合S形曲线
x <- c(0,0.19,0.3,0.4,0.52,0.65,0.78,0.9,1,1.5,2,3)
y <- c(0,0.001131392946767,0.001429213070191,0.001695405556196,0.008619063174144,0.00970100252551,0.014973553352495,0.022978522580874,0.038357458205673,0.045039437163441,0.052570608708667,0.050651474312204)
即使在网上阅读了很多书之后,我仍然不知道如何设置配件。
fit <- nls(y~max(y)*x^n/k^n+x^n,start=list(n=4,k=1))
当我进行拟合时,它给了我一个奇异的梯度误差。有人可以帮忙吗? :(
解决方法
使用自启动模型:
plot(y ~ x)
help("SSlogis")
fit <- nls(y ~ SSlogis(x,Asym,xmid,scal),data = data.frame(x,y))
summary(fit)
curve(predict(fit,newdata = data.frame(x = x)),add = TRUE)
您提出的模型似乎有问题,因为它不适合上渐近线。您使用max(y)
的建议没有以明智的方式考虑不确定性。我还怀疑您可能会错过公式中的括号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。