Как рассчитать наиболее вероятный результат на основе входных значений и их вероятностей? - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть набор значений с соответствующими им вероятностями истинности.Мне нужно найти наиболее вероятное значение на основе всех доступных входных значений.Примечание. Вероятности субъективны и могут конфликтовать, но они отражают достоверность конечного результата.

Например, такой набор данных.

data = [
  {value: 1, probability: 1},
  {value: 1, probability: 0.5}
];
// i would expect to output 1, because all input agree on the value and 1 is certain in its value.
data = [
  {value: 1, probability: 1},
  {value: 0.5, probability: 1}
];
// Id expect the value to be half way between 1 and 0.5. Both values are equally likely - so final output is in between the 2.
data = [
  {value: 1, probability: 1},
  {value: 0.5, probability: 0.1}
];
// Id expect the value to be almost 1 but not quite.
data = [
  {value: 1, probability: 1},
  {value: 1, probability: 0.1},
  {value: 0.1, probability: 1},
  {value: 0, probability: 0.5},
  {value: 0, probability: 0.9},
  ... thousands of more values here ...
  quickly gets complicated and cpu intensive
];

1 Ответ

0 голосов
/ 11 ноября 2018

Похоже, вы ищете средневзвешенное значение . Умножьте каждое значение на его вероятность, вычислите сумму произведений и разделите на сумму вероятностей.

First example:  (1.0*1.0 + 1.0*0.5) / (1.0+0.5) = 1.5/1.5  = 1.00 
Second example: (1.0*1.0 + 0.5*1.0) / (1.0+1.0) = 1.5/2.0  = 0.75   
Third example:  (1.0*1.0 + 0.5*0.1) / (1.0+0.1) = 1.05/1.1 = 0.95   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...