Example #1
0
 def ran_a_test():
     a = ARMA([-0.5, 0.11], [], 0.5, "uni")
     time_series = [a.generater.next() for i in range(2000)]
     p = ArPredicter(len(a.alphas), max_x = max(time_series),)
     errors = []
     for index, x in enumerate(time_series):
         if index < p.min_ob:
             p.predict_and_fit(x)
         elif random.random() > missing_percent:
             rec_x = p.predict_and_fit(x)
             errors.append(rec_x - x)
         else:
             p.predict_and_fit('*')
     mse = sum(map(lambda x: x**2, errors)) / len(errors)
     result['errors'].append(errors)
     result['mses'].append(mse)
Example #2
0
 def run_a_test():
     #a = ARMA([0.3, -0.4, 0.4, -0.5, 0.6], [], 0.3, noise_type)
     a = ARMA([-0.5, 0.11], [], 0.5, noise_type)
     time_series = [a.generater.next() for i in range(2000)]
     if_missing = [
         1 if random.random() > missing_rate or time_series.index(t) < 6
         else 0 for t in time_series
     ]
     time_series = [
         t if flag == 1 else 0 for t, flag in zip(time_series, if_missing)
     ]
     missing_indexs = [
         index for index, flag in enumerate(if_missing) if flag == 0
     ]
     p = ArPredicter(a.p, time_series, missing_indexs)
     result['errors'].append(p.errors)
     result['mses'].append(p.mse)
Example #3
0
def main(_):
    flags_obj = tf.flags.FLAGS
    euler_graph = tf_euler.dataset.get_dataset(flags_obj.dataset)
    euler_graph.load_graph()

    dims = [flags_obj.hidden_dim, flags_obj.hidden_dim]
    if flags_obj.run_mode == 'train':
        metapath = [euler_graph.train_edge_type]
    else:
        metapath = [euler_graph.all_edge_type]
    num_steps = int((euler_graph.total_size + 1) // flags_obj.batch_size *
                    flags_obj.num_epochs)

    model = ARMA(dims,
                 metapath,
                 euler_graph.feature_idx,
                 euler_graph.feature_dim,
                 euler_graph.label_idx,
                 euler_graph.label_dim,
                 num_layers=flags_obj.layers,
                 K=flags_obj.K)
    params = {
        'train_node_type': euler_graph.train_node_type[0],
        'batch_size': flags_obj.batch_size,
        'optimizer': flags_obj.optimizer,
        'learning_rate': flags_obj.learning_rate,
        'log_steps': flags_obj.log_steps,
        'model_dir': flags_obj.model_dir,
        'id_file': euler_graph.id_file,
        'infer_dir': flags_obj.model_dir,
        'total_size': euler_graph.total_size,
        'total_step': num_steps
    }
    config = tf.estimator.RunConfig(log_step_count_steps=None)
    model_estimator = NodeEstimator(model, params, config)

    if flags_obj.run_mode == 'train':
        model_estimator.train()
    elif flags_obj.run_mode == 'evaluate':
        model_estimator.evaluate()
    elif flags_obj.run_mode == 'infer':
        model_estimator.infer()
    else:
        raise ValueError('Run mode not exist!')