Способна ли библиотека решить следующую задачу (вычислительную задачу)?
Даны ежедневные данные (x1,x2,x3), данные по декадам (x4) и единожды заданные данные (x5, x6). Данные собираются за полугодие. В конце полугодия получается y1. Собраны данные за несколько лет.
Пример - гостиница. Постояльцы платят ежедневно (номера разного размера - плата разная - x1, x2). Ежедневно начисляется заработная плата работникам - x3. Раз в десять дней закупаются продукты питания и вода - x4. Раз в полгода оплачиваются коммунальные счета, делается ремонт - x5, x6 (для упрощения считаем, что это происходит в начале интервала). Раз в полгода делается финансовый отчет и вычисляется прибыль - y1.
Проблема в том что нужно предсказать y1 до окончания полугодия в произвольный день.
П.С. Я склоняюсь к LSTM. И надеюсь, что все данные можно свести к минимальному интервалу (день, в данном примере) - считать все X ежедневными. Но у меня не получается понять как подать числовые данные в сеть.
И да - мне нужно не классифицировать входные данные, а обсчитывать их в сети...
Пример данных:
{
...
2018_1: { ... },
2018_2: { ... },
2019_1: {
rent1: [19200,19200,19200,19200,12000,12000,7200,15600,15600,7200,7200,8400,7200,8400,8400,8400,10800,21600,21600,21600,21600,19200,15600,7200,7200,8400,7200,8400],
rent2: [19800,18000,18000,18000,14400,12600,12600,12600,14400,14400,14400,9000,18000,18000,18000,19800,19800,12600,18000,18000,18000,14400,14400,14400,14400,14400,14400,14400],
salary: [-9000,-9000,-9000,-9000,-8400,-8400,-7700,-8400,-8400,-7700,-7700,-7700,-7700,-8000,-8000,-8000,-8400,-8600,-9000,-9000,-9000,-8600,-8600,-7700,-7700,-7700,-7700,-7700],
food: [-27743,-32682,-23009.5],
repair: [-47000],
annuity: [-175000]
profitability: 266765.5
}
}
Если привести данные в одномерную форму - нейросеть (brain.NeuralNetwork) выполняет вычисления. Но только в конце периода. Прогноз необходим в любое время периода - т.е. до окончания серии данные в текущем периоде. Размеры данных могут варьироваться - високосный год, неожиданные ремонты, бонусы сотрудникам, испорченные продукты и т.п. Я думаю, что для этого требуется сеть с памятью (возможно какая-то из brain.recurrent.*). Но я не понимаю, как передать в неё даже простые тестовые данные что бы она выполнила расчет.
Возможно, более понятным будет другой пример: прогнозирование урожайности: ежедневные погодные данные, внесение удобрений перед посевом, обработка от вредителей и др. - суть в том, что данные представляются временными рядами разного периода прежде чем станет известен результат (погода получается ежедневно с момента сева, но урожай собирается только в конце года).
Суть моего вопроса в том как с пеомощью нейронной сети с памятью выполнять прогноз по не полному временному ряду данных (при том что сеть должна обучаться по временным рядам данных).
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости