Nothing
library(tsDyn)
suppressWarnings(RNGversion("3.5.3"))
### linear
grid <- expand.grid(include = c( "const", "trend","none", "both"),
lag = 1:3)
all_lin <- mapply(linear, include = as.character(grid$include), m = grid$lag, MoreArgs = list(x = lh),
SIMPLIFY = FALSE)
names(all_lin) <- paste(grid$include, "l", grid$lag, sep="_")
lapply(all_lin, coef)
## compare with ar?
ar_1_noMean <- ar(lh, order.max =1, demean = FALSE, method = "ols")
ar_1_Mean <- ar(lh, order.max =1, demean = TRUE, method = "ols")
ar_2_noMean <- ar(lh, aic = FALSE, order.max =2, demean = FALSE, method = "ols")
ar_2_Mean <- ar(lh, aic = FALSE, order.max =2, demean = TRUE, method = "ols")
## compare coefs
all.equal(coef(all_lin[["const_l_1"]])[2], ar_1_Mean$ar[,,1], check.attributes = FALSE)
all.equal(coef(all_lin[["none_l_1"]]), ar_1_noMean$ar[,,1], check.attributes = FALSE)
all.equal(coef(all_lin[["const_l_2"]])[-1], ar_2_Mean$ar[,,1], check.attributes = FALSE)
all.equal(coef(all_lin[["none_l_2"]]), ar_2_noMean$ar[,,1], check.attributes = FALSE)
## compare means: intercept in ar is (1-phi)(diff means), ch Hamilton 3.4.35
## diff means is difference between estimated mean, and c/(1- phi)
linear_1_Mean <- all_lin[["const_l_1"]]
comp_means <- function(ar, linear) {
ar_empimean <- ar$x.mean
ar_int <- ar$x.intercept
lin_coefs <- coef(linear)
lin_LR_mean <- ar_mean(linear)
diff_means <- lin_LR_mean - ar_empimean
res <- c(ar_int = ar_int, diff = (1- sum(lin_coefs[-1])) * diff_means)
list(res, check = all.equal(res[1], res[2], check.attributes = FALSE))
}
comp_means(ar = ar_1_Mean, linear = linear_1_Mean)$check
comp_means(ar = ar_2_Mean, linear = all_lin[["const_l_2"]] )$check
## predict?
all_lin_const <- all_lin[grep("const", names(all_lin))]
all_lin_pred <- lapply(all_lin_const, predict, n.ahead = 5)
ar_1_Mean_pred <- predict(ar_1_Mean, n.ahead = 5)$pred
all.equal(ar_1_Mean_pred, all_lin_pred[["const_l_1"]], check.attributes = TRUE)
## ar_mean
all_lin_noTrend <- all_lin[grep("const|none", names(all_lin))]
sapply(all_lin_noTrend, ar_mean)
## charac root
do.call("rbind", lapply(all_lin_noTrend, charac_root))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.