Я пытаюсь обучить модель MLP с двумя плотными слоями в керасах, чтобы сделать прогноз для небольшого набора данных, состоящего примерно из 100 разных временных рядов.Эта модель должна получить значения 6 дней и прогнозировать значение 7 дней.В качестве входных данных для модели я сначала объединяю эти временные ряды друг за другом в кадре данных следующим образом:
ts1 val1
ts1 val2
...
ts1 varN
ts2 val1
ts2 val2
...
ts3 varN
ts3 val1
ts3 val2
...
ts3 varN
...
ts100 val1
ts100 val2
...
ts100 varN
Интересно, каков наилучший способ масштабирования этих данных?Прежде всего, следует ли мне масштабировать каждый временной ряд (ts_n) независимо, чтобы в конце было 100 скейлеров?Или мне лучше масштабировать их все вместе (по одному на конце), чтобы не потерять связь между ними?Или, поскольку все эти временные ряды рассматриваются как одна и та же особенность, нет смысла иметь корреляцию ?!
Мой второй вопрос о том, какой метод масштабирования я должен выбрать?min-max или StandardScaler (из склеарна)?Некоторые временные ряды ведут себя совсем не так, как другие, и имеют большие различия в своих значениях.Если я использую шкалу min-max, она будет игнорировать эти различия, верно?Так не лучше ли использовать StandardScaler, который (надеюсь) учитывает различия в баллах между каждым временным рядом?
PS Следует отметить, что «после» масштабирования я создам временные шаги и получуокончательные результаты, как это:
timestep1 | timestep2 | timestep3 | timestep4 | timestep5 | timestep6 | timestep7
ts1 var1 | var2 | var3 | var4 | var5 | var6 | var7
ts1 var2 | var3 | var4 | var5 | var6 | var7 | var8
ts1 var3 | var4 | var5 | var6 | var7 | var8 | var9
...
ts2 var1 | var2 | var3 | var4 | var5 | var6 | var7
ts2 var2 | var3 | var4 | var5 | var6 | var7 | var8
ts2 var3 | var4 | var5 | var6 | var7 | var8 | var9
...
ts100 var1 | var2 | var3 | var4 | var5 | var6 | var7
ts100 var2 | var3 | var4 | var5 | var6 | var7 | var8
ts100 var3 | var4 | var5 | var6 | var7 | var8 | var9
...