Возможно ли предварительное вычисление (кеш) агрегатов (мин/макс/среднее) значений, которые являются Разница двух сигналов?Кэширование временных рядов агрегатов разностей
У меня есть несколько каналов (например, 50) с одним или несколькими измерениями каждую секунду, и я могу легко хранить предварительно рассчитанные 1-минутные или 15-минутные агрегаты для более быстрого отображения.
Но одним из требований является отображение диаграммы относительных значений. Например. если у меня есть каналы C1
, C2
и C3
, пользователь хотел бы видеть средние значения C1
и средние значения (C2 - C3)
(или 15-минутный минимум/максимум) на отдельной диаграмме.
Для примера, скажем, у меня есть эти 2 канала (и больше 48):
t(min) 0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10
C1 0.0 0.1 0.2 -0.1 0.0 0.1 0.3 0.5 0.7 0.9 0.2
C2 0.1 0.4 0.2 0.1 -0.1 0.5 0.6 0.1 0.2 0.3 0.0
Я могу предвычислять и хранить 5-минутные агрегаты:
t(min) 0 to +4 +5 to +10
C1_min -0.1 0.1
C1_max 0.2 0.9
C2_min -0.1 0.0
C2_max 0.4 0.6
и легко получить 10-минутных или 15-минутные агрегаты от этого.
Но если пользователь хочет видеть min(C2-C1)
или max(C2-C1)
5-минутные агрегаты, для любой комбинации этих 50 каналов кажется, что я не могу повторно использовать эту информацию.
Другими словами, мне кажется, что невозможно предусмотреть это, кроме хранения каждой возможной комбинации этих кортежей, потому что min(C2-C3)
не равно min(C2)-min(C3)
.
У меня отсутствует какая-то идея, которая может помочь мне рассчитать эти значения быстрее?
Я думаю, что образцы данных и желаемые результаты помогут. –
@GordonLinoff: Я обновил вопрос, я надеюсь, что это немного улучшится. – Lou
Я думаю, что вы правы в отношении min и max (рассмотрите два идентичных сигнала .. их разница будет равна нулю). в среднем, все равно, ave (AB) = ave (A) -ave (B) (см. http://math.stackexchange.com/questions/1360311/why-is-the-average-of-a-sum- равный сумме средних значений) – danh