数据缺失时间段列表对比:合适度量指标及计算方法问询
时间段缺失数据的对比度量与计算方法
问题背景
我需要对比两个记录数据缺失时间段的列表,时间段相同时表示缺失相同信息。需要完成以下计算:
- 单个列表的总缺失时长
- 两个列表合并后的总缺失时长(去重重叠时间段)
目前仅想到改进版Jaccard Distance,想了解还有哪些合适的度量指标或对比方法。
数据示例
File1: [{'start': '2021-10-18 15:00', 'end': '2021-10-18 16:00'}, {'start': '2021-10-18 16:00', 'end': '2021-10-18 17:00'}, {'start': '2021-10-18 20:00', 'end': '2021-10-18 21:00'}] File2: [{'start': '2021-10-18 14:00', 'end': '2021-10-18 15:00'}, {'start': '2021-10-18 16:00', 'end': '2021-10-18 17:00'}]
注:原示例中File1第一个时间段存在日期笔误,已修正为统一的2021年
预期计算结果
以单日24小时为基准,结果为 [3/24, 2/24, 4/24],分别对应:
- File1单日缺失3小时
- File2单日缺失2小时
- 两个文件合计缺失4小时(16-17点时间段重叠,仅计算一次)
可选度量指标与对比方法
1. 重叠率(Overlap Ratio)
直接计算两个缺失时间段集合的重叠时长占比,有两种实用计算方式:
- 双向重叠率:
重叠时长 / min(File1总缺失时长, File2总缺失时长),反映较小缺失集合在较大集合中的覆盖程度,示例中为1/2(File2的2小时缺失里有1小时和File1重叠) - 整体重叠率:
重叠时长 / 合并后总缺失时长,反映重叠部分在整体缺失中的占比,示例中为1/4
2. Dice系数(Sørensen-Dice系数)
这是比Jaccard更侧重重叠部分的相似度指标,公式为:2 * 重叠时长 / (File1总缺失时长 + File2总缺失时长)
示例中计算得 2*1/(3+2)=2/5,适合需要突出重叠部分权重的场景,常用于时间序列区间的相似度对比。
3. 差异度量指标
如果关注两个缺失集合的差异程度:
- 对称差时长占比:
(File1总时长 + File2总时长 - 2*重叠时长) / 合并后总缺失时长,示例中为(3+2-2*1)/4=3/4,反映非重叠缺失部分在整体中的占比 - 绝对差异时长:直接计算两个集合总缺失时长的差值,示例中为
3-2=1小时,适合快速对比缺失程度的差距
4. 覆盖率指标
- 联合覆盖率:
合并后总缺失时长 / 总时间范围,示例中为4/24,反映整体数据的缺失比例 - 互补覆盖率:与联合覆盖率逻辑一致,用于描述两个文件共同覆盖的缺失范围,公式为
(File1总缺失时长 + File2总缺失时长 - 重叠时长) / 总时间范围
5. 时间区间加权匹配度
如果需要区分完全重叠和部分重叠的时间段,可计算每个时间段的重叠比例,再以各时间段时长为权重取平均值,得到整体匹配度。比如某时间段重叠了一半时长,就按0.5的权重计入,适合精细化的区间对比场景。
内容的提问来源于stack exchange,提问作者MegaKarg
相关产品推荐
相关产品推荐

