Was bekomme ich, wenn ich das Ergebnis als ordinal und nicht als kategorial betrachte?


12

Es gibt verschiedene Methoden zur Vorhersage von ordinalen und kategorialen Variablen.

Was ich nicht verstehe, ist, wie wichtig diese Unterscheidung ist. Gibt es ein einfaches Beispiel, das verdeutlicht, was passiert, wenn ich die Bestellung storniere? Unter welchen Umständen spielt es keine Rolle? Wenn zum Beispiel auch die unabhängigen Variablen alle kategorisch / ordinal sind, gibt es dann einen Unterschied?

Diese verwandte Frage konzentriert sich auf die Art der unabhängigen Variablen. Hier frage ich nach Ergebnisvariablen.

Bearbeiten: Ich sehe den Punkt, dass die Verwendung der Auftragsstruktur die Anzahl der Modellparameter reduziert, aber ich bin immer noch nicht wirklich überzeugt.

Hier ist ein Beispiel (aus einer Einführung in die geordnete logistische Regression, bei der die ordinale logistische Regression meines Erachtens nicht besser abschneidet als die multinomiale logistische Regression):

library(nnet)
library(MASS)
gradapply <- read.csv(url("http://www.ats.ucla.edu/stat/r/dae/ologit.csv"), colClasses=c("factor", "factor", "factor", "numeric"))

ordered_result <- function() {
  train_rows <- sample(nrow(gradapply), round(nrow(gradapply)*0.9))
  train_data <- gradapply[train_rows,]
  test_data <- gradapply[setdiff(1:nrow(gradapply), train_rows),]
  m <- polr(apply~pared+gpa, data=train_data)
  pred <- predict(m, test_data)
  return(sum(pred==test_data$apply))
}

multinomial_result <- function() {
  train_rows <- sample(nrow(gradapply), round(nrow(gradapply)*0.9))
  train_data <- gradapply[train_rows,]
  test_data <- gradapply[setdiff(1:nrow(gradapply), train_rows),]
  m <- multinom(apply~pared+gpa, data=train_data)
  pred <- predict(m, test_data)
  return(sum(pred==test_data$apply))
}

n <- 100

polr_res <- replicate(n, ordered_result())
multinom_res <- replicate(n, multinomial_result())
boxplot(data.frame(polr=polr_res, multinom=multinom_res))

Dies zeigt die Verteilung der Anzahl der richtigen Vermutungen (von 40) beider Algorithmen.

polr_vs_multinom

Edit2: Wenn ich als Scoring-Methode folgendes verwende

return(sum(abs(as.numeric(pred)-as.numeric(test_data$apply)))

und "sehr falsche" Vorhersagen zu bestrafen, sieht polr immer noch schlecht aus, dh die obige Handlung ändert sich nicht sehr.


1
In Ihrem Beispiel wird eine diskontinuierliche, nicht korrekte Bewertungsregel verwendet, die im Allgemeinen keine gute Grundlage für den Vergleich von Vorhersagesätzen darstellt (willkürlich und ohne Kraft und Genauigkeit).
Frank Harrell

Ich bin davon ausgegangen, dass Sie möglicherweise die Ausgabevariable erzwingen müssen, um eine zu sein ordered factor, was die Ergebnisse verbessern würde, gradapply$apply <-factor(gradapply$apply, levels= c('unlikely', 'somewhat likely', 'very likely') , ordered = TRUE)aber es macht keinen Unterschied. Wenn man sich die Genauigkeit ansieht, sind sich die beiden ziemlich ähnlich. Genauigkeit ist jedoch keine gute Messgröße, auf die man sich ausschließlich verlassen kann.
Zhubarb

Antworten:


10

Wenn Y als Ordnungszahl behandelt wird, ergeben sich erhebliche Potenz- und Präzisionsgewinne. Dies ergibt sich aus der viel geringeren Anzahl von Parametern im Modell (um einen Faktor von k, wobei k eins weniger ist als die Anzahl der Kategorien von Y). Es gibt mehrere Ordnungsmodelle. Am gebräuchlichsten sind die ordinalen logistischen Modelle für Proportionalquoten und Fortsetzungsquoten.


1
+1 Die Reduzierung der Parameter bedeutet auch, dass Ordnungsmodelle viel einfacher anzupassen sind.
JMS

4

Wenn Sie die geordnete Natur der Variablen ignorieren, liefern die entsprechenden Methoden weiterhin eine korrekte Analyse. Der Vorteil der Verwendung von Methoden für geordnete Daten besteht jedoch darin, dass sie umfassendere Informationen über die Reihenfolge und Größe der signifikanten Variablen liefern.


Ich kann nicht sehen, welche Informationen zu der Bestellung bereitgestellt werden.
Karsten W.

1
Angenommen, eine Variable hat drei Ebenen: niedrig, mittel, hoch. Eine ordinale Analyse konnte keinen Unterschied zwischen niedrig und mittel, sondern eine Signifikanz für hoch vermuten lassen. Die Parameterschätzung könnte Informationen liefern, wie z. B. "Wenn die Variable X hoch ist, wird der Effekt auf das 2,5-fache von niedrig oder mittel geschätzt" - daher Richtung und Größe.
Murray

2

Wenn Sie die Daten modellieren möchten und die abhängige kategoriale Variable keine Reihenfolge (nominal) hat, müssen Sie ein multinomiales Logit-Modell verwenden. Wenn die abhängige Variable eine Ordnung (Ordnungszahl) hat, können Sie ein kumulatives Logit-Modell (Proportional-Odds-Modell) verwenden.

Für mich persönlich sind die Ergebnisse für ein Proportional-Odds-Modell viel einfacher zu interpretieren als für ein Multinomial-Modell, insbesondere, wenn Sie die Ergebnisse an jemanden weiterleiten möchten, der sich mit statistischen Problemen nicht auskennt.

Dies sind nicht die einzigen Modelle, die Sie verwenden können, aber sie sind sehr typisch.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.