PST何时从左到右和从右到左显示上下文?

PST何时从左到右和从右到左显示上下文?

问题描述:

包是否总是显示从右到左的上下文?PST何时从左到右和从右到左显示上下文?

query()函数中,我们使用字符串来表示上下文。如果我假设的背景下从右到左(因为它似乎是在print()cmine()功能)指定的,我很感兴趣的序列A->B->C中,那么我应该查询:

query(S1.p1, "C-B-A") 

此外,在predict()函数中,我们使用seqdef()来定义要预测的序列。这是否意味着我应该从左到右指定它们,正如TraMineR通常那样?

x <- seqdef("A-B-C) 
predict(S1.p1, x) 

在概率性后缀树(PST)中,当我们从根开始读取分支时,分支定义从右到左的后缀。在第一级,你有后缀的最后一个元素,在第二级你有元素在最后一个元素之前,等等。打印的树显示在左边的根,并且从左到右展开。尽管如此,在打印结果的节点中显示的后缀应该从左到右自然地阅读。例如,节点a-b-c表示末尾带有c的后缀。通过在左侧添加a从节点b-c获得这样的节点。

对于cmine的结果也是如此。对于每个发现的情况,例如a-b-c,cmine给出了在上下文之后立即获得每个可能状态的概率,即在示例中的c之后。

总之,序列和上下文总是从左到右显示,即使上下文是从右到左构建的。

所以,如果你想查询序列A->B->C,只需使用query(S1.p1, "A-B-C")。同样,要预测具有predict的特定序列,请自然地从左到右定义序列。

序列应该从左到右读取。下面的代码提供了此验证:

library(PST) 
data.seq <- seqdef("A-B-C-D-E-F") 
S1.test <- pstree(data.seq, ymin = 0.001, lik = FALSE, with.missing = FALSE) 
print(S1.test) 

--(e)-[ p=(0.2,0.2,0.2,0.2,0.2,0.2) - n=6 ] 
    `--(A)-[ p=(0.001,0.995,0.001,0.001,0.001,0.001) - n=1 ]--| 
    `--(B)-[ p=(0.001,0.001,0.995,0.001,0.001,0.001) - n=1 ] 
    `--(A-B)-[ p=(0.001,0.001,0.995,0.001,0.001,0.001) - n=1 ]--| 
    `--(C)-[ p=(0.001,0.001,0.001,0.995,0.001,0.001) - n=1 ] 
    `--(B-C)-[ p=(0.001,0.001,0.001,0.995,0.001,0.001) - n=1 ] 
     `--(A-B-C)-[ p=(0.001,0.001,0.001,0.995,0.001,0.001) - n=1 ]--| 
    `--(D)-[ p=(0.001,0.001,0.001,0.001,0.995,0.001) - n=1 ] 
    `--(C-D)-[ p=(0.001,0.001,0.001,0.001,0.995,0.001) - n=1 ] 
     `--(B-C-D)-[ p=(0.001,0.001,0.001,0.001,0.995,0.001) - n=1 ] 
      `--(A-B-C-D)-[ p=(0.001,0.001,0.001,0.001,0.995,0.001) - n=1 ]--| 
    `--(E)-[ p=(0.001,0.001,0.001,0.001,0.001,0.995) - n=1 ] 
    `--(D-E)-[ p=(0.001,0.001,0.001,0.001,0.001,0.995) - n=1 ] 
     `--(C-D-E)-[ p=(0.001,0.001,0.001,0.001,0.001,0.995) - n=1 ] 
      `--(B-C-D-E)-[ p=(0.001,0.001,0.001,0.001,0.001,0.995) - n=1 ] 
       `--(A-B-C-D-E)-[ p=(0.001,0.001,0.001,0.001,0.001,0.995) - n=1 ]--| 


plot(S1.test) 

Validation of bottom-to-top reading of plotted tree

这也表明,所绘制的树应该从底部读到顶部。