2017-09-10 6 views
1

Ich erstelle ein Bayes-Netzwerk mit dem gRain-Paket in R. Beim Versuch, die bedingten Wahrscheinlichkeit Tabellen zu kompilieren, bekomme ich den Fehler 'Tabellenabmessungen stimmen nicht überein'. Die fragliche Tabelle hat die Form A | B, wobei A drei mögliche Werte annehmen kann und B zwei annehmen kann. Ich habe insgesamt 12 Werte in der cptable-Definition basierend auf den sechs möglichen Kombinationen eingegeben. Jede Hilfe würde sehr geschätzt werden, da ich ohne Erfolg überprüft und recherchiert habe und nicht sehen kann, was falsch läuft. Das ist mein Code.R gRain Fehler - Tabellenabmessungen stimmen nicht überein

# define levels 
lh <- c("low", "high") 
lmh <- c("low", "medium", "high") 

# specify the conditional probability tables 
eh <- cptable(~eh, values=c(0.2, 0.8), levels=lh) 
inf.oil.eh <- cptable(~inf | oil:eh, values = c(0.9, 0.1, 0.1, 0.9, 0.1, 0.9, 0.01, 0.99), levels=lh) 
bp.oil <- cptable(~bp | oil, values=c(0.9, 0.1, 0.1, 0.9, 0, 1, 0.1, 0.9, 0.4, 0.6, 0.5, 0.5), levels=lmh) 
oil.eh <- cptable(~oil | eh, values=c(0.9, 0.1, 0.05, 0.95), levels=lh) 
rt.inf.eh <-cptable(~rt | inf:eh, values=c(0.9, 0.1, 0.1, 0.9, 0.1, 0.9, 0.01, 0.99), levels=lh) 
# compile the tables 
plist <- compileCPT(list(eh, oil.eh, inf.oil.eh, bp.oil, rt.inf.eh)) 

Der Fehler ist wie folgt:

Error for v,pa(v): bp, oil 
    List of 2 
    $ bp : chr [1:3] "low" "medium" "high" 
    $ oil: chr [1:2] "low" "high" 
    num [1:12] 0.9 0.1 0.1 0.9 0 1 0.1 0.9 0.4 0.6 ... 
     Error in compileCPT(list(eh, oil.eh, inf.oil.eh, bp.oil, rt.inf.eh)) : 
     Table dimensions do not match! 

Antwort

1

Sie sind für bp|oil zu viele Werte für die bedingte Wahrscheinlichkeitstabelle angibt. Da oil 2 Ebenen hat und bp 3 müssen Sie 6 bedingten Wahrscheinlichkeiten, aber Sie haben 12 in der Leitung

bp.oil <- cptable(~bp | oil, values=c(0.9, 0.1, 0.1, 0.9, 0, 1, 0.1, 0.9, 0.4, 0.6, 0.5, 0.5), levels=lmh) 
+0

Dank Harald - ich war in den Paaren von p zum Hinzufügen Gewöhnung, 1-p für die Zweiwertvariablen und habe das selbe hier gemacht! – Kate

Verwandte Themen