SMAC-Group / gmwm

Generalized Method of Wavelet Moments (GMWM) is an estimation technique for the parameters of time series models. It uses the wavelet variance in a moment matching approach that makes it particularly suitable for the estimation of certain state-space models.
Other
28 stars 14 forks source link

difference robust = true/false #202

Open philippcla opened 7 years ago

philippcla commented 7 years ago

Hello

I have a dataset at a certain frequency. The resulting plot of

gmwm(gmwm_model, imu_object, freq = 200, robust = FALSE,  seed = 1)

is different from this

gmwm(gmwm_model, imu_object, freq = 200, robust = TRUE,  seed = 1)

it differs in the "empirical WV", why is that, due to the robust flag, should it change so dramatically? The last scale is really "off"

And because of this, the parameters are different too. robust_false robust_true

robust = true

Model Information: 
          Estimates
AR1    9.752502e-01
SIGMA2 1.382484e-08
AR1    2.680622e-01
SIGMA2 4.016523e-04
WN     5.681748e-05
QN     2.331227e-06
robust = false

Model Information: 
          Estimates
AR1    9.999821e-01
SIGMA2 2.189146e-11
AR1    2.705570e-01
SIGMA2 4.093538e-04
WN     4.308224e-05
QN     5.355913e-06
coatless commented 7 years ago

WV Empirical should be different between robust & classical types if the efficiency supplied is not equivalent to 1, in which case robust estimate is the same as the classical.

Try:

wv.c = wvar(imu_object) # classical
wv.r = wvar(imu_object, robust = T) # robust
compare_wvar(wv.c, wv.r)

I'm thinking that the issue for the parameter estimates is volatility in the latter scales.

Mind sending over the data?

philippcla commented 7 years ago

Hello, I used the following things:

gmwm_model <- 2*AR1()+WN()+QN()

imu_object_hot_TRUE <- imu(data = hot_data, acc = 1, freq = 200)
estimated_model_hot_TRUE <- gmwm(gmwm_model, imu_object_hot_TRUE, freq = 200, robust = TRUE,  seed = 1)
plot(estimated_model_hot_TRUE,  process.decomp = TRUE, title = "TRUE"))
summary(estimated_model_hot_TRUE)

imu_object_hot_FALSE <- imu(data = hot_data, acc = 1, freq = 200)
estimated_model_hot_FALSE <- gmwm(gmwm_model, imu_object_hot_FALSE, freq = 200, robust = FALSE,  seed = 1)
plot(estimated_model_hot_FALSE,  process.decomp = TRUE, title = "FALSE"))
summary(estimated_model_hot_FALSE)

and here is the data in a zip-file: hot_data_axis6.RData.zip

thx