архитектура для многомерных сетей временных рядов, где некоторые переменные совместно используются единицами - PullRequest
0 голосов
/ 19 марта 2019

У меня есть временной ряд, который имеет следующую форму:

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 для определения модели с несколькими входами, имеющими разные формы. Но я не знаю, возможно ли это или лучший путь вперед.

...