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!


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)?"

M12∑cM1c

Ou isso é muito simplista?


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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.