about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/SLP/misc/inference.m
blob: 3aef9eeb87dca0939045590b630283079aca66fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function [proba_post, engin2]= inference(bnet, data, node)
% Make bayesian inference on data
% [proba_post, engine]= inference(bnet, data, node)
%
% INPUTS :
% - bnet, the structure of the bayesian network gived by mk_bnet.
% - data(i,m), node i in case m.
% - node, the node we interrogating.
%
% OUTPUTS :
% - proba_post, the posteriors probabilities.
% - engine, the inference engine.
%
% francois.olivier.c.h@gmail.com

engine=jtree_inf_engine(bnet);
[N L]=size(data);
proba_post=zeros(L,bnet.node_sizes(node));
for i=1:L
   evidence(1:N)=data(1:N,i);
   evidence{node}=[];
   [engin2, ll]=enter_evidence(engine,evidence);
   marg=marginal_nodes(engin2,node);
   proba_post(i,:)=marg.T';
end