У меня есть временной ряд, который имеет следующую форму:
arr.shape
Out[9]: (2864, 98, 34)
Итак, 2864 единицы, 98 временных шагов и 34 переменных. 98 временных шагов являются годовыми.
У меня также есть «глобальная» переменная, которая также ежемесячно. Он глобален в том смысле, что он применим к каждому из N единиц.
pdat.shape
Out[10]: (1176, 1)
1176/12
Out[11]: 98.0
Я пытаюсь построить модель, которая будет совместно прогнозировать 34 входные переменные (на самом деле мои интересы сосредоточены на нескольких из них), а также ежемесячную глобальную переменную.
Было бы просто изменить месячные данные так, чтобы они равнялись
(1,98,12)
затем повторите это так, чтобы это было
(2864,98,12)
Затем я мог бы соединить его с arr
, который бы сделал форму этого массива
(2864, 98, 46)
Используя функциональный API в Keras, я мог бы затем определить сеть с несколькими выходами, где один из выходов преобразуется обратно в месячный временной ряд.
Но повторение (1,98,12)
массива N
раз кажется расточительным, дублирующим и не элегантным. Есть ли способ лучше? С другой стороны, я не знаю, как бы указать размер партии, общий для одной модели, когда отдельные входы имеют различный N
.
Буду признателен за предложения по определению сетей с такой многоуровневой архитектурой и, в частности, по их обучению, учитывая, что размер пакета для одного ввода не будет иметь смысла для другого.
В частности, я думаю, что было бы здорово использовать функциональный API для определения модели с несколькими входами, имеющими разные формы. Но я не знаю, возможно ли это или лучший путь вперед.