示例#1
0
def perform_finance_exp_test():
    timestamps_list = fetch_hawkes_bund_data()
    one_day_movement_up = timestamps_list[0][0]
    finance_train_times = one_day_movement_up[:round(
        len(one_day_movement_up) * 0.8)]
    finance_test_times = one_day_movement_up[
        round(len(one_day_movement_up) * 0.8):]

    decay_candidates = np.logspace(0, 6, 20)

    selected_decay = try_and_choose_decay([[finance_train_times]],
                                          decay_candidates)

    model, exp_simulation = fit_exp_hawkes_and_simulate(
        [[finance_train_times]], selected_decay,
        round(np.max(finance_test_times)) + 10)
    print("predicted: " + str(exp_simulation.timestamps))
    print("real: " + str(finance_train_times))

    predicted_in_test_period = exp_simulation.timestamps[0][
        exp_simulation.timestamps[0] > finance_test_times[0]]

    real_zero_extends = np.full(
        (len(predicted_in_test_period) - len(finance_test_times)), 0)
    test_df = pd.DataFrame(
        {
            'real': np.append(np.around(finance_test_times), real_zero_extends,
                              0),
            'predict': np.around(predicted_in_test_period)
        },
        columns=['real', 'predict'])
    test_df.to_csv('../results/finance_obtained_times.csv', index=False)

    # evaulation_df = pd.DataFrame(columns=['name', 'dataset', "score_on_train"])
    evaluation_df = pd.read_csv('../results/baseline_scores.csv')
    evaluation_df.loc[len(evaluation_df)] = [
        'HawkesExpKern', 'finance',
        model.score(),
        model.score([[finance_test_times]])
    ]
    evaluation_df.to_csv('../results/baseline_scores.csv', index=False)
import numpy as np

from tick.dataset import fetch_hawkes_bund_data
from tick.hawkes import HawkesConditionalLaw
from tick.plot import plot_hawkes_kernel_norms

from tick.plot import plot_hawkes_kernels

from tick.base import TimeFunction

import seaborn as sns
sns.set()

import matplotlib.pyplot as plt

timestamps_list = fetch_hawkes_bund_data()
abscisses = np.linspace(0., 10., 200)


def R_X_realisation(element):

    times = np.array(element)

    times_N_plus = times[2]

    times_N_moins = times[3]

    time_axe = np.sort(np.concatenate((times_N_moins, times_N_plus)))

    I_R_X = []