final List<ObservedValue<Vector, Matrix>> observations = Lists.newArrayList();
for (int i = 0; i < 10000; i++) {
// final Vector dataSample = dataGeneratingDist.sample(rng);
final Vector dataSample = VectorFactory.getDenseDefault().copyArray(new
double[] {1d});
final double phi = Math.exp(-trueGlobalMean - dataSample.dotProduct(trueBetas));
final double pi = 1d / (1d + phi);
final Vector y = VectorFactory.getDenseDefault().createVector1D(rng.nextDouble() <= pi ? 1d : 0d);
final Matrix dataDesign = MatrixFactory.getDenseDefault().copyRowVectors(dataSample);
observations.add(ObservedValue.create(i, y, dataDesign));
}