Bayesian Networks

Copyright Tristan Aubrey-Jones April 2007.

probOfEvent.m

home Home   up Up   ( Download )


function probs = probOfEvent(e) % PROBOFEVENT calculates the probability of % the event e occuring, given that a bayesian model % produced it for the 3 models. probs = [0.0; 0.0; 0.0]; % MODEL 1 % A,B,C if e(1) p1 = 0.2; p1 = p1 * ifv(e(2),0.25,0.75); p1 = p1 * ifv(e(3),0.1,0.9); else p1 = 0.8; p1 = p1 * ifv(e(2),0.05,0.95); p1 = p1 * ifv(e(3),0.05,0.95); end % D if e(2) if e(3) p1 = p1 * ifv(e(4),0.75,0.25); else p1 = p1 * ifv(e(4),0.1,0.9); end else if e(3) p1 = p1 * 0.5; else p1 = p1 * ifv(e(4),0.05,0.95); end end % E if e(3) p1 = p1 * ifv(e(5),0.6,0.4); else p1 = p1 * ifv(e(5),0.05,0.95); end probs(1,1) = p1; % MODEL 2 % A,B p2 = ifv(e(1),0.2,0.8); p2 = p2 * ifv(e(2),0.2,0.8); % C if e(1) if e(2) p2 = p2 * ifv(e(3),0.25,0.75); else p2 = p2 * ifv(e(3),0.05,0.95); end else if e(2) p2 = p2 * ifv(e(3),0.2,0.8); else p2 = p2 * ifv(e(3),0.05,0.95); end end % D,E if e(3) p2 = p2 * ifv(e(4),0.6,0.4); p2 = p2 * ifv(e(5),0.6,0.4); else p2 = p2 * ifv(e(4),0.1,0.9); p2 = p2 * ifv(e(5),0.05,0.95); end probs(2,1) = p2; % MODEL 3 % A p3 = ifv(e(1),0.2,0.8); % B,C if e(1) p3 = p3 * ifv(e(2),0.25,0.75); if e(2) p3 = p3 * ifv(e(3),0.25,0.75); else p3 = p3 * ifv(e(3),0.05,0.95); end else p3 = p3 * ifv(e(2),0.05,0.95); if e(2) p3 = p3 * ifv(e(3),0.2,0.8); else p3 = p3 * ifv(e(3),0.05,0.95); end end % D,E if e(3) p3 = p3 * ifv(e(5),0.6,0.4); if e(2) p3 = p3 * ifv(0.75,0.25); else p3 = p3 * 0.5; end else p3 = p3 * ifv(e(5),0.05,0.95); if e(2) p3 = p3 * ifv(e(5),0.1,0.9); else p3 = p3 * ifv(e(5),0.05,0.95); end end probs(3,1) = p3;