【发布时间】:2017-11-19 03:40:15
【问题描述】:
非常简单的回归任务。我有三个变量x1, x2, x3 带有一些随机噪声。我知道目标方程:y = q1*x1 + q2*x2 + q3*x3。现在我想找到目标系数:q1, q2, q3 评估
使用平均相对平方误差 (RSE) (Prediction/Real - 1)^2 来评估我们的预测方法的性能。
在研究中,我发现这是普通的最小二乘问题。但是我无法从互联网上的示例中获得如何在 Python 中解决这个特定问题。假设我有数据:
import numpy as np
sourceData = np.random.rand(1000, 3)
koefs = np.array([1, 2, 3])
target = np.dot(sourceData, koefs)
(在现实生活中,数据是嘈杂的,不是正态分布。)如何在 python 中使用最小二乘法找到这个 koefs? 任何 lib 使用情况。
【问题讨论】:
-
不,这不是普通的最小二乘问题。在普通最小二乘法中,您可以最小化平方误差之和。你的损失函数是不同的。对于平均绝对偏差,有quantile regression 但我不确定当你取百分比时估计器的行为是否相同。你的问题似乎更适合Cross Validated(统计部分 - 也许不是图书馆建议部分)。
-
@ayhan researchgate.net/publication/… 在多元线性 (ML) 模型部分重新制定后,这里有一些证据。 “这是一个可以通过奇异值分解解决的普通最小二乘 (OLS) 问题”
-
损失函数不是那里的平均绝对百分比误差。
-
你是对的,我已将平均绝对百分比误差更改为相对平方误差
标签: python numpy machine-learning scipy regression