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

GWPR模型运行报错:duplicate couples (id-time)问题排查求助

地理加权面板回归(GWPR)重复id-time对错误求助

运行bw.GWPR函数拟合地理加权面板回归时,持续收到重复id-time对错误,但已验证数据集无重复,且常规plm模型可正常运行,具体情况如下:

报错的GWPR代码及错误信息

bw.GWPR(formula = formula1, data = finalprepostdataset3,
                    SDF = finalprepostdataset_sp,
                    index = c("county_id", "season"),
                    adaptive = TRUE, approach = "AIC",
                    p = 2, effect = "twoways", model = "within",
                    doParallel=T, cluster.number=4,
                    kernel = "bisquare", longlat = FALSE, bigdata = T)

错误提示:

Error in { : task 1 failed - "duplicate couples (id-time)"

注:finalprepostdataset_sp是finalprepostdataset3的空间副本。

已完成的验证与测试

  1. 常规面板模型可正常运行:
plm(
  formula=formula1,
  data=finalprepostdataset3,
  effect = "time",
  model = "within",
  index = c("county_id", "season"),
)
  1. 验证非空间数据集无重复id-time对:
any(table(index(finalprepostdataset3$county_id, finalprepostdataset3$season), useNA = "ifany")!=1)
# 输出结果:FALSE

可能的解决方向

  • 检查空间数据集的索引一致性:仅验证了非空间数据集,需确认finalprepostdataset_sp的属性表中无重复id-time对:
any(table(index(finalprepostdataset_sp$county_id, finalprepostdataset_sp$season), useNA = "ifany")!=1)
  • 关闭大数据模式测试:bigdata=T可能改变内部数据处理逻辑,尝试设置bigdata=F后重新运行。
  • 禁用并行计算:doParallel=T在数据分片时可能引发索引异常,先设置doParallel=F单线程运行。
  • 统一重置面板索引:对两个数据集重新设置面板索引,确保索引规则一致:
finalprepostdataset3 <- pdata.frame(finalprepostdataset3, index = c("county_id", "season"))
finalprepostdataset_sp@data <- pdata.frame(finalprepostdataset_sp@data, index = c("county_id", "season"))
  • 检查公式变量:确认formula1中未包含county_id或season作为自变量,避免内部处理冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 23:07:17