public double[] calculateUpdatedMarginals(int nodeIndex) { double[] marginals = new double[evidence.getNumCategories(nodeIndex)]; for (int i = 0; i < getBayesIm().getNumColumns(nodeIndex); i++) { marginals[i] = getMarginal(nodeIndex, i); } return marginals; }
public double[] calculatePriorMarginals(int nodeIndex) { Evidence evidence = getEvidence(); setEvidence(Evidence.tautology(evidence.getVariableSource())); double[] marginals = new double[evidence.getNumCategories(nodeIndex)]; for (int i = 0; i < getBayesIm().getNumColumns(nodeIndex); i++) { marginals[i] = getMarginal(nodeIndex, i); } setEvidence(evidence); return marginals; }