我正在尝试汇总来自两种不同类型的测量的计数器数据。 第一种度量提供给定日期的计数器的准确值。
| Id | Day | Value |
|----|-----|-------|
| 1 | 1 | 10000 |
| 2 | 15 | 10100 |
第二种类型的度量给出了一段时间内计数器的相对值。
| Id | Period | Value |
|----|---------|-------|
| 3 | 5 - 27 | 500 |
| 4 | 11 - 21 | 300 |
因此,例如,已知第1天的值为10000
,并且在500
天的时间段内将其增加了5-27
。鉴于此,我试图汇总和内插两个来源,以生成一个每天的 total 值的单个时间序列:
| Day | Value |
|-----|-------|
| 1 | 10000 |
| 2 | 10010 |
| 3 | 10020 |
...
| 15 | 10100 |
...
我已经阅读了很多有关time series的内容,并发现了多种技术来规范化和插值第一种类型的度量值。但是,我似乎找不到找到将其与第二种类型混合使用的技术:在一段时间内的相对和可能重叠的度量。我尝试了几种手工制作的技术,但偶然发现了太多的问题。 例如,我尝试每天将范围值细分为较小的块(并平均重叠的度量值),但是我无法将其与其他度量值进行调和:
| Day | Measures | Aggregate | Total |
|-----|----------|-----------|----------|
| 1 | [1] | 10000 | 10000 |
...
| 5 | [3] | 21.74 | 10021.74 | // (500 / 23 days) = 21.74
...
| 9 | [3] | 21.74 | 10108.70 | // Higher than measure of day 15 (10100)!
考虑到测量的性质,是否有可能获得该结果?如果是,可以使用哪些技术?我希望通过JavaScript或直接在PostgreSQL数据库中实现此目标,但是这里的问题与任何语言均无关。
谢谢