假设您有 Web 服务器的日志。在这些日志中,您有这种类型的元组:
user1, timestamp1
user1, timestamp2
user1, timestamp3
user2, timestamp4
user1, timestamp5
...
这些时间戳代表例如用户的点击。现在,user1
将在一个月内多次访问该网站(会话),并且您将在每个会话期间获得来自每个用户的大量点击(假设当用户访问您的网站时,他会点击多个页面)。
假设您想在生成它们的会话中划分这些点击突发,但您没有任何额外的信息来源,只有时间戳列表。如果您计算来自同一用户的两次后续点击之间的间隔分布,您将获得长尾分布。直观地说,你会寻找一个“切割参数”,例如 N 秒,如果timestamp_{i+1} - timestamp{i} > N
,那么你timestamp_{i+1}
就是新会话的开始。
问题在于,这种分布实际上是两个变量的混合:X =“同一会话中两次后续点击之间的间隔”和 Y =“上一个会话的最后一次点击与新会话的第一次点击之间的间隔”。
问题是,如何估计这个 N,仅通过查看点击次数来划分两个分布(可能有一点重叠)?