我很难相信线性模型可以用多项式来拟合线性回归曲线。如图所示。
假设我没有错过-理解上面的陈述,你能获得良好的性能与线性模型,试图拟合,比方说,抛物线在三维空间?
发布于 2022-05-08 22:22:36
实际上,像Y = b_0 + b_1X + b_2X^2这样的模型不是三维抛物线,而是二维抛物线。只有两个变量(Y和X),换句话说,函数仍然是Y = f(X)。
三维抛物线将是抛物面,因此模型将是Y = b_0 + b_1X + b_2X^2 + b_3Z + b_4Z^2,以及Y = f(X,Z)类型的函数。
或者,有混合模型,如Y = b_0 + b_1X + b_2X^2 + b_3Z,这将是一个抛物线圆柱在三维和Y = f(X,Z)。
正如@Evator提到的,所有这些模型实际上都是线性模型,其中线性一词指的是系数,而不是变量。因此,变量的线性与系数的线性是不同的。这些模型非常适合,但有时需要付出代价:多重共线性和增加的方差。
发布于 2022-05-08 00:06:16
假设你想用线性模型绘制抛物线x²。这本身是行不通的,因为标准的线性模型只能创建表单ax+b的函数。所以,您可以做的是,不仅将x的值传递给模型,还可以传递x²的值。现在,给定x和x²,可以建立一个包含这两个输入的线性模型,该模型适合于x²函数。例如0\cdot x+1\cdot x²+0。您可能会说,这不再是一个线性模型,但它确实是,因为它不是x值平方的模型,而是传递给模型之前被平方的输入。所以从技术上讲,它是一个2输入的线性模型。使用这个技巧,您可以保留线性模型的优点(例如,对于均方误差损失,它是凸的)。通过在任何维度空间中转换输入数据,您可以使用线性模型对数据进行回归或分类。
发布于 2022-05-08 11:31:17
您还可以使用类/预测变量的log10()或log()来线性化任何非线性关系。这将比将x²传递给模型(如所接受的答案中所建议的那样)要普遍一些。
显然,如果结果变量中有负值或0,则此技巧将不起作用。但是,您可以将+1或+ <some constant>添加到结果中,以消除这些类型的数值问题。这些预测将被某些常数所忽略。你以后可以纠正这个问题。
https://datascience.stackexchange.com/questions/110752
复制相似问题