public double logMarginalLikelihoodHarmonic(List<Double> v){
  double sum=0;
  final int size=v.size();
  for (int i=0; i < size; i++)   sum+=v.get(i);
  double denominator=LogTricks.logZero;
  for (int i=0; i < size; i++)   denominator=LogTricks.logSum(denominator,sum - v.get(i));
  return sum - denominator + StrictMath.log(size);
}

public double logMarginalLikelihoodHarmonic ( List < Double > v ) { double sum = 0 ; final int size = v . size ( ) ; for ( int i = 0 ; i < size ; i ++ ) sum += v . get ( i ) ; double denominator = LogTricks . logZero ; for ( int i = 0 ; i < size ; i ++ ) denominator = LogTricks . logSum ( denominator , sum - v . get ( i ) ) ; return sum - denominator + StrictMath . log ( size ) ; }
calculates the log marginal likelihood of a model using newton and raftery ' s harmonic mean estimator
