【问题标题】:Where in the sequence of a Probabilistic Suffix Tree does "e" occur?在概率后缀树的序列中,“e”出现在哪里?
【发布时间】:2017-06-12 15:47:57
【问题描述】:

在我的数据中,序列右侧只有缺失的数据 (*)。这意味着没有序列以* 开头,并且没有序列在* 之后有任何其他标记。尽管如此,PST(概率后缀树)似乎预测有 90% 的机会以 * 开头。这是我的代码:

# Load libraries
library(RCurl)
library(TraMineR)
library(PST)

# Get data
x <- getURL("https://gist.githubusercontent.com/aronlindberg/08228977353bf6dc2edb3ec121f54a29/raw/c2539d06771317c5f4c8d3a2052a73fc485a09c6/challenge_level.csv")
data <- read.csv(text = x)

# Load and transform data
data <- read.table("thread_level.csv", sep = ",", header = F, stringsAsFactors = F)

# Create sequence object
data.seq <- seqdef(data[2:nrow(data),2:ncol(data)], missing = NA, right= NA, nr = "*")

# Make a tree
S1 <- pstree(data.seq, ymin = 0.05, L = 6, lik = TRUE, with.missing = TRUE)

# Look at first state
cmine(S1, pmin = 0, state = "N3", l = 1)

这会生成:

[>] context: e 
            EX         FA         I1         I2          I3          N1              N2          N3        NR
S1 0.006821066 0.01107234 0.01218274 0.01208756 0.006821066 0.002569797     0.003299492 0.001554569 0.0161802
           QU          TR         *
S1 0.01126269 0.006440355 0.9097081

* 的概率如何在序列的最开头是0.9097081,意思是在上下文e 之后?

这是否意味着上下文可以出现在序列中的任何位置,e 表示序列中某处的任意起点?

【问题讨论】:

    标签: markov-chains pst traminer sequence-analysis


    【解决方案1】:

    PST 是可变长度马尔可夫模型 (VLMC) 的表示。作为经典马尔可夫模型,VLMC 被假定为同质(或平稳),这意味着在给定上下文的情况下,结果的条件概率在序列中的每个位置都是相同的。换句话说,上下文可以出现在序列中的任何位置。实际上,上下文的搜索是通过探索应该应用于序列中任何位置的树来完成的。

    在您的示例中,对于l=1l 是 1 + 上下文的长度),您只查找长度为 0 的上下文,即唯一可能的上下文是空序列 e。您的条件pmin=0, state=N3N3 的概率大于 0)相当于根本没有条件。所以你得到了观察每个状态的总体概率。因为您的序列(缺少状态)都是相同的长度,所以使用TraMineR

    会得到相同的结果
    seqmeant(data.seq, with.missing=TRUE)/max(seqlength(data.seq))
    

    要获取第一个位置的分布,可以使用TraMineR,查看返回的连续位置的横截面分布表的第一列

    seqstatd(data.seq, with.missing=TRUE)
    

    希望这会有所帮助。

    【讨论】:

    • 这是否意味着当我使用L&gt;1 搜索上下文时,PST 不一定将自己限制在序列的开头,而是尝试在出现的任何地方找到上下文,并且然后显示下一个状态的条件概率?例如。我可能会寻找EX-FA,然后PST 会识别EX-FA 的所有实例,无论它们出现在序列中的什么位置,然后给出@ 之后的下一个状态的条件概率987654335@?
    • 是的,它试图在它出现的任何地方找到上下文(实际上它会探索应该在任何地方应用的树)。使用cmine,您可以在pminpmaxstatel 参数定义的约束下获得所有上下文(及其相关的下一个状态的条件概率)。
    猜你喜欢
    • 2017-06-11
    • 2016-06-24
    • 2016-02-15
    • 2017-06-13
    • 1970-01-01
    • 2010-09-15
    • 2011-09-11
    • 1970-01-01
    • 2012-12-10
    相关资源
    最近更新 更多