如何从多项式拟合线性回归模型中的给定 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值?