2017-01-27 7 views
2

は、単一の状態からなるコンテキストの後の次の状態の条件付き確率を予測できないようです。1つの状態のみのコンテキストに基づく条件付き確率の予測

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

# Mine the context 
context <- seqdef("EX-EX") 
p_context <- predict(S1.p1, context, decomp = F, output = "prob") 

context <- seqdef("EX-EX")収率:

[>] 1 distinct states appear in the data: 
    1 = EX 
Error: 
[!] alphabet contains only one state 

predict()が実行できないことを意味

EX-EXは、このコードを検討します。

1つの状態のみを持つコンテキストに基づいて、次の状態の条件付き確率を予測するにはどうすればよいですか?

答えて

2

これは、バージョン1.8-12から修正されたseqdefの問題です。ここで

は、私がS1であなたの未定義S1.p1を置き換えTraMineR 1.8-13

> context <- seqdef("EX-EX") 
[>] 1 distinct states appear in the data: 
    1 = EX 
[>] state coding: 
     [alphabet] [label] [long label] 
    1 EX   EX  EX 
[>] 1 sequences in the data set 
[>] min/max sequence length: 2/2 
> p_context <- predict(S1, context, decomp = F, output = "prob") 
[>] 1 sequence(s) - min/max length: 2/2 
[>] max. context length: L=6 
[>] found 2 distinct context(s) 
[>] total time: 0.019 secs 
> p_context 
      prob 
[1] 0.000476372 

注意して得るものです。

+0

これは、同じマーカーを繰り返すコンテキストで有効です。 「EX-EX」。しかしながら、1マーカ長い文脈、例えば、 'EX'はまだ計算されませんが、問題は' seqdef() 'ではなく' predict() 'にあるようです。 – histelheim

+1

実際にはシーケンスではない' EX'では、その確率は単にデータ。たとえば、 'seqstatf(data.seq)[" EX "、2]/100'のようにします。 – Gilbert

関連する問題