我在理解引导过程时遇到问题。
首先,我创建了 24 个时间序列样本除以每小时(NL_hourly)。
NL_hourly <- NL %>%
mutate(hour = hour(datetime), hour1 = hour(datetime)) %>%
group_by(hour) %>%
nest() %>%
mutate(data = map(data, ~.x %>% select(-datetime))) %>%
ungroup()
然后我运行 24 小时 x 3 分位数 = 72 个模型(作为 24 个列表)存储在 NL_hourly_quantreg 数据框中。
quantreg_fn <- function(data, tau_vals) {
map(tau_vals, ~ rq(price_NO2 ~ cons + NO2 + precip*temp + price_NG + price_cert +
factor(month) + weekend + is_holiday + trend_time +
price_l2 + price_l3, data = data, tau = .x))
}
#run regression for each hour and quantile
tau_vals <- seq(0.1, 0.9, by = 0.4)
NL_hourly_quantreg <- NL_hourly %>%
mutate(model = map(data, ~quantreg_fn(.x, tau_vals)))
此外,我定义了一个函数来从分位数回归模型中提取系数估计值,并使用 100 个重采样运行启动。
coef_fn <- function(data, indices, tau_vals) {
models <- quantreg_fn(data[indices, ], tau_vals)
coef_list <- lapply(models, coef)
coef_df <- do.call(rbind, coef_list)
return(coef_df)
}
# Set the number of bootstrap replicates
n_boot <- 100
# Run the bootstrap
set.seed(123) # for reproducibility
NL_hourly_boot <- NL_hourly_quantreg %>%
mutate(boot = map(data, ~boot(data = .x, statistic = coef_fn, tau_vals = tau_vals, R = n_boot, sim = "ordinary", parallel = "multicore")))
然后我想访问我认为是自举系数(?)的“t”。
t_values <- lapply(NL_hourly_boot$boot, function(x) x$t)
#exctract the results from the bootstrap
coef_tbl_boot <- as.data.frame(t_values)
head(coef_tbl_boot, 5)
所以我的问题是:下一步是什么?我只是想像任何其他回归分析一样获得系数。