I have time series data for which I am trying to learn 3 states in my HMM model. The output which I am getting is this. I want to get three separate states for the 3 distinct clusters of data points. But the first cluster has mixed states learned from HMM instead of a single state.
Here is my code for the same.
model = hmm.GaussianHMM(n_components=3, covariance_type="full", verbose = True, n_iter =1000)
model.fit(train_array1.reshape((-1,1)))
Z1 = model.predict(test_array1_s.reshape(-1,1))
p = model.predict_proba(test_array1_s.reshape(-1,1))
plt.plot(p)
The plot of probabilites of each state for the test data is this.
How can I get three distinct states for the the data?