Я обучил CNN
модель в Keras
для прогнозирования риска возникновения события, где метки равны 0 или 1 (горячая).
Входные данные: временные ряды в реальном времени данные о температуре воды + суточные климатические данные для rainfall
, pressure
и sunlight
.
Имеется 900 образцов, таким образом, 900 рядов. Каждый образец взят из другой группы.
Исходные данные о температуре воды выглядят так:
id date data group_id
0 605842 2011-12-01 00:00:47.650 42.5 27
1 605843 2011-12-01 00:00:48.437 42.0 27
2 605844 2011-12-01 00:04:52.970 42.5 27
3 605845 2011-12-01 00:04:53.757 43.5 27
4 605846 2011-12-01 00:04:54.567 44.5 27
...
Исходные данные о климате выглядят так:
date rain pressure sunlight
0 2011-01-01 27.5 15.8 30.0
1 2011-01-02 36.9 21.0 16.3
2 2011-01-03 28.9 22.3 27.6
3 2011-01-04 28.8 20.2 20.3
4 2011-01-05 27.8 20.0 22.0
...
В моем Обучив модель, я пересэмплировал данные временного ряда для температуры воды и переставил два набора данных, чтобы получить следующее значение df:
id x0 x1 x2 x3 x4 x5 ... x10079 rain1 rain2 rain3 .. Y0 Y1 date
1 40 31.05 25.5 25.5 25.5 25 ... 33 24 22 21 0 1 2011-01-01
2 35 35.75 36.5 26.5 36.5 36.5 ... 29 31 23 30 1 0 2011-08-21
3 35 35.70 36.5 36.5 36.5 36.5 ... 29 25 11 11 0 1 2011-05-04
4 40 31.50 23.5 24.5 26.5 25 ... 33 29 31 20 1 0 2011-02-13
...
900 40 31.05 25.5 25.5 25.5 25 ... 23 33 2 20 0 1 2011-06-30
Обратите внимание, что эти данные взяты из набора данных временного ряда температуры воды, и набор климатических данных в соответствии с date
, который варьируется от ряда к ряду - временной ряд температуры воды использует данные за 30 дней до date
; Климатический временной ряд использует данные за 20 дней до date
, объединение конечных результатов дает окончательный результат, как показано каждой строкой в таблице выше.
Теперь я хотел бы сделать прогнозы на весь июль для всех образцов.
Желаемый результат выглядит следующим образом:
(sample_id)
sample1 0 1 0 0 ... 0
sample2 0 0 0 0 ... 0
sample3 0 0 0 1 ... 0
sample4 0 1 0 0 ... 1
sample5 0 1 0 0 ... 0
1/7 2/7 3/7 4/7 31/7 (day in month)
...
Опять 0 означает отсутствие риска, а 1 указывает на риск.
Я понимаю, что в моей предыдущей модели, где обучали модель с использованием данных и меток даты фиксируются для каждого образца, и каждая строка представляет собой отдельный образец. Однако, в моем ожидаемом прогнозе, мы работаем наоборот, используя обученную модель для прогнозирования вперед, и date
НЕ фиксировано , так как я должен прогнозировать риск для каждой выборки на каждый день в месяц, вы можете принять это, поскольку прогноз «катится» в течение месяца.
Мне интересно, какова процедура для выполнения этого прогноза. Должен ли я отфильтровать по дате, затем выполнить повторную выборку соответствующих данных или выполнить повторную выборку всех данных, требуемых для периода прогнозирования, а затем соответственно ввести соответствующие данные по дате? Любая идея приветствуется.