Множественные распределения Монте-Карло

Я боролся с проблемой, связанной с суммированием треугольных распределений нескольких рисков с использованием Монте-Карло. Я могу получить правильную форму генерации, но процентная вероятность далека. Это то, что я генерирую для 2 рисков со значениями вероятности, наилучшего случая, наиболее вероятного и наихудшего случая (75%, 100-200-300)(80%, 510-1000-1125): Моя попытка< /а>

И это инструмент, на котором я основываю свою точность:

Их попытка

Это повторяющаяся проблема, и я не могу найти решение. Когда я рассчитываю единичный риск по той же формуле, результат с точностью до 99 % соответствует инструменту сравнения. Это моя формула сложения распределения:

public static List<Double> combineLists(Double weight, List<Double> newDataList, List<Double> cumulativeDataList){
    //loops through the size of the new data list to added
    for(Integer i = 0; i < newDataList.size(); i++){
        //sets the output as the sum of both
        cumulativeDataList.set(i, cumulativeDataList.get(i) + (newDataList.get(i)*weight));
    }
    return cumulativeDataList;

Кроме того, я не могу найти способ, как они генерируют свои максимальные/наихудшие значения, я просто суммирую наихудшие из всех рисков (1425), но они имеют значение 1388, любые предложения по этому поводу также будут оценены.

Я застрял на этом в течение нескольких недель, поэтому любая помощь будет очень признательна! Спасибо :)


person J Dubbs    schedule 05.12.2016    source источник
comment
входные данные и все должно быть одинаковым - что касается простой формулы сложения, я не вижу ничего особенного - все остальное мы не знаем: что это за инструмент сравнения и как он оперирует данными, какова остальная часть вашей программы ?   -  person gpasch    schedule 06.12.2016
comment
Входные данные идентичны, и я проверил этот инструмент (IntoRisk) в сравнении с другими отраслевыми программами Монте-Карло, которые дают очень похожие результаты. Я спрашивал, знает ли кто-нибудь конкретную причину того, как изменить вероятность и что повлияет на нее, чтобы уравнять мою реализацию с их реализацией. Я могу дать вам фрагменты других разделов моей программы, если хотите?   -  person J Dubbs    schedule 06.12.2016
comment
Я хотел бы помочь, но я не совсем понимаю. (1) Что означает 75% в (75%, 100-200-300)? (2) Что вы подразумеваете под добавлением? Вы имеете в виду добавить в смысле: выборка x1 из распределения риска1, выборка x2 из распределения риска2, возврат x1 + x2?? Кривые, которые вы показываете, не кажутся кумулятивными вероятностями такой суммы, поскольку обе они имеют плоское пятно на некотором расстоянии посередине — это указывает на то, что плотность там должна быть равна нулю.   -  person Robert Dodier    schedule 07.12.2016
comment
Привет, спасибо за ответ! 75% — это вероятность возникновения риска, в настоящее время я применяю это значение в приведенном выше фрагменте кода. Я также применяю комбинированный процент в конце всех расчетов, чтобы получить начальную точку линии (начинается с 5% вместо 0). Я ищу способ объединить несколько дистрибутивов, я реализовал фрагмент кода для этого, я пробовал просто добавить x1 + x2, но это также не дает правильных результатов. Две плотности разделены, поскольку они не имеют перекрывающихся границ, по этой причине плотность равна 0 посередине.   -  person J Dubbs    schedule 07.12.2016
comment
@JoshWindsor Если % представляет вероятность возникновения риска, разве они не должны в сумме составлять 100%? Что это значит, если один составляет 75%, а другой — 80%? Более важный вопрос заключается в том, что вы подразумеваете под объединением двух рисков. Представляют ли они риски двух отдельных задач или действий или конкурирующие риски (т. е. вы получаете одно или другое) для одного и того же действия или что? Спасибо за разъяснения, я ценю это.   -  person Robert Dodier    schedule 07.12.2016
comment
@RobertDodier Спасибо за ответ, я думал об этом и пытался суммировать проценты и делить, чтобы получить взвешенный процент от 1, но это также не меняет результаты. В настоящее время я пытаюсь сделать независимый прогноз, т.е. каждый риск является отдельным и не имеет причинной связи между ними. Хотя, если 100% ассоциация причин более применима, я бы с радостью принял любую помощь/решения по этому поводу. Спасибо еще раз   -  person J Dubbs    schedule 08.12.2016
comment
@JoshWindsor Вот какое соображение я имею в виду. Если у вас есть две задачи и вы должны выполнить обе, то общий риск представляет собой сумму двух отдельных рисков (при условии, что риск = ожидаемая стоимость или что-то в этом роде). Плотность вероятности суммы двух переменных — это свертка двух отдельных плотностей — это сделает одну выпуклость из двух. Если случайно вы выполняете только одно задание (например, если идет снег, вы выполняете задание 1, а затем задание 2), то общий риск равен альфа, умноженному на p(риск 1), плюс (1 - альфа), умноженному на p(риск 2), где альфа вероятность события, требующего от вас выполнения задачи 1.   -  person Robert Dodier    schedule 08.12.2016
comment
@JoshWindsor альфа, умноженная на p (риск 1) плюс (1 - альфа), умноженная на p (риск 2), представляет собой так называемое смешанное распределение, и оно имеет два удара, если p (риск 1) и p (риск 2) достаточно разделены. Итак, как вы видите, то, как объединить риск 1 и риск 2, зависит от проблемы, которую вы пытаетесь решить. Вероятно, есть и другие способы их комбинирования - какой метод вступает в игру, сильно зависит от вашей проблемы.   -  person Robert Dodier    schedule 08.12.2016
comment
@RobertDodier Спасибо за решение, но это дало мне результат, очень похожий на предыдущий, хотя плато составляет 80% (результат аналогичен другим попыткам, которые я предпринял). Это наводит меня на мысль, что моя проблема кроется в чем-то другом. Может ли моя проблема потенциально быть в потоке моей программы, я собрал свои шаги в список здесь: pastebin.com/qi30u1Tz Может ли это потенциально повлиять на то, как я вычисляю общий список корзин? Еще раз спасибо всем за помощь!   -  person J Dubbs    schedule 12.12.2016
comment
@RobertDodier Чтобы уточнить, я использовал ваше решение: альфа, умноженная на p (риск 1), плюс (1 - альфа), умноженная на p (риск 2), до и после моего обычного расчета, оба дают одинаковые результаты. Я также мог бы составить альбом сравнений между различными дистрибутивами, как моего обычного, так и кумулятивного, если это необходимо.   -  person J Dubbs    schedule 12.12.2016
comment
@JoshWindsor Я просмотрел список шагов, и, честно говоря, кажется, что его можно сильно упростить. Если на самом деле все, что вам нужно сделать, это построить плотность смеси, то вы можете опустить нормальное приближение (это, возможно, причина расхождения с результатом, который вы используете для сравнения), а также материал Монте-Карло. Но то, является ли плотность смеси правильной, зависит от более широкого контекста проблемы, как я уже говорил ранее. Между прочим, если вам нужно взять пробу из плотности смеси: выберите k в соответствии с альфа-каналом; затем выборка из k-й плотности.   -  person Robert Dodier    schedule 12.12.2016


Ответы (1)


Я смог найти ответ: вероятность нужно было интегрировать в генераторе случайных чисел! Это устранило необходимость в половине шагов, поскольку данные уже были нормально распределены.

person J Dubbs    schedule 26.12.2016