2016-12-07 1 views
0

Ich möchte Koeffizient für einen Prädiktor durch eine kategoriale Variablen-Ebene in H2O Glm schätzen. Wenn mein Datenrahmen beispielsweise Produktpreis (kontinuierliche Variable) und Produkttyp (kategoriale Variable) hat, möchte ich einen Koeffizienten für den Preis pro Produkt schätzen. In SAS können Sie dies einfach erreichen, indem Sie den Modelleffekt als Preis * typ angeben. Wie kann ich das gleiche in H2O oder R machen?schätzen H2O Glm-Koeffizienten durch eine kategorische Variablen-Ebene

Es gibt eine interactions() -Funktion, aber es kann keine Interaktion zwischen einer kontinuierlichen und kategorialen Variablen verarbeiten. Irgendwelche Tipps, um dieses Problem zu umgehen?

Vielen Dank,

+0

Überprüfen Sie das Interaktionsargument der h2o.glm-Funktion – jmuhlenkamp

+0

Interactions() funktioniert gut, wenn beide kategoriale Variablen sind, aber nicht, wenn eine von ihnen eine kontinuierliche Variable ist (z. Preis). – user3634351

+0

Ja, Interaktionen() sind nur für kategoriale Variablen. Danke, dass du meine Aufsicht dort geklärt hast! – jmuhlenkamp

Antwort

0
set.seed(1234) 
x1 = rnorm(100,0,1) 
x2 = as.factor(rep(c("A","B","C","D"), each = 25)) 
y = as.factor(rep(0:1, each = 50)) 
data = data.frame(x1 = x1, x2 = x2, y = y) 

Wechselwirkungen können mit angegeben werden, ein „:“ in der Formel Argument

# glm base example 
fit <- glm(data = data, y ~ x1 + x2 + x1:x2, family = "binomial") 
print(fit) 

h2o.glm paarweise Wechselwirkungen Verwendung kann, indem Spaltenindizes der Wechselwirkungen festgelegt werden Argument

# h2o.glm example 
library("h2o") 
h2o.init(nthreads = -1) 
data.hex = as.h2o(data) 
h2o_fit <- h2o.glm(x = 1:2, y = 3, training_frame = data.hex, family = "binomial", interactions = 1:2) 
[email protected]$coefficients_table 
h2o.shutdown(prompt = F) 
+0

Peter - Vielen Dank für die Antwort. Sind in Ihren Beispielkategorien nicht sowohl x1 als auch x2? Interactions() funktioniert gut, wenn beide kategoriale Variablen sind, aber nicht, wenn eine von ihnen eine kontinuierliche Variable (z. B. Preis) ist. – user3634351