inedemogR:西班牙次国家人口数据的可重复检索与生命表计算

《SoftwareX》:inedemogR: Reproducible retrieval and life-table computation for Spanish subnational demographic data

【字体: 大 中 小 】 时间:2026年11月04日 来源:SoftwareX 1.9

编辑推荐:

  inedemogR是一个R软件包,可将西班牙国家统计研究院(INE)的人口数据转换为整洁、可直接用于分析的数据表。快速查询接口按地理区域和年份返回人口、出生和死亡总数。第二个接口按照人类死亡率数据库协议(HMD Protocol,Version 6)构建省级暴

  
inedemogR是一个R软件包,可将西班牙国家统计研究院(INE)的人口数据转换为整洁、可直接用于分析的数据表。快速查询接口按地理区域和年份返回人口、出生和死亡总数。第二个接口按照人类死亡率数据库协议(HMD Protocol,Version 6)构建省级暴露人口、死亡率和单岁组时期生命表,并在INE数据需要之处作出调整:死亡数在Lexis三角形之间平均分配,高龄死亡率在80–99岁拟合。自2002年起支持单岁组生命表。在2002–2024年3588个省份—性别—年份比较中,分别针对出生时预期寿命和65岁预期寿命,该软件包在约99%的情况下与INE发布的省级生命表一致,误差在0.25年以内。
研究背景方面,西班牙国家统计研究院(INE)通过无需注册的公共传播API发布人口数字、生命统计和生命表,R包装器ineapir可提供对该API的一般访问,但其返回的是INE自身的表结构,包括西班牙语类别标签、总计与分项混杂、小计数抑制以及不同序列采用不同地理层级。将这些表转换为人口学输入(每个省份和年份完整的年龄—性别网格,并区分结构性零值与缺失值)是每位分析人员都要重复而鲜有发表的工作,且容易出错。省级生命表是研究区域死亡率不平等的核心工具,INE依据死亡微观数据以自身方法学发布省级生命表,但序列固定,用户无法改变方法、扩展表格或检查中间量;人类死亡率数据库(HMD)协议是基于汇总数据计算生命表的国际参考,但据研究人员所知,尚无已发表软件将INE公共汇总省级数据的检索与HMD协议省级生命表的自动计算结合起来。inedemogR的主要贡献在于自动化从INE公共API到省级时期生命表的路径:检索按年龄和性别的省级出生、死亡和人口数据;计算暴露于风险;计算1×1和5×1中心死亡率;按照HMD协议第6版构建单岁组生命表,并明确说明INE数据所需的调整;在同一对象上提供生育率、分解和汇总指标。与手工组装输入相比,清洗规则(年龄重编码、小单元格恢复、省份匹配、覆盖检查)只编写一次、经过测试并版本化,每个中间量都可检查并可从冻结输入重新计算。研究人员开展了软件架构、方法实现、缺失数据处理、测试与验证以及示例分析等研究。结论是inedemogR将INE人口数据从公共API带到分析就绪表和省级生命表,形成一套有文档记录的工作流;各阶段的数据完整性检查和计算的确定性测试在内部支持其正确性;外部上其结果与INE发布的省级序列一致:在所有生命表在95+闭合的省份中,??0和??65误差在0.25年以内,在INE表在90+闭合的Ceuta和Melilla一致性较弱,99%的TFR和98%的MAC值误差在0.01以内。其重要意义在于,inedemogR以第三方可重新运行的简短脚本取代了INE公共API与省级生命表之间的手工工作,每个报告结果都可从仓库中的冻结输入重新生成;由于结果与INE自身表一致且与HMD协议的偏离有文档记录,该工作流可支持关于省级死亡率差异和随时间收敛的研究,decompose_life_expectancy可直接返回任何此类差距的年龄结构;它也适合教学,因为HMD协议的每个中间量都是整洁表。该设计面向两类受众:在其他地方建模的用户可停留在清洗后的数据,导出为CSV或HMD格式文件;留在R中的用户可将分析函数应用于相同对象或另一来源的文档形状数据。检索层特定于INE,分析核心则不是,另一统计局的API可通过仅重写该层来连接。针对实时数据的测试塑造了该软件包,发现了合成夹具未显示的缺陷,每个缺陷都有回归测试。该软件包自2026年8月起在CRAN上发布。作者将其用于比较小省份HMD协议与国家生命表方法的持续工作。
研究人员为开展研究用到的主要关键技术方法包括:通过ineapir和httr2查询INE的Tempus3服务及批量CSV导出以检索数据;采用HMD协议第6版公式计算暴露、死亡率和生命表;使用Andreev–KingKade公式计算??0,使用Kannisto模型拟合并外推高龄死亡率;采用Arriaga和Pollard方法分解预期寿命差异;按照INE方法学计算生育率指标;使用testthat进行软件测试并在实时INE数据上运行完整工作流测试;针对INE发布的省级生命表和生育率指标进行数值验证,并开展敏感性分析和Poisson bootstrap;数据来源为INE公共API的省级汇总数据,冻结输入存于仓库reproducibility/文件夹。
研究结果方面,3.1快速查询:出生与死亡比——通过map_indicator生成2023年各省出生与死亡比地图,显示几乎所有大陆省份死亡多于出生;3.2死亡率工作流:省级预期寿命——通过map_life_expectancy绘制各省女性??0,并将四个省份与INE发布值并列,A Coru?a 2024年男性??0为81.21年,独立构建的简略表给出女性??0为86.95,由于两表使用相同输入,其一致性仅为一致性检查;3.3与INE省级生命表的验证——将全部52个省份、两种性别及合计、2002–2024年的??0和??65与INE表比较,容差预先固定为0.25年,对于INE表在95+闭合的50个省份,所有比较均在容差内,Arriaga分解显示差异几乎全部位于80岁及以上,1–79岁贡献0.008,年龄0贡献小于0.002,输入也不是来源,39939个分组死亡率的相对差异中位数绝对值至多为0.1%,基于100例及以上死亡率的95%在1.9%内一致,不进行平滑并未使表更接近INE,剩余差异集中在高龄,与终端年龄处理差异一致,尤其在Ceuta和Melilla,研究人员??90平均比INE分别高0.78年和0.87年;敏感性分析显示固定??为80、85、90或95而非100死亡规则使??0平均变化至多0.05年,拟合从80改为85在小省份平均变化0.19年、最大1.16年,支持下三角死亡份额从0.5改为0.45或0.55或年龄0改为0.85使??0和??65变化至多0.014年,两个小省份年份的0.45份额在最高年龄产生负暴露,这些表被扣留,2024年死亡的Poisson bootstrap(200次重复)显示??0的中位bootstrap标准差在人口超过百万的省份女性为0.14年、男性为0.16年,在人口少于20万的省份为0.43和0.46年(最大0.77);3.4预期寿命分解与死亡率曲面——2024年A Coru?a与Madrid女性??0差距为0.91年,A Coru?a在年龄0和七十几岁死亡率较低,Madrid的领先来自六十几岁后期尤其是80岁及以上(0.57年;95% bootstrap区间0.44–0.71),差距本身不确定(0.64–1.22),年龄0–64贡献的区间包含零,Pollard贡献之和与差距在0.001年内一致,2006至2024年A Coru?a女性??0上升2.85年,Madrid死亡率曲面显示2020年高龄上升为垂直带;3.5生育率——2024年TFR在A Coru?a为0.98、Barcelona为1.05、Madrid为1.09、Sevilla为1.21,平均生育年龄32.5–33.5岁,与INE发布省级序列1975–2024年全部52个省份2600个省—年比较,TFR和MAC的平均绝对差均为0.003,最大值分别为0.017和0.020,99%的TFR和98%的MAC值在0.01内一致,即INE发布的精度,在版本0.1.0约定下MAC约低0.55年;3.6人口结构与自然变动——人口金字塔显示婴儿潮凸起和狭窄底部,自然增长在A Coru?a整个2002–2024年为负,Barcelona自2018年、Sevilla自2020年为负,Madrid 2020年转负并在2024年略为正。
讨论部分总结:inedemogR以一套有文档记录的工作流将INE人口数据从公共API带到分析就绪表和省级生命表;各阶段数据完整性检查和计算的确定性测试在内部支持其正确性;外部上其结果与INE发布省级序列一致,在所有生命表在95+闭合的省份中??0和??65误差在0.25年以内,在INE表在90+闭合的Ceuta和Melilla一致性较弱,99%的TFR和98%的MAC值误差在0.01以内。当前范围存在局限:生命表覆盖2002年起,因为更早的INE人口在85+顶码;它们是时期表而非队列表;暴露使用均匀Lexis三角形分配,高龄死亡率从80–99岁外推;在小省份,仅反映死亡计数变异的??0 bootstrap标准差达到约0.8年;生命表所需的年龄和性别细节来自省级表,市镇总计仅通过快速查询前端提供;国际迁移尚未检索;结果依赖INE可修订的序列,因此发表分析应保留输入的来源记录。计划工作增加队列要素预测、婚姻指标和年龄堆积诊断。研究结论为:inedemogR将INE人口数据从公共API带到分析就绪表和省级生命表,形成一套有文档记录的工作流。各阶段的数据完整性检查和计算的确定性测试在内部支持其正确性。外部上,其结果与INE发布的省级序列一致:在所有生命表在95+闭合的省份中,??0和??65误差在0.25年以内,在INE表在90+闭合的Ceuta和Melilla一致性较弱,99%的TFR和98%的MAC值误差在0.01以内。当前范围存在局限。生命表覆盖2002年起,因为更早的INE人口在85+顶码。它们是时期表而非队列表。暴露使用均匀Lexis三角形分配,高龄死亡率从80–99岁外推。在小省份,仅反映死亡计数变异的??0 bootstrap标准差达到约0.8年。生命表所需的年龄和性别细节来自省级表;市镇总计仅通过快速查询前端提供。国际迁移尚未检索。结果依赖INE可修订的序列,因此发表分析应保留输入的来源记录。计划工作增加队列要素预测、婚姻指标和年龄堆积诊断。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号