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;
  }