gmwm | R Documentation |
Performs estimation of time series models by using the GMWM estimator.
gmwm(model, data, model.type = "imu", compute.v = "auto", robust = FALSE, eff = 0.6, alpha = 0.05, seed = 1337, G = NULL, K = 1, H = 100, freq = 1)
model |
A |
data |
A |
model.type |
A |
compute.v |
A |
robust |
A |
eff |
A |
alpha |
A |
seed |
An |
G |
An |
K |
An |
H |
An |
freq |
A |
This function is under work. Some of the features are active. Others... Not so much.
The V matrix is calculated by: diag[(Hi-Lo)^2].
The function is implemented in the following manner: 1. Calculate MODWT of data with levels = floor(log2(data)) 2. Apply the brick.wall of the MODWT (e.g. remove boundary values) 3. Compute the empirical wavelet variance (WV Empirical). 4. Obtain the V matrix by squaring the difference of the WV Empirical's Chi-squared confidence interval (hi - lo)^2 5. Optimize the values to obtain theta^hat 6. If FAST = TRUE, return these results. Else, continue.
Loop k = 1 to K Loop h = 1 to H 7. Simulate xt under F_theta^hat 8. Compute WV Empirical END 9. Calculate the covariance matrix 10. Optimize the values to obtain theta^hat END 11. Return optimized values.
The function estimates a variety of time series models. If type = "imu" or "ssm", then parameter vector should indicate the characters of the models that compose the latent or state-space model. The model options are:
a first order autoregressive process with parameters phi, sigma^2
a guass-markov process beta, sigma[gm]^2
an autoregressive moving average process with parameters phi[p], theta[q], sigma^2
a drift with parameter omega
a quantization noise process with parameter Q
a random walk process with parameter sigma^2
a white noise process with parameter sigma^2
If only an ARMA() term is supplied, then the function takes conditional least squares as starting values If robust = TRUE the function takes the robust estimate of the wavelet variance to be used in the GMWM estimation procedure.
A gmwm
object with the structure:
Estimated Parameters Values from the GMWM Procedure
Initial Starting Values given to the Optimization Algorithm
The data's empirical wavelet variance
Lower Confidence Interval
Upper Confidence Interval
Original V matrix
Updated V matrix (if bootstrapped)
The V matrix inversed
Value of the objective function at Estimated Parameter Values
Summed Theoretical Wavelet Variance
Decomposed Theoretical Wavelet Variance by Process
Scales of the GMWM Object
Indicates if parameter estimation was done under robust or classical
Level of efficiency of robust estimation
Models being guessed
Type of V matrix computation
Indicates moments have been augmented
Alpha level used to generate confidence intervals
Mean of the First Difference of the Signal
Length of the Signal
Number of Guesses Performed
Number of Bootstrap replications
Number of V matrix bootstraps
ts.model
supplied to gmwm
A new value of ts.model
object supplied to gmwm
Indicates whether the procedure used the initial guessing approach
Randomization seed used to generate the guessing values
Frequency of data
# AR set.seed(1336) n = 200 data = gen_gts(n, AR1(phi = .99, sigma2 = 0.01) + WN(sigma2 = 1)) # Models can contain specific parameters e.g. adv.model = gmwm(AR1(phi = .99, sigma2 = 0.01) + WN(sigma2 = 0.01), data) # Or we can guess the parameters: guided.model = gmwm(AR1() + WN(), data) # Want to try different models? guided.ar1 = gmwm(AR1(), data) # Faster: guided.ar1.wn.prev = update(guided.ar1, AR1()+WN()) # OR # Create new GMWM object. # Note this is SLOWER since the Covariance Matrix is recalculated. guided.ar1.wn.new = gmwm(AR1()+WN(), data) # ARMA case set.seed(1336) data = gen_gts(n, ARMA(ar = c(0.8897, -0.4858), ma = c(-0.2279, 0.2488), sigma2 = 0.1796)) #guided.arma = gmwm(ARMA(2,2), data, model.type="ssm") adv.arma = gmwm(ARMA(ar=c(0.8897, -0.4858), ma = c(-0.2279, 0.2488), sigma2=0.1796), data, model.type="ssm")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.