为通过网站的旅程构建路径概率树


10

我目前正在网站上进行分析,这要求我创建一个决策树图,以显示人们到达网站时可能采取的路线。我正在处理一个data.frame从首页开始显示所有客户到站点的路径的。例如,客户可以采用以下路径:

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

因此该客户将进行3页的旅程。我想在R中尝试做的是结合所有客户路径,从而按照站点上的某个路径为客户分配概率。例如,如果我检查所有路径,我会发现34%的到达首页的人进入了“厨房用品页面”。R有这个设施吗?

我已经通过rpartpartykit软件包查找了不同的方法,但是它们似乎没有任何帮助。

任何朝着正确方向前进的方向都非常感谢!


1
我对这方面了解不多,但是igraph包裹似乎很全面。
richiemorrisroe

3
是的,igraph是实现可视化的方法。您必须事先自己计算转换概率。总的来说,我建议您看一下Markov Chains
steffen

1
您可以发布一些样本数据吗?这将有助于我们更好地了解情况。
curious_cat 2013年

Answers:


1

这不是一种开始的方法,而是拥有一个 ×矩阵(例如),其中是页数。然后,每当您有用户从页面跳到页面时,就根据原始数据增量矩阵元素加1 。这样就可以获取转换概率。M n × n n M r c r cñ×ñ中号ñ×ññ中号[RC[RC

您的第一个问题已由以下答案回答:“首页(例如第1页)的用户旁边有多少(例如,厨房用品)(例如第2页)旅行?”

中号12C中号1个C

还是太简单了?


1
不,这是正确的。从这里开始-是否有一种方法可以将这些动态地绘制到R中的树中?如果没有,是否可以使用其他工具?
尼灵顿

@nellington:您想算什么树?
curious_cat 2013年

1
最好是一个概率树,以根节点为主页(但如果我可以将根节点更改为站点上的另一个页面-这将是一个很大的功能),则根节点的每个分支都将代表访问后的下一页根节点。理想情况下,每个分支都应附加%的概率。从我应该能够在每个子节点上扩展和收缩的角度来看,这将是动态的。您是否知道任何可以处理此问题的可视化软件?
尼灵顿

@nellington:为了纯粹地可视化,您可以尝试graphviz。那棵树将是一个有向图,并且有很多面向graphviz的工具来处理它。
curious_cat 2013年

0

您似乎正在尝试重新创建Google的PageRank算法。大多数PageRank算法是使用Markov Chains开发的。您会发现在R中开发PageRank方法的很多提及。

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


1
据我所知,这与pagerank无关。恕我直言,唯一的重叠是用户路径很可能与网站设计(链接)相关,仅此而已。另外,提供的链接不起作用。
steffen

1
我想我找到了链接,因为它似乎在大量使用igraph,因此有时可能在igraph的网页上。stat.berkeley.edu/users/vigre/undergrad/reports/...
geneorama

哦,我知道了... page.rank是igraph中的一个函数。一些文档:link1 link2 link3
–geneorama

在简要浏览了第一份报告之后,我实际上认为这是一个很好的答案,我投票赞成(尽管它可能需要一些阐述!)。页面排名功能似乎是答案。
2013年

0

从我这里看到的观点来看,我同意igraphs / Markov Chains可能是要走的路,但是您绝对可以使用rpart和/或partykit。

对于您的有限示例,我很难给出一个简单的答案,但是我可以大体上解释您将如何做。

您想要查看所有用户的去向,并将其汇总为一个字符串,例如

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

然后,您可以将用户划分为不同的类别,例如最终进入“立即购买”页面的用户和没有的用户。然后,您可以简单地开始对该最终结果进行预测。在这个例子中,也许您会发现比较商店最多的人买了/没买东西。

您还可以设置更多变量,例如“ buynow页面之前的页面是什么”,“在购买商品之前他们访问了多少页面”或“他们何时创建了第一个帐户”,然后可以将这些指标添加到分析中。

您可以采用许多不同的方式,这开始回答不同的问题,但是我的观点是,您可以使用这些树,对于某些问题,这可能是一种更快,更简单的洞察途径。

顺便说一句,如果要使用party,则需要使用factor或来使非数字变量成为因子as.factor。Party有一些不错的小插曲,可以帮助您入门。


1
老实说,我想优化首页,因此预测人们从首页到页面2,然后从页面2到第三页的位置是我想要的数据中最重要的部分。终端页面没有太大的意义。我在旅途中有页面网址和页面编号,因此过渡概率似乎是一种实现方式。尽管如此,它似乎有点手动,我虽然R也许能够提供一个更迭代的解决方案……
nellington

重新阅读您的问题和最后评论后,我认为您只是想从首页中获得人们所做的表格。(开始)
祖母传

人们在首页和首页之后的页面中做什么是最重要的,但是最困难的是能够将r中的所有用户数据连接起来并分配概率。也许Excel是要走的路?我沿着igraph的顶点/边缘路线走,但似乎造成的伤害大于帮助。
nellington

我在个人资料中添加了一些联系信息。也许我们可以离线聊天?
geneorama

这将是非常有帮助的感谢-邮寄
nellington
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.