Wie soll ich diese Restdarstellung interpretieren?

8

Ich kann diese Grafik nicht interpretieren. Meine abhängige Variable ist die Gesamtzahl der Kinokarten, die für eine Show verkauft werden. Die unabhängigen Variablen sind die Anzahl der Tage vor der Show, Dummy-Variablen für die Saisonalität (Wochentag, Monat des Jahres, Feiertag), Preis, bis zum Datum verkaufte Tickets, Filmbewertung, Filmtyp (Thriller, Komödie usw. als Dummy) ). Bitte beachten Sie auch, dass die Kapazität der Filmhalle festgelegt ist. Das heißt, es kann maximal x Personen aufnehmen. Ich erstelle eine lineare Regressionslösung, die nicht zu meinen Testdaten passt. Also dachte ich daran, mit der Regressionsdiagnostik zu beginnen. Die Daten stammen aus einer einzelnen Filmhalle, für die ich die Nachfrage vorhersagen möchte.

Das ist ein multivariater Datensatz. Für jedes Datum gibt es 90 doppelte Zeilen, die Tage vor der Show darstellen. Für den 1. Januar 2016 gibt es also 90 Datensätze. Es gibt eine Variable 'lead_time', die mir die Anzahl der Tage vor der Show angibt. Wenn also für den 1. Januar 2016 "lead_time" den Wert 5 hat, bedeutet dies, dass die Tickets bis 5 Tage vor dem Ausstellungsdatum verkauft werden. In der abhängigen Variablen "Gesamtzahl der verkauften Tickets" habe ich 90-mal den gleichen Wert.

Gibt es als Nebenbemerkung ein Buch, in dem erklärt wird, wie die Restdarstellung interpretiert und das Modell anschließend verbessert wird?

Geben Sie hier die Bildbeschreibung ein

Enthusiast
quelle
5
Können Sie etwas über Ihre Situation, die Daten und das Modell sagen? Wie könnten wir sonst das Diagramm interpretieren?
Gung - Reinstate Monica
1
Erweitern Sie die x-Achse nach außen (oder "hineinzoomen"). Ich glaube, Sie werden "Streifen" in den Residuen sehen.
schwärzt
Es sieht aus wie eine Version von stats.stackexchange.com/questions/25068 . Um nützliche Antworten zu geben, benötigen wir weitere Details.
whuber
Gibt es eine feste Gesamtzahl von Tickets, die möglicherweise verkauft werden könnten?
Gung - Reinstate Monica
@gung, ja da die Kapazität der Filmhalle festgelegt ist, dh Anzahl der Sitzplätze. Ich füge das jetzt der Frage hinzu, da es die Frage besser erklären könnte. Vielen Dank!
Enthusiast

Antworten:

4

Die Handlung ist sehr dicht, so dass es nicht einfach ist, alle Trends zu erkennen. Sie können alternative Tests für Hetoroskedastizität und Autokorrelation durchführen, um zusätzliche Diagnosen zu erhalten.

Was sichtbar ist, ist, dass über die ersten 100 Werte oder so die Varianz des Residuums zunimmt, was auf eine Hetoroskedastizität hinweisen kann. Danach scheint die Varianz wieder abzunehmen. Dieses etwas nichtlineare Verhalten der Varianz kann auch auf die Notwendigkeit einer Differenzfunktionsform hinweisen (also möglicherweise polynomisch statt linear). Ein weiteres Indiz dafür ist der Trend bei den Residuen, den Sie am oberen Ende der angepassten Werte beobachten (es gibt keine positiven Residuen mehr).

Tomka
quelle
Das Polynommerkmal scheint eine vernünftige Idee zu sein, und die dafür gegebene Begründung ist sinnvoll. Vielen Dank!
Enthusiast
Und ja, es gibt Autokollinearität und Heteroskedastizität in Daten, die ich jetzt zu beheben versuche.
Enthusiast
@Enthusiast Happy das hat geholfen. Ich wäre gespannt, welche endgültigen Lösungen zur Lösung dieses Problems geführt haben (sobald Sie fertig sind)
Tomka
Ich verwende tatsächlich den hier vorgeschlagenen Modelldiagnoseansatz. stats.stackexchange.com/a/189116/68444
Enthusiast
und hier ist die nächste Stufe meines Problems stats.stackexchange.com/questions/235562/…
Enthusiast
12

Ihr Restdiagramm weist ein bestimmtes Muster auf, wobei mehrere Linien mit zunehmenden angepassten Werten nach unten tendieren. Dieses Muster kann auftreten, wenn Sie feste / zufällige Effekte in Ihrem Modell nicht berücksichtigen und die festen Effekte mit erklärenden Variablen korreliert sind. Betrachten Sie das folgende Beispiel:

set.seed(999)

N = 1000
num.groups = 10

alpha = runif(num.groups, -10, 10) #Fixed effects
beta = 10 #Slope parameter
group = sample(num.groups, N, replace = TRUE)

X = rnorm(N, mean = alpha[group], sd = 5) #Mean of X correlated with fixed effect
e = rnorm(N, sd = 1)
y = alpha[group] + X * beta + e

df = data.frame(group = as.factor(group), X, y)

m.no.fe = lm(y ~ X, data = df) #Not including group fixed effects
plot(m.no.fe, which = 1)

Dies führt zu folgendem Rest- / Anpassungsdiagramm: res_fitted_nofe

Möglicherweise sehen Sie etwas Ähnliches, wenn Sie beispielsweise die SAT-Werte für die Eintrittseinnahmen für mehrere High Schools zurückgegangen sind, aber keine festen Effekte für die High School berücksichtigt haben. Jede Schule hat unterschiedliche Grundeinkommen (dh feste Effekte) und mittlere SAT-Werte, die wahrscheinlich korrelieren.

Einschließlich gruppenfester Effekte erhalten wir

m.fe = lm(y ~ group + X, data = df) #Now including fixed effects
plot(m.fe, which = 1)

was eine viel bessere Rest- / Anpassungsfläche ergibt:

res_fitted_fe

tkmckenzie
quelle
4
Das könnte richtig sein, aber sie sehen für mich wie vollkommen gerade Linien aus. Meine Vermutung wäre, dass Y eine Zählung oder eine Zählung von "Erfolgen" aus einer festen Anzahl von Versuchen ist (dh das Modell ist falsch). Wir werden es nicht wissen, bis das OP mehr über die Daten und das Modell sagt.
Gung - Reinstate Monica
@tkmckenzie Du meinst also, ich muss mehr Variablen im Modell erstellen?
Enthusiast
6

Das Restdiagramm sieht unter dem Gesichtspunkt der Standard-OLS-Regression (linear) ungewöhnlich aus. Es gibt zum Beispiel einen Hinweis auf Heteroskedastizität, insbesondere, dass die Ausbreitung der Residuen in der Mitte größer ist als an den beiden Enden. Dies ist jedoch nicht das eigentliche Problem.

X

yddd+1 (Entschuldigung, beim erneuten Lesen der Frage sehen Sie, dass Sie bereits eine bis zum Datum verkaufte Variable enthalten haben.)

Bei der Modellierung Ihrer Daten müssen möglicherweise weitere Probleme behoben werden. Dies sind ziemlich fortgeschrittene Themen; Wenn Sie mit ihnen nicht vertraut sind, müssen Sie möglicherweise mit einem statistischen Berater zusammenarbeiten.

gung - Monica wieder einsetzen
quelle
Meine Daten haben eine Gammaverteilung, wie aus den Ergebnissen von fitdistrplus () und qqplot () hervorgeht. stats.stackexchange.com/questions/234866/…
Enthusiast
fitdistrplus(0,)03.5