Как сделать многомерное машинное обучение? (прогнозирование нескольких зависимых переменных)


9

Я пытаюсь предсказать группы предметов, которые кто-то купит ... то есть у меня есть несколько коллинеарных зависимых переменных.

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

Я использую R в качестве языка программирования, поэтому любые советы по R приветствуются.

Ответы:


7

Исходя из вашего описания, представляется целесообразным многочленная логистическая регрессия. Предполагая, что ваш результат является фактором с 7 уровнями (один из 7 вариантов покупки), вы можете быстро предсказать членство, используя модель многочленной логистической регрессии (см. ?multinomВ nnetпакете в R). Если ваш результат не может быть объединен в фактор с 7 уровнями, то потребуется кластерный анализ, чтобы сгруппировать элементы вместе, прежде чем подгонять полиномиальную логистическую регрессию.


Это не полиномиальная регрессия. У меня есть 7 различных продуктов, каждый продукт имеет до 4 факторов .... есть клубника, и виды клубники, а затем молоко и различные виды молока, а также яблоки и различные типы яблок, и мне нужно предсказать правильный корзина для покупок ... зеленые яблоки с клубникой, с 2% молока и т. д.,
blast00

1
У меня есть ваше решение! Я бы порекомендовал анализ политомного скрытого класса, в котором результатом является набор факторов, которые предполагается сгруппировать в один или несколько скрытых классов. Членство в этих классах прогнозируется на основе полиномиальной логистической регрессии. Смотрите ?poLCAв R для получения дополнительной информации о подгонке этой модели.
statsRus

Я читаю это - спасибо statsRus. Должны быть и другие способы.
blast00

В частности, методы машинного обучения, поскольку мне не нужно
согласовывать

Имейте в виду, что многие статистические модели на самом деле являются моделями машинного обучения без присмотра, но вы правы, мы обычно заботимся о входных данных этих моделей. Для контролируемого машинного обучения со многими входами и результатами (и качеством черного ящика) я бы предложил нейронные сети ( ?nnetв R).
statsRus

5

Вы можете построить случайный лес, в котором каждый из ваших классов представляет собой группу предметов (например, «зеленые яблоки с земляникой, выращенной на 2% молока»). Затем, основываясь на характеристиках покупателя или каких-либо ваших предикторов, вы можете предоставить прогнозируемую вероятность покупки для каждой группы товаров. Я бы использовал пакет randomForest от R ( https://cran.r-project.org/web/packages/randomForest/index.html ) для этого.


3

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

Обратите внимание, что включение только общих комбинаций означает, что у вас будет больше выполнимых номеров каждого, но вы будете исключать другие, по крайней мере, из этой процедуры. Я мог бы представить 7 предметов, создающих десятки комбо, каждое из которых было выбрано как минимум несколькими людьми. Возможно, это слишком много категорий для вашего размера выборки. Более того, если комбо выберут всего несколько человек, ваша модель будет иметь очень мало информации для работы.

Другой вариант - использовать кластерный анализ, чтобы получить несколько наборов товаров, которые обычно покупаются вместе. С 7 предметами вы, вероятно, получите менее 4 кластеров, которые могут упростить вашу задачу. Если вы попробуете кластерный анализ и обнаружите, что результаты неработоспособны, то нет причин, по которым вы должны их использовать: просто вернитесь к частотному подходу, описанному выше. В этом случае, если я вас правильно прочитал, вы ищете наиболее описательный и интересный массив категорий, и при установлении этого вам не нужно беспокоиться о степенях свободы, множественных сравнениях или любых подобных проблемах, которые могут иметь место. если вы пытались несколько методов при выполнении какого-то логического теста.


Спасибо за это предложение. Должны быть многовариантные методы машинного обучения. Похоже на то, как у вас могут быть 2 зависимые переменные в «более простой» регрессионной модели ... и вы просто делаете lm (y + z ~ ...) .. Я думаю ..
blast00

0

Я предполагаю, что вы хотите проанализировать ситуацию, подобную следующей;

Yi = f (X), где f () - нелинейная связь, а X - вектор ковариат, а Yi - i-я зависимая переменная, которая имеет порядковый характер (если она категориальна, Yi не может иметь более двух категории), и, скажем, в вашей модели i = 1, 2, ... 5 и каждый из Yi коррелирует ... Если это так, вы, безусловно, можете использовать многомерный пробит. R, Mplus и SAS могут оценить MVP

Напротив, у вас есть Y = f (X), а Y (обратите внимание, что есть только один Y) является категоричным и, например, имеет N категорий, так что выбор, сделанный над N категориями, является исключительным и исчерпывающим; вам нужно подходить к модели Multinomial Logit. Существует также то, что называется полиномиальным пробитом, от simialr до многочленного логита.

Надеюсь это поможет. Спасибо Санджой

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.