Crie uma árvore de probabilidade de caminho para viagens através de um site

10

Atualmente, estou analisando um site que exige a criação de um diagrama em árvore de decisão que mostre a rota provável que as pessoas seguem sempre que chegam ao site. Estou lidando com um data.frameque mostra os caminhos de todos os clientes para o site, começando na página inicial. Por exemplo, um cliente pode seguir o seguinte caminho:

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

para que esse cliente tenha uma jornada de três páginas. O que quero tentar fazer no R é combinar todos os caminhos dos clientes e, assim, atribuir uma probabilidade a um cliente seguindo um determinado caminho no site. Por exemplo, se eu examinasse todos os caminhos, poderia descobrir que 34% das pessoas que chegam à página inicial vão para a "página de itens de cozinha". R tem esse recurso?

Procurei métodos diferentes nos pacotes rpart e partykit , mas eles não pareciam ser de nenhuma ajuda.

Qualquer direção na direção certa é muito apreciada!

Nellington
fonte
11
Eu não sei muito sobre essa área, mas o igraphpacote parece ser bastante abrangente.
richiemorrisroe
3
Sim, igraph é o caminho a seguir para a visualização. Você deve calcular as probabilidades de transição com antecedência por conta própria. Em geral, eu recomendo dar uma olhada no Markov Chains
steffen
11
Você pode postar alguns dados de amostra? Isso nos ajudaria a entender melhor a situação.
23133 curious_cat

Respostas:

1

n×nMn×nnMrcrc

Sua primeira pergunta já foi respondida por isso: "Qual a porcentagem de usuários na página inicial (por exemplo, página 1) viaja ao lado de, por exemplo, Itens de cozinha (por exemplo, página 2)?"

M12cM1c

Ou isso é muito simplista?

curious_cat
fonte
11
Não, isso está certo. A partir daqui, porém - existe uma maneira de representar graficamente cada um deles dinamicamente em uma árvore no R? Caso contrário, existe outra ferramenta que eu poderia usar?
Nellington
@nellington: Que tipo de árvore você tem em mente?
11133 curious_cat
11
De preferência, uma árvore de probabilidade, com o nó raiz sendo a página inicial (mas se eu puder alterar o nó raiz, para outra página no site - isso seria um ótimo recurso), cada ramificação do nó raiz representará a próxima página visitada depois o nó raiz. Idealmente, cada ramo teria uma% de probabilidade anexada. Seria dinâmico no sentido de que eu seria capaz de expandir e contratar em cada subnó. Você conhece algum software de visualização capaz de lidar com isso?
Nellington
@ nellington: Para visualizar puramente, você pode tentar o graphviz. Essa árvore será um gráfico direcionado e há muitas ferramentas orientadas a gráficos para lidar com isso.
Curious_cat
0

Parece que você está tentando recriar o algoritmo PageRank do Google. A maior parte do algoritmo PageRank foi desenvolvida usando cadeias de Markov. Você pode encontrar muitas menções sobre o desenvolvimento de métodos PageRank no R.

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

IEORTools
fonte
11
Tanto quanto vejo, não se trata de pagerank. IMHO, a única sobreposição é que os caminhos do usuário provavelmente se correlacionarão com o design do site (links), mas é isso. Além disso, o link fornecido não está funcionando.
Steffen
11
Acho que encontrei o link, provavelmente estava na página da igraph em algum momento porque parece usar o igraph pesadamente. stat.berkeley.edu/users/vigre/undergrad/reports/…
geneorama
Ah, entendo ... e page.rank é uma função no igraph. Alguma documentação: link1 link2 link3
geneorama
Depois de analisar brevemente o primeiro relatório, na verdade, acho que essa é uma resposta muito boa e a votei de forma positiva (embora possa ter sido usada alguma elaboração!). A funcionalidade de classificação da página parece ser a resposta.
geneorama
0

Pelo que vejo aqui, concordo que igraphs / Markov Chains é provavelmente o caminho a seguir, no entanto, você definitivamente pode usar o rpart e / ou o partykit.

É difícil para mim dar uma resposta simples com seu exemplo limitado, mas geralmente posso explicar como você faria isso.

Você quer ver onde todos os seus usuários estiveram e resumir isso em uma sequência, por exemplo

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

Você pode segmentar seus usuários em categorias, digamos aqueles que acabaram na página "compre agora" e outros que não. Então você pode simplesmente começar a prever esse resultado terminal. Neste exemplo, talvez você descubra que as pessoas que fizeram mais comparações compraram / não compraram algo.

Você também pode criar mais variáveis, como "qual era a página antes da página de compra" "quantas páginas eles visitaram antes de comprar algo" ou "quando eles criaram sua primeira conta" e você pode adicionar essas métricas à sua análise.

Você pode seguir várias maneiras diferentes, e isso começa a responder a perguntas diferentes, mas o que quero dizer é que você pode usar as árvores e, para alguns problemas, pode ser um caminho mais rápido e simples para obter informações.

A propósito, você precisaria criar fatores de variáveis ​​não numéricas usando factorou as.factor, se você for usar a parte. O Party tem algumas vinhetas legais para você começar.

geneorama
fonte
11
Para ser sincero, quero otimizar a página inicial, portanto, prever para onde as pessoas vão da página inicial para a página 2 e, em seguida, a página 2 para a terceira página é a seção de dados mais importante que eu gostaria. A página do terminal não é de muito interesse. Eu tenho URLs e números de páginas na jornada, portanto as probabilidades de transição parecem uma maneira de fazê-lo. Apesar disso, parece um manual pouco e eu que R pode ser capaz de fornecer uma solução mais iterativa ...
nellington
Depois de reler a sua pergunta e o último comentário, acho que você simplesmente deseja uma tabela do que as pessoas fazem na página inicial. (start)
geneorama
O que as pessoas fazem na página inicial e na página após a página inicial é mais importante, mas conseguir concatenar todos os dados dos usuários em re atribuir probabilidades é o mais complicado. Talvez o excel seja o caminho a seguir? Estou seguindo a rota dos vértices / arestas no igraph, mas parece estar causando mais danos do que ajuda.
Nellington
Adicionei algumas informações de contato ao meu perfil. Talvez pudéssemos conversar offline?
geneorama
isso seria muito útil obrigado - email enviado
nellington 13/13