我将尝试找到一些权重,以便在多个预测结果中得出一个与已知目标(例如均方误差)最接近的结果。
以下是一个简化的示例,展示了四个数据点上三种不同类型的预测:
以下是一个简化的示例,展示了四个数据点上三种不同类型的预测:
target = [1.0, 1.02, 1.01, 1.04] # all approx 1.0
forecasts = [
[0.9, 0.91, 0.92, 0.91], # all approx 0.9
[1.1, 1.11, 1.13, 1.11], # all approx 1.1
[1.21, 1.23, 1.21, 1.23] # all approx 1.2
]
其中一个预测始终约为0.9,另一个始终约为1.1,第三个始终约为1.2。
我希望有一种自动化的方式来找到三个预测的权重,大致为[0.5, 0.5, 0.0]
,因为对前两个预测进行平均并忽略第三个预测非常接近目标。理想情况下,权重应该限制为非负数,并总和为1。
我认为我需要使用某种形式的线性规划或二次规划来解决这个问题。我已经安装了Python quadprog库,但我不知道如何将这个问题转换成求解器所需的形式。是否有人可以指点我正确的方向?