В R для байесовской сети, использующей bnlearn, вычисленные вероятности должны быть переданы следующему узлу или нет?

Я пытаюсь определить мой запрос. Может быть, мои слова неверны. Извините за недоразумение.

Четыре вероятности в cptD относятся к предсказанию событий "D" из событий "C". например, события "C": "TRUE", "FALSE" и "D", возможные события: "y", "n". Следовательно, это таблица 2х2 с заданными вероятностями. Мой вопрос:

  • Как предыдущее знание: предсказание возможных событий "C" из событий "A" и "B" передается в узел "D"?

  • Потому что, если я правильно понял, C предсказывается A, а B и D - C. Однако, в "C" вероятности узла определяются снова.

  • Можем ли мы передать рассчитанные вероятности во взаимодействии CD? Как? Пожалуйста, предоставьте четкий пример R, потому что я в замешательстве. Пожалуйста, опишите вероятности узла "D", откуда они берутся, простыми словами.

  • Сеть определяется экспертными знаниями. Можем ли мы определить вероятности событий A, событий B, только событий C, только событий D, а затем вероятности взаимодействия событий C (с A, B) и D (с C) для передачи от узла к узлу?

  • И вероятности событий, и взаимодействия должны быть независимы от предыдущих вычислений событий узла?

  • Таким образом, если вероятности изменились в узлах A и B, это не повлияет на вероятности в узле D? Если да, то как? Если нет, то почему? Если оба, как?

Вот пример:

library(bnlearn)

net = model2network("[A][B][C|A:B][D|C]")

cptA = matrix(c(0.4, 0.6), ncol = 2, dimnames = list(NULL, c("LOW", "HIGH")))
cptB = matrix(c(0.8, 0.2), ncol = 2, dimnames = list(NULL, c("GOOD", "BAD")))
cptC =  array(c(0.5, 0.5, 0.4, 0.6, 0.3, 0.7, 0.2, 0.8), dim = c(2, 2, 2), dimnames = list("C" = c("TRUE", "FALSE"), "A" =  c("LOW", "HIGH"),"B" = c("GOOD", "BAD")) )

cptD = matrix( c(0.4, 0.6, 0.2, 0.8), ncol = 2, dimnames =  list("D" = c("y", "n"), "C" =  c("TRUE", "FALSE") ) )

cfit = custom.fit( net, dist = list( A = cptA, B = cptB, C = cptC, D=cptD ) )

graphviz.chart( cfit )

0 ответов

Другие вопросы по тегам