什么是建模和比较旅程的简单系统?

时间:2014-01-27 17:16:12

标签: algorithm language-agnostic graph-theory

假设我想建立一个模拟城市访客行为的系统。

为了争论,这个城市有5个名胜古迹:A,B,C,D和E.所有人都有可能成为第一个参观的地方,而且所有地方都可以轻松到达。

我有兴趣得出类似以下内容的结论:

  • “访问C的用户通常会继续访问B.”
  • “访问A的用户几乎没有去过D。”
  • “访问B的用户同样可以访问C和E.”

我理解他们的问题如下:

  1. 我对图论并不了解。 (但我准备阅读它。)
  2. 我不确定存储此类数据的最佳方式。如果不是SQL DB,那是什么?
  3. 我将对最终的数据执行哪些操作?我可以使用像Ruby这样的通用语言吗?
  4. 感谢您提供任何指导。

1 个答案:

答案 0 :(得分:1)

存储类型显然取决于您拥有的数据类型。如果它就是您在此描述的内容,那么您可以将每个旅程表示为一个字符串:

ABCB
DCDE
...

这很适合数据库,但当然这样的列表可以使用任何方式存储,无论您最容易获得什么。您可能甚至不需要整个列表,累积版本可能就足够了,您只需将每个字符串存储一次,以及它的计数:

ABDC  177
DEA   2996
...

对于这样的表,数据库是合适的,但它仍然很简单,可以存储在普通文件中。

用于检查您不关心图论的数据,而是阅读统计数据和机器学习。您要分析的第一件事是各个地方的correlation。你可以使用简单的字符串操作,例如计算子字符串“AD”以了解人们从A到D的频率。并且关于语言:您想要计算和可视化相关性,所以也许你会选择那种东西不太难的东西。这可能是像Matlab或R这样的专业,或者像Python / Matplotlib / scikit-learn这样的更通用的东西。我不知道Ruby。