2

PST给我各种上下文和以下状态的概率和条件概率。但是,能够计算上下文和后续状态之间关系的提升(及其重要性)将非常有帮助。我怎样才能做到这一点?

# 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 = 2)

这给出了几个上下文,其中之一是:

[>] context: N2 
       EX         FA         I1         I2   I3         N1        N2         N3        NR         QU
S1 0.07692308 0.08076923 0.05769231 0.07692308 0.05 0.06923077 0.1038462 0.06153846 0.1269231 0.07307692
       TR         *
S1 0.08076923 0.1423077

假设我想计算 和 之间关系的QU提升N3。我们知道N3给定的条件概率N20.05。要计算升力,我是否只需将条件概率除以结果状态的无条件概率,如下所示:

0.05/unconditional probability of N3

如果我们这样做,seqstatf(data.seq)我们可以看到N3标记的分数是0.01721715。那么这是否意味着电梯是:

0.05/0.01721715=2.90408110518

或者更合适的方法是采用N3给出e的概率cmine(S1, pmin = 0, state = "N3", l = 1),即0.001554569?这将产生以下提升:

0.05/0.001554569=32.163255539

这要高得多...

4

1 回答 1

2

推理是正确的。但是,问题seqstatf在于它没有考虑缺失状态 ( *)。以下是如何获得总体概率N3

nN3 <- sum(data.seq == 'N3')
nn <- nrow(data.seq)*ncol(data.seq)
(pN3 <- nN3/nn)

这给出了0.001556148.

所以电梯就在这里

ctx <- cmine(S1, pmin = 0, state = "N3", l = 2)
(liftN3 <- ctx$N2[,"N3"]/pN3)

即,39.5

一个更有意义的替代方案是在我们排除缺失状态时考虑条件概率,即那些用没有缺失状态的树获得的概率。

于 2017-01-27T15:27:51.163 回答