change this code to look different def generate_sequence(self, length_sequence, prior_probabilities): sequence = [] hidden_state = [] x = RandomMultinomial(list(prior_probabilities.values())) state = list(prior_probabilities.keys())[x.sample()] for i in range(length_sequence): category = list(self.emission[state].keys())[self.random_emission[state].sample()] sequence.append(category) hidden_state.append(state) state = list(self.transition[state].keys())[self.random_transition[state].sample()] return(sequence,hidden_state)
import numpy as np def generate_sequence(self, length_sequence, prior_probabilities): sequence = [] hidden_state = [] x = np.random.multinomial(1, list(prior_probabilities.values())) state = np.where(x==1)[0][0] for i in range(length_sequence): category = list(self.emission[state].keys())[self.random_emission[state].sample()] sequence.append(category) hidden_state.append(state) state = list(self.transition[state].keys())[self.random_transition[state].sample()] return(sequence,hidden_state)