Как лучше всего перераспределить прогнозируемые дневные продажи на почасовой уровень?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как лучше всего перераспределить прогнозируемые дневные продажи на почасовой уровень?

Сообщение Anonymous »

У меня есть почасовые данные о продажах (06:00–22:00). Я агрегировал их по дням и сделал прогнозы на основе дневного уровня. Это связано с тем, что я обнаружил, что прогнозирование на ежедневном уровне приводит к более точным прогнозам.
У меня также есть другой набор данных с почасовой (06:00–22:00) долей продаж.Я попробовал простой метод сопоставления ежедневных и почасовых продаж на основе пропорции, но он оказался не очень точным (общие дневные продажи не совпадают).
Я хочу перераспределить дневной прогнозируемый уровень на основе исторической доли продаж по часам, используя библиотеку иерархических прогнозов. Или как лучше всего перераспределить прогнозируемый дневной уровень на почасовой?
average_hourly_proportion df:

Код: Выделить всё

date hour proportion
0 2023-01-01 6 0.000000
1 2023-01-01 7 0.000000
2 2023-01-01 8 0.016458
3 2023-01-01 9 0.017825
4 2023-01-01 10 0.0390
ежедневно:

Код: Выделить всё

date sales
0 2023-01-01 3840.10
1 2023-01-02 3323.80
2 2023-01-03 2605.40
3 2023-01-04 2616.60
4 2023-01-05 2622.89
5 2023-01-06 3596.50
6 2023-01-07 3769.77
7 2023-01-08 3572.30
8 2023-01-09 2381.50
9 2023-01-10 2900.00
hourly_x:

Код: Выделить всё

date hour sales proportion
0 2023-01-01 6 0.00 0.000000
1 2023-01-01 7 0.00 0.000000
2 2023-01-01 8 63.20 0.016458
3 2023-01-01 9 68.45 0.017825
4 2023-01-01 10 150.05 0.039075
combined_hourly:
дата час распродажа promo_available
0 01.01.2023 6 0,00 1
1 01.01.2023 7 0,00 1
2 01.01.2023 8 63,20 1
3 01.01.2023 9 68,45 1
4 01.01.2023 10 150,05 1
... ... ... . .. ...
7220 29 февраля 2024 г. 18 373,00 1
7221 29 февраля 2024 г. 19 445,00 1
7222 29 февраля 2024 г. 20 431,80 1
7223 2024 г. -02-29 21 458,20 1
7224 2024-02-29 22 373,80 1
7225 строк × 4 столбца
Код:

Код: Выделить всё

from hierarchicalforecast.core import HierarchicalReconciliation
from hierarchicalforecast.methods import BottomUp, TopDown, MiddleOut
from statsforecast.core import StatsForecast
from statsforecast.models import AutoARIMA, Naive
# retain rows where date column is from 2023-01-01 to 2024-02-29
combined = combined[(combined['date'] >= '2023-01-01') & (combined['date'] 

Подробнее здесь: [url]https://stackoverflow.com/questions/78637126/how-best-to-redistribute-predicted-daily-sales-to-the-hourly-level[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»