Где в последовательности вероятностного дерева суффиксов встречается e?

В моих данных отсутствуют только данные (*) в правой части последовательностей. Это означает, что никакая последовательность не начинается с * и ни одна последовательность не имеет других маркеров после *. Несмотря на это, 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 обозначает произвольную начальную точку где-то внутри последовательности?


person histelheim    schedule 27.01.2017    source источник


Ответы (1)


PST — это представление марковской модели переменной длины (VLMC). В классической марковской модели VLMC предполагается однородным (или стационарным), что означает, что условные вероятности исхода в данном контексте одинаковы в каждой позиции последовательности. Другими словами, контекст может появиться в любом месте последовательности. На самом деле поиск контекстов осуществляется путем изучения дерева, которое должно применяться в любом месте последовательности.

В вашем примере для l=1 (l равно 1 + длина контекста) вы ищете только контекст нулевой длины, т. е. единственным возможным контекстом является пустая последовательность e. Ваше состояние pmin=0, state=N3 (вероятность N3 больше 0) эквивалентно полному отсутствию условий. Таким образом, вы получаете общую вероятность наблюдать каждое состояние. Поскольку все ваши последовательности (с отсутствующими состояниями) имеют одинаковую длину, вы получите одинаковые результаты, используя TraMineR с

seqmeant(data.seq, with.missing=TRUE)/max(seqlength(data.seq))

Чтобы получить распределение в первой позиции, вы можете использовать TraMineR и посмотреть в первом столбце таблицы поперечных распределений последовательные позиции, возвращенные

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

Надеюсь это поможет.

person Gilbert    schedule 27.01.2017
comment
Означает ли это, что когда я ищу контекст с L>1, PST не обязательно ограничивается началом последовательности, а скорее пытается найти контекст везде, где он появляется, а затем показывает условные вероятности следующего состояния? Например. Я мог бы искать EX-FA, а затем PST идентифицировать все экземпляры EX-FA, независимо от того, где они появляются в последовательности, а затем давать условные вероятности следующего состояния после EX-FA? - person histelheim; 27.01.2017
comment
Да, он пытается найти контекст везде, где он появляется (на самом деле он исследует дерево, которое должно применяться где угодно). С помощью cmine вы получаете все контексты (и связанные с ними условные вероятности следующего состояния) при ограничениях, определенных с помощью аргументов pmin, pmax, state и l. - person Gilbert; 27.01.2017