Как сделать текущий прогноз с данными панели с Keras - PullRequest
0 голосов
/ 13 февраля 2020

Я обучил 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 НЕ фиксировано , так как я должен прогнозировать риск для каждой выборки на каждый день в месяц, вы можете принять это, поскольку прогноз «катится» в течение месяца.

Мне интересно, какова процедура для выполнения этого прогноза. Должен ли я отфильтровать по дате, затем выполнить повторную выборку соответствующих данных или выполнить повторную выборку всех данных, требуемых для периода прогнозирования, а затем соответственно ввести соответствующие данные по дате? Любая идея приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...