for i in cluster_id:
    rvs_id.append(np.where(cluster_mat[:, i] == 1)[0])

rvs_id = np.concatenate(rvs_id, axis=None)
data = well_t[rvs_id, :t]

print(len(rvs_id))

domain = Domain((-4, 4), continuous=True, integral_points=linspace(-4, 4, 30))

kmf = KalmanFilter(domain, np.eye(len(rvs_id)), 1, np.eye(len(rvs_id)), 1)

result = []
for i in range(t):
    # i = t - 1
    g, rvs_table = kmf.grounded_graph(i + 1, data)
    bp = HybridLBP(g, n=50, proposal_approximation='simple')
    # bp = GaLBP(g)
    print('number of vr', len(g.rvs))
    num_evidence = 0
    for rv in g.rvs:
        if rv.value is not None:
            num_evidence += 1
    print('number of evidence', num_evidence)

    start_time = time.time()
    bp.run(6, c2f=0, log_enable=False)
    print('time lapse', time.time() - start_time)

    # for i in range(t):
    temp = []