Чтобы объединить данные временного ряда, мне осталось сделать следующий важный шаг:
>>> xs1
array([ 0, 10, 12, 16, 25, 29])
>>> xs2
array([ 0, 5, 10, 15, 20, 25, 30])
Как лучше всего получить следующие решения:
>>> xs1_ = np.array([0,0,10,12,12,16,16,25,29,29])
>>> xs2_ = np.array([0,5,10,10,15,15,20,25,25,30])
Это для выравнивания измерений, сделанных в моменты времени x1
и x2
.
Представьте, что измерение из серии xs1
во время 0
действительно до тех пор, пока не будет выполнено следующее измерение в этой серии, то есть время 10
. Мы могли бы интерполировать обе серии до их наибольших общих делителей, но это, скорее всего, 1
и создает огромное раздувание. Поэтому было бы лучше иметь интерполяцию только для объединения xs1
и xs2
. В xs1_
и xs2_
выровнены по индексу списка значения x для сравнения. То есть мы сравниваем время 5
в серии xs2_
со временем 0
в серии xs1_
, поскольку следующее измерение в серии xs1_
происходит только позже, во время 10
. С визуальной точки зрения представьте пошаговый график для обоих измерений (значения y здесь не показаны), где мы всегда сравниваем линии, лежащие друг над другом.
Хотя я изо всех сил пытаюсь назвать эту задачу, я считаю, что это проблема общего интереса, и поэтому думаю, что здесь уместно спросить о ее лучшем решении.