Representation Learning for Predicting Customer Orders
Введение
Прогнозирование будущих заказов клиентов имеет важное справочное значение для розничных продавцов при принятии многих ключевых операционных решений.Прогнозировать распределение будущих заказов, то есть возможные подмножества товаров и их частоты (вероятности), которые являются важными данными для принятия таких решений, как выбор классификации передовых складов и оценка пропускной способности центров доставки.
Изучение информации о распределении заказов сильно отличается от прогнозирования следующей корзины, прогнозирования временного набора и анализа частых наборов, где цель состоит в том, чтобы описать агрегацию рынка в определенный период Полная картина поведения, в то время как прогнозирование следующей корзины и прогнозирование набора времени ориентация на поведение конкретного покупателя при следующей покупке, независимо от времени покупки, кроме того, частый майнинг сетов дает только высокочастотные сеты, но не дает точной вероятности майнинга сетов информации, что не может удовлетворить потребности бизнес-приложений .
Из-за резкого увеличения количества комбинаций возможных типов ордеров изучение распределения ордеров на основе данных сопряжено с рядом серьезных проблем, в том числе:
- Данные порядка, используемые для изучения распределения, обычноредкий, где количество наблюдаемых ордеров намного меньше, чем количество возможных типов ордеров, а многие возможные типы ордеров не отображаются в наборе данных или появляются только один раз.
- Полученное распределение порядка должно отражатьКорреляция, потому что категория продукта, к которой относится заказ, часто не является независимой.
- Чтобы использовать распределение заказов в вышеупомянутых последующих приложениях, часто необходимо генерировать множествослучайный порядок. Следовательно, также необходимо разработать эффективные методы выборки случайных порядков в соответствии с изученным распределением порядков.
Прогноз будущих заказов
Прежде чем внедрять прогностическую модель, сначала изучите распределение порядка в известном наборе данных.pКак спрогнозировать будущие заказы, исходя из предпосылки
символ
использоватьV={1,2,..,n}Представляет собой набор товарных категорий,SУказывает тип заказа, которыйVПодмножество всех возможных типов ордеров с количествомN=2n.
Предполагая, что распределение заказов постоянно в течение определенного периода времени (это предпосылка возможности прогнозировать будущие заказы с помощью исторических заказов), предположимp={p1,...,pN}распределение порядка, полученное из исторических данных,piУказывает, что случайный порядок принадлежитiвероятности в типах ордеров, используяpg={p1g,...,pNg}Представляет истинное распределение последних заказов.
использоватьKПредставляет количество заказов в будущем периоде времени, предполагая, чтоKдано (поскольку предсказаниеKГораздо проще, чем предсказывать конкретный порядок). использовать N-мерный целочисленный векторCg=(c1g,...,cNg)представлять наземные истинные будущие заказы,c1gозначает первыйiКоличество заказов основных правд для заказов классов.Cp=(c1p,...,cNp), представляет изученный порядок, очевидно∣∣Cp∣∣1=K,CpПостроение обычно основано на изученном распределении порядкаp.
Метрики оценки
Цель состоит в том, чтобы делать прогнозы.Cpкак можно ближеCg, поэтому необходимо измерить разницу между ними.overlap(что можно понимать как сходство) можно рассчитать как:
Overlap(Cp,Cg)=i=1∑NKmin(cip,cig)
так как∣∣Cp∣∣1=∣∣Cg∣∣1=K, приведенную выше формулу можно упростить следующим образом:
Overlap(Cp,Cg)=1−2K∣∣Cp−Cg∣∣1
видимая минимизация∣∣Cp−Cg∣∣1эквивалентно максимизацииOverlap(Cp,Cg).
Алгоритм максимизации перекрытия
Определить вероятностьPr(Cg=C1;K,pg),вCg=C1=(c11,...,cN1),∣∣C1∣∣=K, который распределяется в соответствии с порядком истинности основанияpgЗаказ генерируется случайным образом, поэтому вы получаете:
Pr(Cg=C1;K,pg)=c11!,...,cN1!K!i=1∏N(pig)ci1
первоеiПредельная вероятность количества наземных истинных ордеров в каждом типе ордеров равна:
Pr(cig=Cci1;K,pg)=Kci1(pig)ci1(1−pig)K−ci1
знать,cigПовторное биномиальное распределениеB(K,pig). Прогноз для определенного заказаCp,имеют:

здесьE[∣cig−cip∣;K,pg]определяется в соответствии сpgгенерироватьcigВремя∣cig−cip∣ожидаемое значение. когдаcipзаcigкогда среднее геометрическоеKpigокругление),E[∣cig−cip∣;K,pg]достигает своего минимального значения.
Observation 1: когда установленоCp≈Kpgчас,cipзначениеKpigпоймали и∣∣Cp∣∣1=K,E[∣cig−cip∣;K,pg]близко к своему минимальному значению, его геометрический смыслCgиCpмеждуl1- Ожидание расстояния.
пройти черезObservation 1Ранее упомянутая максимизация может быть легко найденаOverlap(Cp,Cg)На самом деле, это установитьCp≈Kpg. На практике, однако, распределение истинного порядка не может быть известно.pg, из последних исторических данных можно узнать только одно распределение ордеровp, затем используйтеpстроитьCp, и надеюсьpиpgкак можно ближе,pТакже известен как прокси-распределение ордеров.
Алгоритм 1 показывает использование прокси-распределения ордеровpстроитьCpпроцесс.

модель генеративного отбора
В этом разделе предлагается генеративная модель выбора, которая может эффективно генерировать случайные заказы. Модель встраивает категории элементов в евклидово пространство и строит граф категорий элементов на основе вложения. На графе категорий элементов выполняется случайное блуждание для создания случайных порядков. Заказ.
Встраивание категорий продуктов и карта категорий продуктов
Набор заданных категорий товаровV={1,2,...,n}и несколько коллекций исторических заказовS={S1,S2,...,Sr},SiзаVПодмножество. Категорияiпредставлен какd- размерный векторxiеRd, называетсяВстраивание элемента.
Для построения графа категорий вводятся две воображаемые вершины, исходный узел0и стоковые узлыn+1и встроенныйx0вершины0. Граф категорий является ориентированным графомG=<V∪{0,n+1},E>,Eсодержит от0прибытьV,отVприбытьV(кроме петель), изVприбытьn+1со всех сторон иn+1на петле, аn=4Диаграмма категорий показана на рисунке 2 (а):

Случайное блуждание для генерации случайных порядков
Моделирование генеративного процесса выбора клиентов как процесса случайного блуждания на основе графа категорий: из исходных узлов0Сначала клиенты могут перемещаться только по ребрам за пределами текущей вершины и в конечном итоге попадут в ловушку в узле стока.n+1В (см. последний цикл на рис. 2) заказ клиента, полученный таким образом, представляет собой набор продуктов, которые он посещает.
После формализации случайное блуждание можно рассматривать как марковский процесс.{Xi,i=0,1,..∣X0=0}, набор посещенных категорийS={Xi∣i=0,1,...}−{0,n+1}. Кроме того, требуется матрица переходных вероятностейP, в матрицеPijозначает отiперейти кjвероятность, текстPijустанавливается следующим образом:

yiУказывает, что клиент покупает категориюiПрекратить ли покупать после, определите набор параметровX={x0,...,xn,y1,...,yn}. использоватьxiTxjдля измерения категорииi,jкорреляция, используяsoftmaxфункция стандартизации категорий на карте категорийiвзаимосвязь с другими узлами. Заказы, случайно сгенерированные этой моделью, определяются какS,использоватьPr{S=s∣X}представлять категорию заказаs⊆Vв случайном порядкеSВероятность.
тренировочный процесс
В этом разделе, чтобы изучить представления вершин, мы сначала сформулируем процесс обучения как задачу оценки максимального правдоподобия. Точный расчет стохастического градиента показан в Алгоритме 2:

Набор данных и исходный код
Ссылка на набор данных
Исходная ссылка