【问题标题】:how to represent multichannel event sequences如何表示多通道事件序列
【发布时间】:2016-08-30 03:11:22
【问题描述】:

我正在尝试使用 TraMineR,但我愿意接受反馈/参考/链接,以获取有关如何表示多通道或分层事件序列和处理它的算法的更多信息。

我有一个复杂的事件结构,我试图弄清楚如何将其表示为一个序列。有不同类型的事件。每个事件类型可能有一组不同的字段(以及不同数量的字段)。例如,年龄可能是一种事件类型中的字段,而身高可能是另一种事件类型中的字段。我的第一直觉(我相信一种常见的方法)是“压平”一切,例如事件的每个可能的值组合构成唯一的事件类型。但是,这可能会错过通用事件类型中的模式。

例如,假设我是一名狗饲养员,喝了很多咖啡,我想看看我的咖啡/狗购买习惯是否存在模式(是的,愚蠢的例子)。我可能有这样的事件:

- Bought dog
- Breed: hound
- Sex: female

- Bought coffee
- Store: Starbucks
- Roast: dark

- Bought dog
- Breed: hound
- Sex: female

- Bought coffee 
- Store: Starbucks
- Roast: light

- Bought dog
- Breed: Doberman pincher
- Sex: male

为了扁平化数据,我可以说商店和烘焙的每一次独特组合都是一次独特的咖啡购买事件。此外,品种和性别的每一个独特组合都是一次独特的买狗活动。这种方法会将上面的示例变成 5 种不同的事件类型(而不是 2 种带有字段的事件类型)。这种表示可以检测到以下模式:如果我喝了 2 杯星巴克的深色烘焙咖啡,那么我更有可能被一只雄性杜宾犬喝。

但是,这种表示可能会遗漏不依赖于事件中的字段值的更一般的模式。例如,我通常在喝了两杯咖啡后就买了一只狗。

我希望能够检测两个“级别”的模式,但不确定如何表示事件来做到这一点。当然,一种方法是使用两种表示,然后将两者的结果结合起来。

所以,问题是: 1. 任何与此相关的论文的链接/引文? 2. 这是一个普遍的问题吗? 3. 有关如何表示这些事件的任何建议? 4. 关于如何在 TraMineR 中使用它们的任何建议 5. 对处理这类事情的算法有任何建议/链接/参考吗? 6. 有什么想法吗?

谢谢!!!

【问题讨论】:

  • 以前有人处理过这个问题吗?这是完全独一无二的吗?我觉得这很难相信,但我什么也没得到。

标签: sequence sequences traminer complex-event-processing


【解决方案1】:

这实际上与此处提出的问题相似(尽管他们不知道引用“多渠道”并且标题含糊):Multiple events in traminer

TraMineR 支持处理具有以下功能的多通道序列: seqdistmc

我认为,一般方法是完全按照我概述的“扁平化”解决方案进行操作。在这种情况下,您将每个通道的值组合成一种事件类型。例如在我的示例中,dog.hound.female 将是一个具有一个通道/字段的事件,以替换我示例中具有 3 个单独字段/通道的第一个事件。然后,您可以使用典型函数来查找距离、子序列等。您确实可以选择设置替代成本和查找距离,因此它有一些额外的选项来执行这种多通道方法。如果您的通道长度不同或有间隙,它还会处理缺失值。

这也类似于上面链接主题的答案中的建议,使用原生 R 函数interaction

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    相关资源
    最近更新 更多