2017-03-22 2 views
0

Ich schaue auf Verschiebungen unter Verkäufern bei einem bakesale, zu sehen, ob es einen wesentlichen Unterschied zwischen den Verkäufen eines Verkäufers während verschiedener Stunden ihrer Schicht gibt. Insbesondere versuche ich a) zu bewerten, ob der Trend zwischen einzelnen Schichtstunden signifikant ist, und b) wie dieser relativ zu einigen anderen möglichen erklärenden Variablen rangiert.Lineare gemischte Modelle und Zeit Autokorrelation für Panel-Daten in Python Statsmodels

Der Datensatz enthält mehrere Schichten pro Vertriebsmitarbeiter gleicher Länge, dividiert durch die Stunden.

z.

model = sm.MixedLM.from_formula("Cookies ~ C(Hour) + CustomerArrivals + Oventemp", BakeSaleData, groups=BakeSaleData["Salesperson"]) 
result = model.fit() 
print(result.summary()) 

Our Q-Q plot for the residuals:

Mir wurde in der Statistik von jemandem Überprüfung meiner Forschung mit wesentlich höheren Hintergrund gesagt, dass es erhebliche Autokorrelation in meinem Modell war, aber es ist mir nicht klar, wie dies zu kompensieren.

Ich weiß, dass wir in einem traditionellen Zeitreihendatensatz AR (1) und Cochrane-Orcut verwenden können, um Autokorrelationsbegriffe zu berücksichtigen, aber diese Zeitreihenberechnungen sind im Allgemeinen Datensätze mit einzelnen Zeitreihen.

+0

Es ist mir nicht völlig klar, welche Verletzung von unabhängigen Fehlern Sie hier zu erklären versuchen. In einem TS-Rahmen gehen wir davon aus, dass zukünftige Beobachtungen mit früheren Beobachtungen korreliert sind. Cor (e_t, e_ {t + 1})! = 0'. In MLM gehen wir davon aus, dass Beobachtungen in Gruppen (in Ihrem Fall 'Verkäufer ') korreliert sind mit cor (e_ {i, j}, e {i, k})! = 0)' wobei 'j! = K' . Oder versuchen Sie auch, korrelierte Fehler innerhalb von Schichten zu kontrollieren? Kannst du bitte deine Frage umformulieren? –

+0

Danke, dass Sie mir geholfen haben, die Frage zu klären - ich denke, es besteht die Gefahr, dass es zu Korrelationen zwischen den einzelnen Stunden kommen kann (zB wenn sich hohe Umsätze in einer vorherigen Stunde auf die aktuelle Stunde auswirken) ... – codercat

+0

Oben mein Kopf, ich bin mir nicht sicher, ob das im MLM-Framework passt oder nicht ... warum testest du nicht, wie schwerwiegend ein Problem ist? –

Antwort

0

statsmodels MixedLM erlaubt keine direkte Korrelation der Residuen über die zufälligen Koeffizienten oder zufälligen Effekte hinaus.

Sie könnten statsmodels.GEE verwenden, das ein Einbahn-Datenmodell ist, das eine größere Bandbreite von Korrelationsstrukturen einschließlich AR (1) ermöglicht. Bei Familie Gauß wäre es ähnlich wie bei MixedLM. Es verwendet jedoch Schätzungsgleichungen, die ähnlich zu genau identifizierten GMM in der Ökonometrie sind, und GEE verwendet standardmäßig cluster-robuste Standardfehler. Die Annahme mit seriell korrelierten Fehlern ist, dass die erklärenden Variablen exogen sind.

Hier sind https://github.com/statsmodels/statsmodels/wiki/Examples#generalized-estimating-equations-gee einige Notebooks für GEE.

Standard-Ökonometrie-Paneldaten mit Cochrane-Orcutt oder Prais-Winston, die Stata ähnlich sind, sind noch nicht in den Statsmodellen enthalten (obwohl es irgendwo eine Entwurfsversion geben könnte).

+0

Das hat definitiv geholfen. Es scheint wesentlich weniger Abweichung mit dem QQ-Diagramm zu geben, obwohl sich die Modellparameter relativ zu den MixedLM-Schätzungen nicht zu sehr ändern. – codercat

+0

Die Schätzung der Parameter für die lineare Funktion ist robust gegenüber falsch spezifizierten Varianz und Korrelation in OLS oder GLM (lineare exponentielle Familie) im Allgemeinen. Es sind nur die Standardfehler und ob es sich um einen effizienten Schätzer handelt betroffen. (Cluster-robuste Standardfehler wie in GEE sind robust gegenüber jeder Art von Clusterkorrelation.) – user333700

Verwandte Themen