예제 #1
0
  /**
   * Creates a new instance of ContinuousDensityHiddenMarkovModel
   *
   * @param initialProbability Initial probability Vector over the states. Each entry must be
   *     nonnegative and the Vector must sum to 1.
   * @param transitionProbability Transition probability matrix. The entry (i,j) is the probability
   *     of transition from state "j" to state "i". As a corollary, all entries in the Matrix must
   *     be nonnegative and the columns of the Matrix must sum to 1.
   */
  public MarkovChain(Vector initialProbability, Matrix transitionProbability) {

    if (!transitionProbability.isSquare()) {
      throw new IllegalArgumentException("transitionProbability must be square!");
    }

    final int k = transitionProbability.getNumRows();
    initialProbability.assertDimensionalityEquals(k);

    this.setTransitionProbability(transitionProbability);
    this.setInitialProbability(initialProbability);
  }
 @Override
 public void convertFromVector(final Vector parameters) {
   parameters.assertDimensionalityEquals(2);
   this.setMean(parameters.getElement(0));
   this.setScale(parameters.getElement(1));
 }