我正在为Web应用程序编写负载测试。我有几个月的访问日志,可以告诉我各种URL的相对命中率。但是,访问日志没有足够的信息来告诉我用户可能单击下一步的位置。换句话说,访问日志无法帮助我推断出,鉴于用户当前位于页面A上,他们是否更有可能转到页面B或页面C。

我知道哪些页面转换是可能,即您可以直接从A页导航到B页,而不能从A页导航到D页。我可以使用该信息来构造图形。如果我在某些约束下加权图的边缘(例如,节点中所有边缘的权重之和必须等于1),那么我将拥有马尔可夫链。我想使用马尔可夫链对用户行为的可变性进行建模,但是如何分配权重并不明显。

如果我知道我想要实现的相对点击率,马尔可夫链的结构而不是其权重,可以使用哪些技术来分配权重?

评论

该问题称为网站链接预测。结合“马尔可夫链”方法,Google学术搜索给出了一些响应:people.kmi.open.ac.uk/jianhan/p169-zhu.pdf。但是,它可能不是获得答案的最短方法。

#1 楼

实际上,这是一个非常有趣的问题:)

您可以尝试使用Markov Chain Monte Carlo方法。我自己还没有使用过这些类型的模型,但是您的想法是,从一个给定的长期分布开始,然后使用蒙特卡洛建模来开发实际的马尔可夫链。我知道这是一种用于仿真计算的非常好用的技术。如果您对蒙特卡洛方法不太了解,请不要担心,基本思想非常简单(而且功能强大)。

您还可以尝试使用PageRank算法。想法是构造您的页面链接,并首先基于链接结构分配相等的权重(即用户同样有可能访问当前页面中的任何可能的链接页面),然后分配用户访问任何页面的机会很小均匀地随机(它们以某种方式“冲浪”到随机地均匀地随机页面)。这可以帮助开发具有系统某些实际方面的Markov链,例如,具有更多链接的页面被更频繁地访问,但是有可能在某个时候访问每个页面。使用PageRank算法生成的模型的好处在于,它们可以很好地进行计算和分析的分析。 (编辑:由于您已经确定了命中率,所以我猜想这种方法可能不完全是您想要的方法。但是,如果您想为命中率生成现实的“常规”数据,这可能会有所帮助。) />
希望有帮助。

评论


谢谢。我昨天开始阅读有关吉布斯采样器的信息。我还不知道如何将“马尔可夫链蒙特卡罗”方法映射到我的问题,但是我希望它会随着时间的推移变得更加清晰。

–user246
2012年4月26日15:57

我希望这会顺利。我一直很想听听有关马尔可夫链的应用。

– joshin4colours
2012-4-26 17:23