R 用拟合模型从Y值预测X值

R 用拟合模型从Y值预测X值,r,lm,R,Lm,我需要使用拟合模型预测新y值的相应x值 通过使用predict函数,从新的x值预测y值的通常情况很简单,但我不知道如何做相反的操作 对于具有多个x解决方案的情况,我希望获得x值范围内的所有解决方案,即1-10。并且新的y将始终在用于拟合模型的y值范围内 请参见下面的示例代码,我需要在其中查找新的x值(new\uX) 编辑1:反向拟合 拟合反向关系不会得到相同的模型,因为我们得到不同的模型/拟合线 rev_fit = lm(x ~ poly(y, 3, raw=T)) plot(x, y) l

我需要使用拟合模型预测新
y
值的相应
x

通过使用
predict
函数,从新的
x
值预测
y
值的通常情况很简单,但我不知道如何做相反的操作

对于具有多个
x
解决方案的情况,我希望获得
x
值范围内的所有解决方案,即
1-10
。并且新的
y
将始终在用于拟合模型的
y
值范围内

请参见下面的示例代码,我需要在其中查找新的x值(
new\uX

编辑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) 

如中所述,您应该能够使用
appro()
执行任务。例如,像这样:

xval <- approx(x = fit$fitted.values, y = x, xout = 30)$y

points(xval, 30, col = "blue", lwd = 5)

xval只是为了添加,
样条曲线
函数也可用于非线性插值,作为线性函数
近似函数的替代。关于您对缺乏对称性的评论,您可以使用pca创建对称的直线(即,您没有一维值,您知道othet)。您还可以使用两个单独的回归(缺少对称性的原因是回归到平均值)。好奇这里是否还有其他想法/方法。参见此处:也可以在wiki上阅读有关回归稀释的内容:
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) 
xval <- approx(x = fit$fitted.values, y = x, xout = 30)$y

points(xval, 30, col = "blue", lwd = 5)