我需要预测一个已拟合模型下,新的
通常情况下,通过使用
对于有多个解的情况,我希望获得所有在
请参见以下示例代码,其中我需要找到新的
y
值所对应的x
值。通常情况下,通过使用
predict
函数可以轻松地预测新的x
值所对应的y
值,但我无法想出如何完成反向预测。对于有多个解的情况,我希望获得所有在
x
值范围内(即1-10)的解。而新的y
值将始终在用于拟合模型的y
值范围内。请参见以下示例代码,其中我需要找到新的
x
值(new_x
)。x = seq(1:10)
y = c(60,30,40,45,35,20,10,15,25,10)
fit = lm(y ~ poly(x, 3, raw=T))
plot(x, y)
lines(sort(x), predict(fit)[order(x)], col='red')
new_y = 30
new_x = predict(fit, data.frame(y=new_y)) #This line does not work as intended.
编辑1:反向拟合
对反向关系进行拟合将不会得到相同的模型,因为我们将得到一个不同的模型/拟合线。
rev_fit = lm(x ~ poly(y, 3, raw=T))
plot(x, y)
lines(sort(x), predict(fit)[order(x)], col='red')
lines(predict(rev_fit)[order(y)], sort(y), col='blue', lty=2)