import numpy as np
import estimation.estimation as est
import naive_sampling as nsampl

trans_mat = np.array([[0.5, 0.25, 0.25], [0.5, 0.0, 0.5], [0.25, 0.25, 0.5]],
                     dtype=np.float64)
# trans_mat = np.array([[0.25, 0.75], [0.75, 0.25]], dtype=np.float64)
print trans_mat
chain = nsampl.evolve_chain(0, trans_mat, 20000)
# chain = np.array([0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0])
print chain
chain_list = [chain, chain]

# comoute count matrix
c_mat = est.compute_count_matrix(chain, i_tau=1)
c_mat2 = est.compute_count_matrix_list(chain_list)

# estimate transition matrix
t_mat = est.estimate_transition_matrix(c_mat, 100000, 1e-3)

reversible_check = est.check_reversibility(t_mat)

print c_mat
print t_mat
print np.sum(t_mat, axis=1)
print np.linalg.norm(t_mat - trans_mat, ord='fro') / np.linalg.norm(trans_mat,
                                                                    ord='fro')
print reversible_check
if args.plot:
    try:
        import matplotlib.pyplot as plt
    except ImportError:
        print 'No matplotlib available, import failed.'

#####################################################################
# import data
#####################################################################
data_importer = dataImp.SimpleDataImporter(args.iFile, i_delimiter=' ')

#####################################################################
# k-means clustering
#####################################################################
cluster = cl.kMeans(data_importer.get_data(), args.numCluster)
cluster.discretize()

#####################################################################
# estimation of transition matrix
#####################################################################
chain = np.asarray(cluster.get_labels(), dtype=np.int64)
count_mat = est.compute_count_matrix(chain, i_tau=1)
trans_mat = est.estimate_transition_matrix(count_mat, 10000, 1e-3)

is_reversible, check_mat = est.check_reversibility(trans_mat)

#####################################################################
# Analysis of markov chain and transition matrix
#####################################################################
mcmm_ana = ana.MarkovModel(trans_mat)
Beispiel #3
0
if args.plot:
    try:
        import matplotlib.pyplot as plt
    except ImportError:
        print "No matplotlib available, import failed."

#####################################################################
# import data
#####################################################################
data_importer = dataImp.SimpleDataImporter(args.iFile, i_delimiter=" ")

#####################################################################
# k-means clustering
#####################################################################
cluster = cl.kMeans(data_importer.get_data(), args.numCluster)
cluster.discretize()

#####################################################################
# estimation of transition matrix
#####################################################################
chain = np.asarray(cluster.get_labels(), dtype=np.int64)
count_mat = est.compute_count_matrix(chain, i_tau=1)
trans_mat = est.estimate_transition_matrix(count_mat, 10000, 1e-3)

is_reversible, check_mat = est.check_reversibility(trans_mat)

#####################################################################
# Analysis of markov chain and transition matrix
#####################################################################
mcmm_ana = ana.MarkovModel(trans_mat)