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)