def generate_training_sequences(self):
        sampler = hmmlearn.hmm.GaussianHMM(
            n_components=4,
            covariance_type="full",
            init_params=""
        )

        sampler.startprob_ = np.asarray([0, 0, 0, 1])
        sampler.transmat_ = np.asarray([
            [.2, .2, .3, .3],
            [.3, .2, .2, .3],
            [.2, .3, .3, .2],
            [.3, .3, .2, .2],
        ])
        sampler.means_ = np.asarray([
            [-1.5, 0],
            [0,  0],
            [1.5, 0],
            [3, 0]
        ])
        sampler.covars_ = np.asarray([
            [[.5, 0],
             [0, .5]],
            [[.5, 0],
             [0, 0.5]],

            [[.5, 0],
             [0, .5]],
            [[0.5, 0],
             [0, 0.5]],
        ])

        observed, hidden = sampler.sample(50000)
        lengths = [len(observed)]
        return observed, lengths