Лучший подход: переносить ежедневные значения из одного года в другой - PullRequest
3 голосов
/ 25 августа 2010

Я постараюсь объяснить, чего я хочу достичь.Я ищу алгоритм или подход, а не фактическую реализацию в моей конкретной системе.

У меня есть таблица с фактическими данными (входящие запросы клиентов) на ежедневной основе.Эти фактические данные необходимо «скопировать» в следующем году, где они будут использоваться в качестве основы для планирования количества запросов в будущем.Наименьший временной интервал для планирования на технической основе - это «период», который состоит как минимум из одного дня.Период всегда меняется через неделю или через месяц.Это означает, что если неделя - и в мае, и в июне, она будет разделена на два периода.

Вот пример:

2010-05-24 -2010-05-30 Неделя 21 |Period_Id 123
2010-05-31 - 2010-05-31 Неделя 22 |Period_Id 124
2010-06-01 - 2010-06-06 Неделя 22 |Period_Id 125

Мы сделали это, чтобы уменьшить объем данных, потому что у нас есть несколько тысяч элементов, которые имеют 356 ежедневных значений.Для планирования это сокращается до «нескольких тысяч х 65» (или любого количества периодов за год).Я могу объединять месяц или неделю, комбинируя все периоды, которые принадлежат одному месяцу.Важно то, что я все еще могу использовать дневные значения, затем найти соответствующий период и добавить его там, если необходимо.

Мне нужен подход к агрегированию фактических данных для каждого (работающий) день, неделя или месяц в следующем году.Мои требования здесь не зафиксированы.Факты имеют определенное распределение, потому что существуют определенные сроки и привычки, которые отражаются в данных.Я бы хотел сохранить это насколько возможно, но планирование никогда не бывает абсолютно точным, поэтому я могу пойти на компромисс здесь.

Ответы [ 3 ]

2 голосов
/ 25 августа 2010

Не знаю, ищите ли вы это, но это стратегия для расчета прогнозов с использованием гибких периодов:

Сначала определите сопоставление для каждого дня следующего года и соответствующего дня в этом году. Затем, когда вам нужен прогноз на период x, вы берете все дни в этом периоде и суммируете фактические данные за соответствующие дни.

При этом вы можете пересчитывать каждую неделю / месяц, но создавать новые прогнозы, если содержание периодов изменяется.

1 голос
/ 26 августа 2010
  1. Карта недель в недели.Первая полная неделя этого года до первой полной недели следующего.Не беспокойтесь о «периодах» и агрегации;они не имеют значения.
  2. Если пропущенный праздничный день оставляет дыру в данных, просто возьмите значения для того же дня предыдущей недели или следующей недели и сделайте то же самое в начале / конце года.
  3. Теперь для каждого дня недели объедините результаты за год и найдите события, превышающие, скажем, два стандартных отклонения от среднего (если вы не знаете, что это значит, пропустите этот шаг) и посмотритедля корреляции с известными событиями, такими как праздники.Если праздник не показывает эффекта в этом тесте, игнорируйте его.Если вы найдете эффект, сдвиньте его, чтобы компенсировать другую дату в следующем году.Не беспокойтесь об эффектах высшего порядка, у вас недостаточно данных, чтобы их зафиксировать.
  4. Теперь нарисуйте периоды, где вам нравится, и соберите все, что вы хотите.

Не дайте никаких обещаний относительно точности этих предсказаний, нет способа узнать это.Не беспокойтесь о том, является ли это наилучшим возможным способом;это не так, но это так же хорошо, как все, что вы можете найти.Вы можете потратить гораздо больше времени и усилий на то, чтобы отрегулировать это;это может повысить ожидания, но вряд ли сделает результаты намного более точными - примерно так же вероятно, что они ухудшат их.

0 голосов
/ 25 августа 2010

Нет никакого априорного способа ответить на этот вопрос.Вы должны посмотреть на свои данные и решить, какие важные параметры (день недели, номер недели, месяц, сезон, температура на улице?), Используя результаты.

Например, если многие из вашихклиенты - евреи / мусульмане, затем григорианский календарь и номера недель ISO, и все, что вам не очень поможет, потому что еврейские / мусульманские праздники (и поведение пользователей) определяются с помощью других календарей.

Другойпример - Попытка предсказать объем поиска iPhone в соответствии с прошлогодним поиском не является хорошей идеей.Кажется, что важные временные рамки намного больше, чем год (технология становится господствующей с годами) и намного короче, чем год (конкретные события, которые влияют на нас в течение дней-недель).

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