4040"""
4141function backtest (gas:: Model{<:Distribution, T} , y:: Vector{T} , steps_ahead:: Int , start_idx:: Int ;
4242 S:: Int = 10_000 ,
43- initial_params:: Matrix{T} = stationary_initial_params (gas) ,
43+ initial_params:: Matrix{T} = DEFAULT_INITIAL_PARAM ,
4444 opt_method = NelderMead (gas, DEFAULT_NUM_SEEDS)) where T
4545 num_mle = length (y) - start_idx - steps_ahead
4646 b = Backtest (num_mle, steps_ahead)
@@ -49,8 +49,10 @@ function backtest(gas::Model{<:Distribution, T}, y::Vector{T}, steps_ahead::Int,
4949 gas_to_fit = deepcopy (gas)
5050 y_to_fit = y[1 : start_idx - 1 + i]
5151 y_to_verify = y[start_idx + i: start_idx - 1 + i + steps_ahead]
52- ScoreDrivenModels. fit! (gas_to_fit, y_to_fit; initial_params= initial_params, opt_method= opt_method)
53- forec = forecast (y_to_fit, gas_to_fit, steps_ahead; S= S, initial_params= initial_params)
52+ fit! (gas_to_fit, y_to_fit; initial_params= initial_params, opt_method= opt_method)
53+ forec = initial_params != = DEFAULT_INITIAL_PARAM ?
54+ forecast (y_to_fit, gas_to_fit, steps_ahead; S= S, initial_params= initial_params) :
55+ forecast (y_to_fit, gas_to_fit, steps_ahead; S= S)
5456 abs_errors = evaluate_abs_error (y_to_verify, forec. observation_forecast)
5557 crps_scores = evaluate_crps (y_to_verify, forec. observation_scenarios)
5658 b. abs_errors[:, i] = abs_errors
0 commit comments