public ContinuousHiddenMarkovModel ToContinuousModel()
{
var transitions = (double[,]) Transitions.Clone();
var probabilities = (double[]) Probabilities.Clone();
var emissions = new GeneralDiscreteDistribution[States];
for (int i = 0; i < emissions.Length; i++)
emissions[i] = new GeneralDiscreteDistribution(Emissions.GetRow(i));
return new ContinuousHiddenMarkovModel(transitions, emissions, probabilities);
}