예제 #1
0
    num_data = 200
    N = 200

    test_x, test_y = gen_univ_mrkv(num_data,
                                   a=aa,
                                   b=bb,
                                   c=cc,
                                   d=dd,
                                   return_hidden=True)
    # test_x, test_y = gen_univ_sto_vol(num_data, a=aa, b=bb, c=cc, return_hidden=True)
    # test_y = np.log(np.abs(test_y))

    particle_filter = ParticleFilter(test_y,
                                     num_particles=N,
                                     a=0.5,
                                     b=1,
                                     c=1.23,
                                     d=0,
                                     true_hidden=test_x,
                                     num_iterations=500,
                                     learn_rate=0.001,
                                     do_adaptive_learn=True)

    particle_filter.filter_pass()
    particle_filter.plot_filter_pass()
    particle_filter.calibrate_model()
    particle_filter.plot_params()
    particle_filter.plot_filter_pass()
    particle_filter.plot_learn_rate()