Regression von Daten, die ein Datum enthalten

8

Ich habe einen Datensatz, der einige hundert Transaktionen von drei Lieferanten enthält, die über einen Zeitraum von drei Jahren in über 100 Ländern tätig sind.

Wir haben festgestellt, dass das Verkaufsland kein wesentlicher Faktor für die erzielten Preise ist (die Produkte sind mehr oder weniger globale Waren). Alle Preise sind im Laufe der Zeit deutlich gesunken. Jeder Tag kann mehrere Transaktionen zu unterschiedlichen Preisen von demselben Lieferanten (dh in verschiedenen Ländern) haben.

Ich möchte testen, ob es einen statistisch signifikanten Unterschied in den von den verschiedenen Lieferanten berechneten Preisen gibt.

Die Daten sehen ungefähr so ​​aus:

    Country X  1/1/2010  $200 Supplier A
    Country Y  1/1/2010  $209 Supplier A
    Country Z  1/1/2010  $187 Supplier A
    Country A  1/1/2010  $200 Supplier B
    Country X  1/2/2010  $188 Supplier B

Irgendwelche Ideen dazu? .....

Tom
quelle
3
Die Längsschnittdatenanalyse ist ein weites Feld. Um eine gute Antwort auf diese Frage zu geben, sind weitere Informationen darüber erforderlich, welchen Effekt Sie mit der Zeit erwarten. Ohne dies ist nicht klar, ob die Antworten, die Sie erhalten haben, gut sind oder nicht (deshalb ist es gut, die Frage vor und nicht nach der Beantwortung zu klären ...) . Ich weiß, Sie haben gesagt, dass der Preis im Laufe der Zeit sinkt, aber steckt noch mehr dahinter? Werden beispielsweise wiederholte Messungen im selben Land voraussichtlich korreliert? In diesem Fall wird keine der vorhandenen Antworten das tun, was Sie benötigen.
Makro
1
Tolle Punkte! @ Macro Ich würde eine gewisse Korrelation zwischen mehreren Datenpunkten innerhalb desselben Landes erwarten (Preise können etwas klebrig sein). Außerdem habe ich den Durban-Watson-Test durchgeführt und festgestellt, dass die Residuen autokorreliert sind. Sieht so aus, als wäre dieser mir ein Rätsel. Vielleicht ist es an der Zeit, einen echten Statistiker hinzuzuziehen.
Tom
2
Wenn Sie sich in R befinden, gibt es Funktionen für den Umgang mit Datumsangaben, und ich wäre nicht überrascht, wenn R in der Lage wäre, Daten wie diese recht elegant zu verarbeiten, ohne dass Sie viel mehr angeben müssten, als Sie regelmäßig tun würden. Siehe dies
Bdeonovic
Sie müssen auf jeden Fall die Autokorrelation berücksichtigen und einbeziehen. Eine Zeitreihenanalyse scheint angebracht. +1 für das Erkennen der Notwendigkeit, "einen echten Statistiker" hinzuzuziehen. Auf der Website der American Statistical Association sind zahlreiche seriöse Statistiker verfügbar, und viele finden Sie an lokalen Universitäten.
StatsStudent

Antworten:

2

Es hört sich so an, als müssten Sie Zeitreihenmethoden wie ARMA oder ARIMA verwenden, mit denen Sie eine Regression unter Verwendung der Zeit als unabhängige Variable berechnen können, ohne die Annahme unabhängiger Beobachtungen von OLS zu verletzen.

Möglicherweise möchten Sie eine zweistufige Analyse durchführen: - Verwenden Sie zuerst die Zeit als einzelne Prädiktorvariable und verwenden Sie eine geeignete Zeitreihenmethode. - Zwei prüfen, ob zwischen den beiden Lieferanten ein bedeutender Unterschied in den Residuen besteht. (Ein einfacher T-Test könnte ausreichen.)

Ezra Boyd
quelle
0

Es gibt verschiedene Möglichkeiten. Eine Option besteht darin, Daten in Tage nach dem ersten Tag umzuwandeln. Sie können auch zusätzliche Variablen für Wochentage (Trends über die Woche) und den Monat (um Trends zu bestimmten Jahreszeiten anzuzeigen) haben. Auf diese Weise können Sie mehrere Regressionen verwenden.

Um die Variable "Anzahl der Tage nach dem ersten Tag" zu erhalten, können Sie meiner Meinung nach (sowohl Excel als auch R) einfach die früheren Daten vom letzteren Datum subtrahieren und die Tagesdifferenz ermitteln. Versuchen Sie also vielleicht, den 1.1.2010 von all Ihren Daten abzuziehen. Sie sollten R auch mitteilen, dass der neue Wert numerisch ist, indem Sie as.numeric () verwenden.

EDIT: R scheint im ersten Jahr zu lesen, so dass Sie möglicherweise ein wenig an den Daten herumspielen müssen. Siehe hierzu: /programming/2254986/how-to-subtract-days-in-r

Die Zeitreihenanalyse ist ein anderer Ansatz, mit dem ich jedoch nicht allzu vertraut bin.

Hotaka
quelle
0

Ich kann Ihnen raten, die nichtlineare Funktion für Zeitvariablen zu verwenden, da die Preise mit jeder zusätzlichen Zeiteinheit geringer fallen. Andernfalls würde der Preis endgültig unter Null fallen. Darüber hinaus kann es Perioden geben, in denen sich der Trend geändert hat. Daher empfehle ich, kubische Splines als Zeitvariable zu verwenden.

Die Erfahrung flüstert mir zu, dass ich das folgende Modell überprüfen würde:
Y = country_parameter * price (t) * e

wobei Preis (t) eine Funktion ist, vorzugsweise ein kubischer Spline, aber es kann auch ein beliebiger linearer Trend sein. Beachten Sie, dass das Modell Multiplikationszeichen und keine Summen enthält.

Przemyslaw Remin
quelle
-1

Wählen Sie ein Referenzdatum aus, z. B. den 1.1.2010, und erstellen Sie eine neue Variable time, die die Differenz zwischen dem Datum und dem Referenzdatum darstellt, wobei die Differenz beispielsweise in Tagen berechnet wird.

Führen Sie nun eine lineare Regression (oder ähnliches) mit timeund supplierals den beiden Prädiktorvariablen und priceals Antwortvariable aus.

Dies ist nur ein Ausgangspunkt.

zkurtz
quelle
4
Hallo, ich habe das getan, aber verstößt es gegen eine der Annahmen der Regression? dh die Punkte sind unabhängige Beobachtungen? Das restliche Grundstück sieht in Ordnung aus.
Tom
2
Guter Punkt. Es ist immer gut, der linearen Regressionsausgabe misstrauisch zu sein, da die Annahmen niemals zu 100% erfüllt werden. Insbesondere könnte der Standardfehler stark unterschätzt werden, wenn die Residuen korreliert sind, wie Sie vorschlagen. Um die Unabhängigkeit zu überprüfen, können Sie den Durban Watson-Test wie folgt verwenden
zkurtz
Tolle Punkte! Ich würde eine gewisse Korrelation zwischen mehreren Datenpunkten innerhalb desselben Landes erwarten (die Preise können etwas klebrig sein). Außerdem habe ich den Durban-Watson-Test durchgeführt und festgestellt, dass die Residuen autokorreliert sind. Sieht so aus, als wäre dieser mir ein Rätsel. @zkurtz Vielleicht ist es an der Zeit, einen echten Statistiker hinzuzuziehen.
Tom
1
Es ist ein Missverständnis, dass Regressionsbeobachtungen iid sein müssen. Die Fehler müssen nur unkorreliert und mit konstanter Varianz sein. Wenn überhaupt, kann das Hinzufügen eines festen Zeiteffekts dazu beitragen, dass diese Bedingung erfüllt ist. Das einzige, was hier schief gehen kann, ist eine Überanpassung und / oder ein Genauigkeitsverlust aufgrund zu vieler Parameter für die Daten. Es ist wahrscheinlich erwähnenswert, dass sich die Gleichungen für die Anpassung stationärer (V) ARMA-Modelle auf OLS reduzieren.
Shadowtalker
Um die serielle Korrelation zu handhaben, sollten Sie wahrscheinlich einen Zeitreihenanalyseansatz oder mindestens ein GEE- oder Mischeffektmodell verwenden, das die Korrelation Ihrer Daten handhaben kann.
StatsStudent