Wie man diese ungerade Verteilung modelliert (fast ein umgekehrtes J)

25

Die unten angezeigte abhängige Variable passt nicht zu einer mir bekannten Aktienverteilung. Die lineare Regression erzeugt nicht ganz normale, rechtsgerichtete Residuen, die sich auf ungerade Weise auf das vorhergesagte Y beziehen (2. Diagramm). Irgendwelche Vorschläge für Transformationen oder andere Wege, um die validesten Ergebnisse und die beste Vorhersagegenauigkeit zu erzielen? Wenn möglich, möchte ich es vermeiden, ungeschickt in beispielsweise 5 Werte einzuordnen (z. B. 0, lo%, med%, hi%, 1).

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

rolando2
quelle
7
Sie wäre besser dran , uns über diese Daten zu erzählen und woher sie kamen: etwas hat geklemmt eine Verteilung , dass natürlich über die sich Intervall. Möglicherweise haben Sie eine Messmethode oder ein statistisches Verfahren verwendet, die für Ihre Daten nicht geeignet sind. Der Versuch, einen solchen Fehler mit ausgeklügelten Verteilungsanpassungstechniken, nichtlinearen Wiederausdrücken, Binning usw. auszugleichen, würde den Fehler nur verschlimmern, und es wäre schön, das Problem insgesamt zu umgehen. [0,1]
Whuber
2
@whuber - Ein guter Gedanke, aber die Variable wurde durch ein komplexes bürokratisches System geschaffen, das leider in Stein gemeißelt ist. Es steht mir nicht frei, die Art der hier beteiligten Variablen offenzulegen.
Rolando2
1
Okay, es war einen Versuch wert. Ich denke, anstatt die Daten zu transformieren, möchten Sie den Klemmmechanismus möglicherweise immer noch in Form einer ML-Prozedur erkennen, um die Regression durchzuführen: Dies wäre vergleichbar damit, diese als Daten zu betrachten, die sowohl links- als auch rechtszensiert sind .
Whuber
Versuchen Sie die Betaverteilung mit Parametern, die kleiner als eins sind. En.wikipedia.org/wiki/File:Beta_distribution_pdf.svg
Alecos Papadopoulos
2
Diese Art von Badewanne oder U-förmiger Verteilung ist in der Leserschaft von Zeitschriften üblich, in der viele Menschen eine einzelne Ausgabe einer Publikation lesen, z. B. in einer Arztpraxis, oder Abonnenten, die jede Ausgabe mit ein paar Lesern dazwischen sehen. Mehrere Kommentare und Antworten haben auf die Betaverteilung als eine mögliche Lösung hingewiesen. Die Literatur, mit der ich vertraut bin, weist auf das Beta-Binom als die besser passende Option hin.
Mike Hunter

Antworten:

47

Methoden der zensierten Regression können solche Daten verarbeiten. Sie gehen davon aus, dass sich die Residuen wie bei der normalen linearen Regression verhalten, wurden jedoch so modifiziert

  1. (Linke Zensur): Alle Werte, die kleiner als ein niedriger Schwellenwert sind, unabhängig von den Daten (aber von Fall zu Fall unterschiedlich sein können), wurden nicht quantifiziert. und / oder

  2. (Richtige Zensur): Alle Werte, die größer als ein hoher Schwellenwert sind und von den Daten unabhängig sind (jedoch von Fall zu Fall variieren können), wurden nicht quantifiziert.

"Nicht quantifiziert" bedeutet, dass wir wissen, ob ein Wert unter (oder über) seiner Schwelle liegt, aber das ist alles.

Die Anpassungsmethoden verwenden normalerweise die maximale Wahrscheinlichkeit. Wenn das Modell für die Antwort , die einem Vektor X entspricht, in der Form vorliegtYX

YXβ+ε

mit iid einer gemeinsamen Verteilung F σ mit PDF f σ (wobei σ unknown "Belästigung parameter" ist), dann - in Abwesenheit von Zensieren - die Log - Likelihood von Beobachtungen ( x i , y i ) ist ,εFσfσσ(xi,yi)

Λ=i=1nlogfσ(yixiβ).

Mit gegenwärtigem Zensieren können wir die Fälle in drei (möglicherweise leeren) Klassen unterteilen: für Indizes bis n 1 , die y i die enthalten untere Schwellenwerten und repräsentiert links zensierten Daten; für die Indizes i = n 1 + 1 bis n 2 werden die y i quantifiziert; und für die übrigen Indizes enthalten die y i die oberen Schwellenwerte und repräsentieren rechts zensierti=1n1yii=n1+1n2yiyiDaten. Die logarithmische Wahrscheinlichkeit wird auf dieselbe Weise wie zuvor erhalten: Es ist das logarithmische Produkt der Wahrscheinlichkeiten.

Λ=i=1n1logFσ(yixiβ)+i=n1+1n2logfσ(yixiβ)+i=n2+1nlog(1Fσ(yixiβ)).

(β,σ)

Nach meiner Erfahrung können solche Methoden gut funktionieren, wenn weniger als die Hälfte der Daten zensiert wird. Andernfalls können die Ergebnisse instabil sein.


Hier ist ein einfaches RBeispiel , das das censRegPaket verwendet, um zu veranschaulichen, wie sich OLS und zensierte Ergebnisse auch bei vielen Daten (stark) unterscheiden können. Es reproduziert qualitativ die Daten in der Frage.

library("censReg")
set.seed(17)
n.data <- 2960
coeff  <- c(-0.001, 0.005)
sigma  <- 0.005
x      <- rnorm(n.data, 0.5)
y      <- as.vector(coeff %*% rbind(rep(1, n.data), x) + rnorm(n.data, 0, sigma))
y.cen           <- y
y.cen[y < 0]    <- 0
y.cen[y > 0.01] <- 0.01
data = data.frame(list(x, y.cen))

0.0050.0010.005

Verwenden wir beide lmund censReg, um eine Linie anzupassen:

fit <- censReg(y.cen ~ x, data=data, left=0.0, right=0.01)
summary(fit)

Die Ergebnisse dieser zensierten Regression print(fit)sind:

(Intercept)           x       sigma 
  -0.001028    0.004935    0.004856 

0.0010.0050.005

fit.OLS <- lm(y.cen ~ x, data=data)
summary(fit.OLS)

Die von gegebene OLS-Anpassung print(fit.OLS)ist

(Intercept)            x  
   0.001996     0.002345  

summary0.002864

Zum Vergleich beschränken wir die Regression auf die quantifizierten Daten:

fit.part <- lm(y[0 <= y & y <= 0.01] ~ x[0 <= y & y <= 0.01])
summary(fit.part)

(Intercept)  x[0 <= y & y <= 0.01]  
   0.003240               0.001461  

Noch schlimmer!

Ein paar Bilder fassen die Situation zusammen.

lineplot <- function() {
  abline(coef(fit)[1:2], col="Red", lwd=2)
  abline(coef(fit.OLS), col="Blue", lty=2, lwd=2)
  abline(coef(fit.part), col=rgb(.2, .6, .2), lty=3, lwd=2)
}
par(mfrow=c(1,4))
plot(x,y, pch=19, cex=0.5, col="Gray", main="Hypothetical Data")
lineplot()
plot(x,y.cen, pch=19, cex=0.5, col="Gray", main="Censored Data")
lineplot()
hist(y.cen, breaks=50, main="Censored Data")
hist(y[0 <= y & y <= 0.01], breaks=50, main="Quantified Data")

Grundstücke

00.01

Y0.00320.0037

whuber
quelle
tolle Antwort (+1). Wenn wir die beiden zensierenden Spkies visuell entfernen, scheint es mir, dass die abhängige Variable eine exponentielle Verteilung aufweist, als ob die zugrunde liegenden Daten die Länge eines Prozesses wären. Ist das etwas zu berücksichtigen?
user603
@ user603 Ich habe die quantifizierten Werte mit einem Teil des Oberarms eines Gaußschen simuliert, eigentlich :-). Wir müssen hier aufpassen, da sich das relevante Wahrscheinlichkeitsmodell auf die Residuen und nicht auf die Antwortvariable selbst bezieht . Obwohl es ein wenig schwierig ist, kann man zensierte Residuendiagramme und sogar zensierte Wahrscheinlichkeitsdiagramme erstellen, um die Übereinstimmung mit einer hypothetischen Verteilung zu beurteilen.
Whuber
Mein Punkt ist, dass bei einem doppelt zensierten Gaußschen das Histogramm der unzensierten Werte etwas flach sein sollte, aber sie scheinen leicht
abzunehmen,
1
@ user603 Ah, nein, das ist nicht der Fall: Schauen Sie sich das Histogramm der quantifizierten Werte selbst an. Sie scheinen fast linear nach unten abzufallen, genau wie in der Frage.
Whuber
2
Ich habe versucht, eine zensierte Regression meines Datensatzes zu erzielen, und die Ergebnisse wurden besser als bei OLS validiert. Eine schöne Ergänzung zu meinem Toolkit - danke.
Rolando2
9

Liegen die Werte immer zwischen 0 und 1?

In diesem Fall könnten Sie eine Betaverteilung und eine Beta-Regression in Betracht ziehen.

Denken Sie jedoch über den Prozess nach, der zu Ihren Daten führt. Sie könnten auch ein 0 und 1 aufgeblasenes Modell machen (0 aufgeblähte Modelle sind üblich, Sie müssten wahrscheinlich auf 1 von Ihnen selbst aufgeblasenes Modell erweitern). Der große Unterschied besteht darin, ob diese Spitzen eine große Anzahl von exakten Nullen und Einsen oder nur Werte nahe 0 und 1 darstellen.

Wenden Sie sich am besten an einen lokalen Statistiker (mit einer Geheimhaltungsvereinbarung, damit Sie die Einzelheiten der Herkunft der Daten besprechen können), um den besten Ansatz zu ermitteln.

Greg Snow
quelle
2
01
Ja, immer im Bereich von 0% bis 1% ... Und diese Spitzen liegen tatsächlich genau bei 0% und 1%. Sind Modelle mit Null- oder Null-und-Eins-Inflation auf solche nicht gezählten Daten anwendbar?
Rolando2
1
Es gibt eine Null aufgeblasenes Normal, aber das trifft hier nicht zu.
Peter Flom - Reinstate Monica
Bei exakten Nullen und Einsen, aber fortlaufend dazwischen, scheint es eine zugrunde liegende kontinuierliche Verteilung zu geben, bei der die Werte außerhalb dieses Bereichs auf 0 oder 1 gerundet sind. Dies wäre ein doppelt zensierter Fall, und Modelle könnten mit dieser Idee angepasst werden.
Greg Snow
4

In Übereinstimmung mit dem Rat von Greg Snow habe ich gehört, dass Betamodelle auch in solchen Situationen nützlich sind (siehe Smithson & Verkuilen, 2006, A Better Lemon Squeezer ) sowie in Bezug auf die Quantil-Regression ( Bottai et al., 2010 ) scheinen so ausgeprägte Boden- und Deckeneffekte zu haben, dass sie möglicherweise unangemessen sind (insbesondere die Beta-Regression).

Eine andere Alternative wäre die Berücksichtigung von Arten von zensierten Regressionsmodellen, insbesondere des Tobit-Modells , bei denen wir die beobachteten Ergebnisse als von einer zugrunde liegenden latenten Variablen erzeugt betrachten, die kontinuierlich (und vermutlich normal) ist. Ich werde nicht sagen, dass dieses zugrunde liegende kontinuierliche Modell in Anbetracht Ihres Histogramms sinnvoll ist, aber Sie können eine gewisse Unterstützung dafür finden, wenn Sie sehen, dass die Verteilung (ohne Berücksichtigung des Bodens) eine höhere Dichte bei niedrigeren Werten des Instruments aufweist und sich langsam zu höheren verringert Werte.

Viel Glück, dass die Zensur so dramatisch ist, dass es kaum vorstellbar ist, viele nützliche Informationen in den extremen Eimern wiederzugewinnen. Es sieht für mich so aus, als ob fast die Hälfte Ihrer Probe in die Boden- und Deckenbehälter fällt.

Andy W
quelle