You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于R求解两剂新冠疫苗接种时间序列的最优滞后间隔n

最优接种间隔n的求解方法

这个问题本质是单参数优化问题,核心目标是找到n使得估算第二剂接种量和实际值的误差最小,具体实现步骤如下:

步骤1:确定误差评估规则

我们选用最常用的均方误差(MSE)作为误差衡量指标,即实际值和估算值差值的平方的平均值,数值越小代表拟合效果越好。你原方案按2021-05-16拆分为两个时间段设置不同间隔,我们可以对两个时间段分别求解最优n,也可以直接全时段统一求解。

步骤2:实现代码

基于你已有的代码,补充优化逻辑如下:

library(tidyverse)
library(lubridate)
library(janitor)

# 读取和预处理数据(和原有逻辑一致)
vacc <- read_csv("https://api.covid19india.org/csv/latest/tested_numbers_icmr_data.csv")
vacc_df <- vacc %>% 
  clean_names() %>% 
  mutate(date = dmy(str_sub(update_time_stamp, 1, 10))) %>% 
  filter(date > "2021-01-16") %>% 
  select(date, first_dose_administered, second_dose_administered) %>% 
  relocate(date)

# 定义损失函数:输入n和时间段范围,返回对应MSE
calc_mse <- function(n, start_date, end_date) {
  df_sub <- vacc_df %>% 
    filter(date >= start_date, date <= end_date) %>% 
    mutate(est = lag(first_dose_administered, n)) %>% 
    drop_na(est, second_dose_administered)
  mean((df_sub$second_dose_administered - df_sub$est)^2, na.rm = TRUE)
}

# 设定n的搜索范围:符合疫苗接种间隔常识的14~120天,可根据当地政策调整
n_range <- 14:120

# 优化第一段:2021-05-16之前的最优n
mse_pre <- map_dbl(n_range, ~calc_mse(.x, start_date = "2021-01-16", end_date = "2021-05-15"))
best_n_pre <- n_range[which.min(mse_pre)]
# 优化第二段:2021-05-16之后的最优n
mse_post <- map_dbl(n_range, ~calc_mse(.x, start_date = "2021-05-16", end_date = max(vacc_df$date)))
best_n_post <- n_range[which.min(mse_post)]

# 输出最优n值
cat("2021-05-16前最优间隔:", best_n_pre, "天\n")
cat("2021-05-16后最优间隔:", best_n_post, "天\n")

# 用最优n重新计算估算值
vacc_df <- vacc_df %>% 
  mutate(est_second_dose = if_else(date < "2021-05-16", 
                                   lag(first_dose_administered, best_n_pre), 
                                   lag(first_dose_administered, best_n_post)))

# 绘图对比拟合效果
vacc_df %>% 
  pivot_longer(cols = -date) %>%
  ggplot(aes(x = date, y = value, color = name)) +
  geom_line() +
  scale_x_date(breaks = "1 month")+
  theme(legend.position = "bottom")

可选进阶优化

如果分段固定n的拟合效果仍不符合预期,可以尝试滚动窗口优化:每15/30天重新计算一次对应时段的最优间隔,适配接种政策变动、接种能力变化带来的间隔波动。

内容的提问来源于stack exchange,提问作者Geet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:36:00