对多行对结果有贡献的问题建模的最佳方法

数据挖掘 机器学习
2022-02-13 22:36:14

这是我在这里的第一个问题,我非常精通计算机,但是是 ML 新手。我已经做了很多学习算法,问题适合单行,所以我可以用很多行训练模型,然后给它一个值并找到一个明确的结果。

但是,我提出了一个不符合这种模式的问题,我被困在从哪里开始。

我有一个公式(简化代表是)

Z/X = Y

在哪里:

  • X 可以是 6 个数字之一(1、2、3、4、5、6)
  • Y 是 0 到 20(含)之间的整数
  • Z 是结果

Y 是我要查找的数字

问题是 X 对我来说是不可见的,我能看到的唯一数字是 Z。我在数据集中有多行,从单行到 100 行不等。

我想要做的是获取 Z 的列表并返回计算出 Y 的确定性。例如:

Z=

  • 30
  • 10
  • 10
  • 15
  • 5

如果您查看上面的这些数字并应用 6 个可能的 X 版本,您会得到:

  • 30 / 1 = 30(超出范围)、30 / 2 = 15(有效)、30 / 3 = 10(有效)、30 / 4 = 7.5(无效)、30 / 5 = 6(有效)、30 / 6 = 5(有效)
  • 10 / 1 = 10(有效)、10 / 2 = 5(有效)、10 / 3 = 3 1/3(无效)、10 / 4 = 5/2(无效)、10 / 5 = 2(有效) 10 / 6 = 5/3(无效)
  • 10 / 1 = 10(有效)、10 / 2 = 5(有效)、10 / 3 = 3 1/3(无效)、10 / 4 = 5/2(无效)、10 / 5 = 2(有效) 10 / 6 = 5/3(无效)
  • 15 / 1 = 15(有效),15 / 2 = 7.5(无效),15/ 3 = 5(有效),15 / 4 = 3.75(无效),15 / 5 = 3(有效)15 / 6 = 2.5(无效的)
  • 5 / 1 = 5(有效),5 / 2 = 2.5(无效),5 / 3 = 5/3(无效),5 / 4 = 5/4(无效),5 / 5 = 1(有效) 5 / 6 = 5/6(无效)

它们的共同点是 5 是 Y 的一个可能值,因此 Y 很有可能是 5

到目前为止,它看起来像一个联立方程,但存在的问题是 Y 可以随时间变化(但非常缓慢),因此它并不总是一门精确的科学。此外,该公式不准确,因此观察到的 Z 中存在漂移误差。

如果我有一行,那么确定性会更低,如果我有一个混合(如上所述),那么真的只有一个,所以我希望确定性会更高。

我的问题是:

有没有人对如何解决这个问题、算法到谷歌等有任何建议?

谢谢

戴夫

1个回答

您可以尝试以下方法。

  1. 按照您描述的方式过滤结果;为行中 X 的所有有效选项分配相等的概率
  2. 应用全概率定律。我想在这种情况下,它只是将所有可能的 X 的所有概率相加并除以行数。

即在你的情况下

  • 对于 30,它是 15、10、6 或 5,每个概率为 0.25
  • 对于 10,它是 10、5 或 2,概率为 0.33
  • 对于 15,它是 15、5、3,概率为 0.33
  • 对于 5,它是 5 或 1,概率为 0.5

这意味着总 Y 为 5,概率约为 0.35 或 10,概率约为 0.18

如果 X 是整数,那么 Y 中的某种程度的噪声应该没什么大不了的。应通过过滤级上的微小差异来解决。慢慢改变比较棘手,但你可能只是让窗口平滑,比如说 10 的概率是 9、10、11 的概率之和。

我不会费心按行数进行估计——你可以根据 CLT 计算出一些东西,但实际上第 2 步中的隐式采样已经考虑到了这一点。