You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调整价格后如何重新分配权重以维持预期值(EX)不变

权重调整解决方案

核心思路

要让调整价格后的预期值(EX)与初始值一致,需遵循两个约束:

  1. 所有权重之和为1
  2. 价格与对应权重的乘积之和等于初始EX
    另外参考迭代数据的规律,部分权重保持固定,且特定权重间的比例不变。

步骤1:计算初始EX值

初始EX是原始价格与权重的乘积总和,精确计算如下:

double[] originalPrice = {5, 8, 18, 58, 80, 49.399167162403300};
double[] originalWeight = {0.34146341463414637, 0.3902439024390244, 0.14634146341463414, 0.024390243902439025, 0.024390243902439025, 0.07317073170731707};

double initialEX = 0.0;
for (int i = 0; i < originalPrice.length; i++) {
    initialEX += originalPrice[i] * originalWeight[i];
}
// 计算结果:initialEX ≈ 14.444244897959183

步骤2:确定固定权重

观察迭代后的数据newWeight1与原始权重,发现第2、4、5位(索引1、3、4)的权重完全未变,因此这三个权重固定:

  • x2 = 0.3902439024390244
  • x4 = 0.024390243902439025
  • x5 = 0.024390243902439025

步骤3:简化约束方程

约束1:权重总和为1

代入固定权重,剩余权重需满足:

x1 + x3 + x6 = 1 - (0.3902439024390244 + 0.024390243902439025 * 2) = 0.5609756097560975

约束2:EX等于初始值

先计算固定权重对应新价格的贡献:

8*0.3902439024390244 + 58*0.024390243902439025 + 82*0.024390243902439025 ≈ 6.536585365853658

剩余权重与对应价格的乘积需满足:

5x1 + 20x3 + 49.3991671624033x6 = 14.444244897959183 - 6.536585365853658 ≈ 7.907659532105525

步骤4:利用权重比例关系求解

参考原始权重与newWeight1的规律,x1与x3的比例始终保持7:3(即x1 = (7/3)x3),将其代入上述两个方程:

  1. 由权重总和方程得:x6 = 0.5609756097560975 - (10/3)x3
  2. 将x1、x6代入EX方程,计算得:
    • x3 ≈ 0.1489265536723163
    • x1 ≈ 0.34749599123130803
    • x6 ≈ 0.0645537641817098

最终新权重2

double[] newWeight2 = {0.34749599123130803, 0.3902439024390244, 0.1489265536723163, 0.024390243902439025, 0.024390243902439025, 0.0645537641817098};

原缩放算法无效的原因

原算法将所有权重乘以统一缩放因子,会改变本应固定的权重,且未遵循特定权重间的比例约束,不符合迭代数据的调整逻辑,因此无法得到正确结果。

内容的提问来源于stack exchange,提问作者Duy Pham Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 22:45:00