Vorhersage kategorialer Antwortvariablen

8

Ich habe die folgenden Daten (in R codiert):

v.a = c('cat', 'dog', 'dog', 'goat', 'cat', 'goat', 'dog', 'dog')
v.b = c(1, 2, 1, 2, 1, 2, 1, 2)
v.c = c('blue', 'red', 'blue', 'red', 'red', 'blue', 'yellow', 'yellow')
set.seed(12)
v.d = rnorm(8)
aov(v.a ~ v.b + v.c + v.d) # Error

Ich würde gerne wissen, ob der Wert von v.boder der Wert von v.ceine Fähigkeit hat, den Wert von vorherzusagen v.a. Ich würde eine ANOVA ausführen (wie oben gezeigt), aber ich denke, dass dies keinen Sinn ergibt, da meine Antwortvariable nicht ordinal ist (sie ist kategorisch). Was sollte ich tun?

Remi.b
quelle
5
Erfahren Sie mehr über multinomiales Logit. Hier sind zwei kostenlose Online-Bücher von Kenneth Train ( elsa.berkeley.edu/books/choice.html und elsa.berkeley.edu/books/choice2.html ). Ich denke, das sind Bücher für Hochschulabsolventen. Oder googeln Sie einfach nach "multinomial logit".
Bill
@ Bill das sieht nach einem guten Start für eine Antwort aus. Bitte erwägen Sie, die multinomialen Logit-Modelle ein wenig zu erweitern und als Antwort zu veröffentlichen.
Glen_b -Reinstate Monica

Antworten:

8

Sie können einen beliebigen Klassifikator verwenden. Einschließlich linearer Diskriminanten, multinomialer Logit, wie Bill betonte, Support Vector Machines, neuronaler Netze, CART, zufälliger Wald, C5-Bäume, gibt es eine Welt verschiedener Modelle, die Ihnen helfen können, mithilfe von und vorherzusagen . Hier ist ein Beispiel für die R-Implementierung einer zufälligen Gesamtstruktur:v.einv.bv.c

# packages
library(randomForest)

#variables
v.a= c('cat','dog','dog','goat','cat','goat','dog','dog')
v.b= c(1,2,1,2,1,2,1,2)
v.c= c('blue', 'red', 'blue', 'red', 'red', 'blue', 'yellow', 'yellow')

# model fit
# note that you must turn the ordinal variables into factor or R wont use
# them properly
model <- randomForest(y=as.factor(v.a),x=cbind(v.b,as.factor(v.c)),ntree=10)

#plot of model accuracy by class
plot(model)

Geben Sie hier die Bildbeschreibung ein

# model confusion matrix
model$confusion

Offensichtlich zeigen diese Variablen keine starke Beziehung.

JEquihua
quelle
@JEquihua Könnten Sie mir bitte etwas mehr darüber erzählen, was ein "Baum" ist und was die Ausgabe bedeutet (Verwirrungsmatrix und Handlung). Vielen Dank!
Remi.b
Ich werde. Ich bin sehr beschäftigt, gib mir ein wenig Zeit. @ Remi.b
JEquihua
3

Dies ist eher eine teilweise praktische Antwort, aber es funktioniert für mich, einige Übungen zu machen, bevor ich tief in die Theorie eintauche .

Dieser ats.ucla.edu- Link ist eine Referenz, die dazu beitragen kann, die multinomiale logistische Regression (wie von Bill hervorgehoben) auf praktischere Weise zu verstehen.
Es enthält reproduzierbaren Code zum Verständnis der Funktion multinomaus dem nmetPaket Rund gibt auch eine Einführung in die Interpretation der Ausgaben.

Betrachten Sie diesen Code:

va = c('cat','dog','dog','goat','cat','goat','dog','dog') 
     # cat will be the outcome baseline
vb = c(1,2,1,2,1,2,1,2)
vc = c('blue','red','blue','red','red','blue','yellow','yellow') 
     # blue will be the vc predictor baseline
set.seed(12)
vd = round(rnorm(8),2)

data = data.frame(cbind(va,vb,vc,vd))

library(nnet)
fit <- multinom(va ~ as.numeric(vb) + vc + as.numeric(vd), data=data)

# weights:  18 (10 variable)
initial  value 8.788898 
iter  10 value 0.213098
iter  20 value 0.000278
final  value 0.000070 
converged

fit

Call:
multinom(formula = va ~ as.numeric(vb) + vc + as.numeric(vd), 
    data = data)

Coefficients:
     (Intercept) as.numeric(vb)     vcred  vcyellow as.numeric(vd)
dog    -1.044866       120.3495 -6.705314  77.41661      -21.97069
goat   47.493155       126.4840 49.856414 -41.46955      -47.72585

Residual Deviance: 0.0001656705 
AIC: 20.00017 

So können Sie das log-linear angepasste multinomiale Logistikmodell interpretieren:

ln(P.(vein=ceint)P.(vein=dÖG))=b10+b11vb+b12(vc=red)+b13(vc=yellÖw)+b14vd ln(P.(vein=ceint)P.(vein=GÖeint))=b20+b21vb+b22(vc=red)+b23(vc=yellÖw)+b24vd

Hier ist ein Auszug darüber, wie die Modellparameter interpretiert werden können:

  • b14

b24

  • b12

..... .....

Der Artikel enthält noch viel mehr, aber ich dachte, dieser Teil sei der Kern.


Referenz:

Beispiele für die R-Datenanalyse: Multinomiale logistische Regression. UCLA: Statistische Beratungsgruppe.
von http://www.ats.ucla.edu/stat/r/dae/mlogit.htm (abgerufen am 05. November 2013).

Andre Silva
quelle