Построить дерево вероятностей пути для поездок через веб-сайт

10

В настоящее время я делаю анализ на веб-сайте, который требует, чтобы я создал схему дерева решений, показывающую вероятный маршрут, по которому люди идут, когда они приходят на веб-сайт. Я имею дело с a, data.frameкоторый показывает пути всех клиентов к сайту, начиная с домашней страницы. Например, клиент может выбрать следующий путь:

Homepage - pg 1
Kitchen Items page - pg 2
Pots and Pans page - pg 3

так что у этого клиента будет путешествие на 3 страницы. В R я хочу попытаться объединить все пути клиентов и таким образом назначить клиенту вероятность перехода по определенному пути на сайте. Например, если бы я исследовал все пути, я бы обнаружил, что 34% людей, которые приходят на домашнюю страницу, переходят на страницу «Кухонные предметы». Есть ли у R это средство?

Я искал различные методы в пакетах rpart и partykit, но они, похоже, не помогли.

Любое направление в этом направлении очень ценится!

nellington
источник
1
я не знаю много об этой области, но igraphпакет, кажется, довольно всесторонний.
richiemorrisroe
3
да, igraph это путь для визуализации. Вы должны самостоятельно рассчитать вероятности перехода. В общем, я рекомендовал взглянуть на Цепи Маркова
Штеффен
1
Можете ли вы опубликовать пример данных? Это поможет нам лучше понять ситуацию.
curious_cat

Ответы:

1

Не один способ начать, это иметь матрицу (скажем, M n × n ), где n - количество страниц. Затем на основе вашего матричного элемента приращения необработанных данных M r c на единицу при каждом переходе пользователя со страницы r на страницу c . Это дает вам вероятности перехода.N×NMN×NNMрсрс

На ваш первый вопрос уже получен ответ: «Какой процент пользователей на домашней странице (скажем, на странице 1) путешествует рядом, скажем, с кухонными принадлежностями (скажем, на странице 2)?»

M12ΣсM1с

Или это слишком упрощенно?

curious_cat
источник
1
Нет, это правильно. Отсюда же - есть ли способ динамически отобразить каждое из этого в дерево в R? Если нет, есть ли другой инструмент, который я мог бы использовать?
Неллингтон
@nellington: Какое дерево ты имеешь в виду?
curious_cat
1
Предпочтительно дерево вероятностей, с корневым узлом, являющимся домашней страницей (но если я могу сменить корневой узел на другую страницу на сайте - это было бы отличной функцией), каждая ветвь от корневого узла будет представлять следующую страницу, посещенную после корневой узел. В идеале, каждая ветвь должна иметь% вероятности. Это было бы динамично в том смысле, что я должен иметь возможность расширяться и сжиматься на каждом подузле. Знаете ли вы какое-либо программное обеспечение для визуализации, которое может справиться с этим?
Неллингтон
@nellington: для визуализации чисто, вы можете попробовать Graphviz. Это дерево будет ориентированным графом, и для этого есть множество инструментов, ориентированных на графы.
curious_cat
0

Похоже, вы пытаетесь воссоздать алгоритм PageRank Google. Большая часть алгоритма PageRank была разработана с использованием цепей Маркова. Вы можете найти много упоминаний о разработке методов PageRank в R.

igraph.sourceforge.net/doc/R/page.rank.htm

IEORTools
источник
1
Насколько я понимаю, это не про PageRank. ИМХО, единственное совпадение заключается в том, что пути пользователей, скорее всего, будут коррелировать с дизайном сайта (ссылками), но это все. Кроме того, предоставленная ссылка не работает.
Штеффен
1
Я думаю, что нашел ссылку, вероятно, она была на веб-странице igraph в какой-то момент, потому что она, похоже, активно использует igraph. stat.berkeley.edu/users/vigre/undergrad/reports/…
geneorama
О, я вижу ... и page.rank - это функция в igraph. Некоторая документация: ссылка1 ссылка2 ссылка3
geneorama
После краткого просмотра первого отчета, я на самом деле думаю, что это довольно хороший ответ, и я проголосовал за него (хотя он мог бы использовать некоторые разработки!). Функциональность рейтинга страницы, кажется, ответ.
Geneorama
0

Исходя из того, что я вижу здесь, я согласен с тем, что igraphs / Markov Chains - это, вероятно, путь, однако вы определенно можете использовать rpart и / или partykit.

Мне сложно дать простой ответ с вашим ограниченным примером, но я могу объяснить, как в целом вы это сделаете.

Вы хотите посмотреть, где были все ваши пользователи, и суммировать это, например, в строку

"Home / product4 / product3 / product4 / buynow"
"Home / product3 / buynow"
"Home / product3 / product4"

Затем вы можете сегментировать пользователей по категориям, например, тех, кто попал на страницу «купить сейчас», и тех, кто этого не сделал. Тогда вы можете просто начать прогнозировать этот конечный результат. В этом примере, возможно, вы обнаружите, что люди, которые больше всего покупали в магазинах сравнения, что-то покупали / не покупали.

Вы также можете сделать больше переменных, таких как «какая страница была перед страницей buynow», «сколько страниц они посетили перед покупкой чего-либо» или «когда они создали свою первую учетную запись», и вы можете добавить эти показатели в свой анализ.

Есть много разных способов, которыми вы могли бы пойти, и это начинает отвечать на разные вопросы, но я хочу сказать, что вы могли бы использовать деревья, и для некоторых проблем это может быть более быстрый и простой путь к пониманию.

Кстати, вам нужно было бы сделать факторы нечисловых переменных с помощью factorили as.factor, если вы собираетесь использовать party. На вечеринке есть несколько хороших виньеток, чтобы вы начали.

geneorama
источник
1
Честно говоря, я хочу оптимизировать домашнюю страницу, поэтому прогнозирование того, куда люди перейдут с домашней страницы на страницу 2, а затем со страницы 2 на третью страницу, является наиболее важным разделом данных, который мне нужен. Страница терминала не представляет большого интереса. У меня есть URL-адреса страниц и номера страниц в пути, поэтому вероятности перехода кажутся одним из способов сделать это. Несмотря на это, это кажется немного ручным, и я, хотя R мог бы предоставить более итеративное решение ...
Неллингтон
После перечитывания вашего вопроса и последнего комментария, я думаю, что вы просто хотите таблицу того, что люди делают на главной странице. (для начала)
Geneorama
То, что люди делают с домашней страницы и страницы после домашней страницы, является наиболее важным, но возможность объединить все данные пользователей в r и назначить вероятности - вот, где сложнее всего. Может быть, Excel - это путь? Я иду по маршруту вершин / ребер в igraph, но, похоже, это приносит больше вреда, чем помощи.
Неллингтон
Я добавил контактную информацию в свой профиль. Может быть, мы могли бы поговорить в автономном режиме?
Geneorama
это было бы очень полезно, спасибо - письмо отправлено
nellington