X-DataInitiative / tick

Module for statistical learning, with a particular emphasis on time-dependent modelling
https://x-datainitiative.github.io/tick/
BSD 3-Clause "New" or "Revised" License
484 stars 105 forks source link

Default solver in parametric learner #453

Open MarcosCarreira opened 4 years ago

MarcosCarreira commented 4 years ago

Simulating a process with negative elements in the adjacency matrix:

kernel_adjacency = np.array([[[0.1], [-0.05]], [[-0.02], [0.08]]]) kernel_decays = np.array([1.]) baseline = np.array([1., 0.9]) run_time = 10000 hawkes = SimuHawkesSumExpKernels( adjacency=kernel_adjacency, decays=kernel_decays, baseline=baseline, end_time=run_time, seed=1398) n_realizations = 100 multi = SimuHawkesMulti(hawkes, n_simulations=n_realizations) multi.simulate() multi_timestamps = multi.timestamps

And learning:

hawkes_param_learner = HawkesSumExpKern(kernel_decays) hawkes_param_learner.fit(multi_timestamps) baseline_param_learner = hawkes_param_learner.baseline adjacency_param_learner = hawkes_param_learner.adjacency

With the default solver does not retrieve the negative elements; only the option solver='bfgs' retrieves the correct adjacencies. Why not make it the default solver?