如何从多项式拟合线性回归模型中的给定 Y 值预测 X 值?

Posted

技术标签:

【中文标题】如何从多项式拟合线性回归模型中的给定 Y 值预测 X 值?【英文标题】:How can I predict X value from a given Y value from a polynomial fitted Linear Regression model? 【发布时间】:2020-12-06 07:31:35 【问题描述】:

在拟合简单的线性回归模型后,我使用以下公式:“y=mx+c”来找到给定 'y 的 'x' 值' 价值。显然,拟合模型后,我得到了“m”和“c”的值。

model = LinearRegression(fit_intercept=True)
model.fit(X,Y)
print('intercept:', model.intercept_)
print('slope:', model.coef_)
intercept: 1.133562363647583
slope: [-0.00075101]
#finding 'x' val for y=1 : x=(y-c)/m
x=(1-model.intercept_)/model.coef_[0] 

现在,我认为 Linear 做得不好,并且看到 3 次多项式拟合 给出了最好的结果(不包括此处的图表)。现在,我如何从下面的代码 sn-p 预测给定“y”值的“x”值:

from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree = 3) 
X_poly = poly.fit_transform(X) 
  
poly.fit(X_poly, Y) 
model2 = LinearRegression(fit_intercept=True) 
model2.fit(X_poly, Y)

print('intercept:', model2.intercept_)
print('slope:', model2.coef_)
intercept: 1.461870542630406
slope: [ 0.00000000e+00 -1.12408245e-02  9.69531205e-05 -2.72315461e-07]

【问题讨论】:

【参考方案1】:

试试

p = [slope, intercept - y]

x = numpy.roots(p)

【讨论】:

以上是关于如何从多项式拟合线性回归模型中的给定 Y 值预测 X 值?的主要内容,如果未能解决你的问题,请参考以下文章

在多元线性回归中,如何用matlab求得各个变量的T统计值及其p值?

r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

算法学习神经网络

线性回归Linear regression

如何使用线性回归模型进行预测?

拟合线性回归模型中的值误差