我尝试使用以下代码将曲线拟合到黑点。为什么身材这么差?我需要适应另一种类型的功能吗?
fit <- nls(grad ~ theta1/(1 + exp(-(theta2 + theta3*x1))),
start=list(theta1 = 4, theta2 = 0.09, theta3 = 0.31), trace=TRUE)
p = predict(fit)
plot(x1, grad)
points(x1, p, col = "red")
我尝试使用以下代码将曲线拟合到黑点。为什么身材这么差?我需要适应另一种类型的功能吗?
fit <- nls(grad ~ theta1/(1 + exp(-(theta2 + theta3*x1))),
start=list(theta1 = 4, theta2 = 0.09, theta3 = 0.31), trace=TRUE)
p = predict(fit)
plot(x1, grad)
points(x1, p, col = "red")
您的模型中似乎有错误指定的函数形式。您正在拟合一种特定类型的 sigmoid 函数,但除此之外还有许多类型的 sigmoid 函数。Sigmoid 函数主要在用于二元数据回归的链接函数的上下文中进行讨论。您可以从我的回答中获得有关存在的不同可能性的一些信息: logit 函数是否总是最适合二进制数据的回归建模? 一个看起来可能合适的特定链接/ sigmoid 函数是补充日志日志。您可以在我的回答中看到与 logit 和 probit 链接(进行一些讨论)相比的图片:Difference between logit and probit models。我会建议尝试堵塞。