给定一个值和一些值。如何找到权重以使 最小,其中权重必须总和为 1 或不同的值?
权重受限的加权和
数据挖掘
机器学习
回归
统计数据
线性回归
2022-02-07 12:48:48
2个回答
您正在寻找的模型的名称是:Constrained Estimation of Ordinary Least Squares,该模型允许您通过仅修改 OLS 估计的矩阵表达式来为您的估计引入线性约束。
生成的模型应满足表达式
求解方程为:
对于您的问题,,,和是您的数据的矩阵。
此问题称为约束优化,其中您的约束是权重之和为 x(例如 x=1)。
编写自己的梯度下降实现可能会很有见地,而且不会太复杂,它尊重这个约束。为此,您将在每次更新后缩放权重向量 (w),使其总和为 x。
另一种可能性是使用约束优化的现有实现,例如在 scipy 中。我认为您要求的约束如下:
from scipy.optimize import LinearConstraint
linear_constraint = LinearConstraint([[1] * n], [x], [x])
其中 n 是权重的数量,x 是您希望将 w 约束到的长度。
其它你可能感兴趣的问题