Ein Regressionsmodell, dessen Antwortvariable der Tag des Jahres ist, an dem (normalerweise) ein jährliches Ereignis auftritt

13

In diesem speziellen Fall beziehe ich mich auf den Tag, an dem ein See gefriert. Dieses "Ice-On" -Datum tritt nur einmal im Jahr auf, aber manchmal überhaupt nicht (wenn der Winter warm ist). In einem Jahr kann der See an Tag 20 (20. Januar) einfrieren und in einem anderen Jahr kann er überhaupt nicht einfrieren.

Das Ziel ist es, die Fahrer des Ice-On-Datums herauszufinden.

Prädiktoren wären beispielsweise die jährliche Herbst- / Winterlufttemperatur. Das Jahr könnte ein Prädiktor für den langfristigen linearen Trend sein.

1) Ist die Ganzzahl "Tag des Jahres" eine vernünftige Antwortvariable (wenn nicht, was ist das?)?

2) Wie soll man mit den Jahren umgehen, in denen der See nie gefroren ist?

Bearbeiten:

Ich weiß nicht, wie die Etikette lautet, aber ich dachte mir, ich würde das Ergebnis der Vorschläge veröffentlichen, die ich erhalten habe. Hier ist das Papier, Open Access . Ich habe gute Rückmeldungen zum verwendeten Ansatz erhalten, danke an @pedrofigueira und @cboettig. Natürlich sind Fehler meine eigenen.

rbatt
quelle
Welche Art von Datensatz haben Sie? Maßnahmen an allen Tagen des Jahres?
Donbeo
@Donbeo, Ice-On tritt einmal im Jahr auf, sodass die Antwortvariable eine jährliche Auflösung hat. Die anderen Daten gehen ebenfalls mit einer jährlichen Häufigkeit ein, können jedoch in einigen Fällen in Daten mit einer höheren Häufigkeit konvertiert werden.
rbatt
Zu welchem ​​Zweck möchten Sie das Einschaltdatum berücksichtigen? Ich frage dies, weil die statistische Modellierung niemals wahr oder falsch ist, sondern nützlich oder nutzlos. Die Verwendung der statistischen Ergebnisse ist also von Bedeutung, auch die Einsicht, ob die Zielvariable überhaupt von Nutzen ist. Was ist zum Beispiel, wenn der See bereits im Oktober mit einem dünnen Eisschild gefriert, aber in der gleichen Woche schmilzt und diesen Winter nie wieder gefriert? Vielleicht machen Sie Ihre Analyse, um vorherzusagen, wann Sie anfangen sollen, so etwas wie Schneereifen zu verwenden? Dies könnte einen Hinweis auf eine nützliche Antwort auf Ihre zweite Frage geben.
Horst Grünbusch
Danke für deine Gedanken, @ HorstGrünbusch. Ich möchte wissen, wie sich Klimaschwankungen auf das Eis ausgewirkt haben, da das Aufsetzen eines Deckels auf ein Wassersystem viele Dinge beeinflusst (Gasaustausch, Licht usw.). Die einzigen verfügbaren Eisdaten sind diese Eisdaten (nicht die Dicke usw.).
rbatt

Antworten:

4

Ich denke, man kann "Tag des Jahres" als Antwortvariable auf eine multivariate Regression betrachten. Um Jahre zu bewältigen, in denen der See nie gefroren ist, würde ich einfach annehmen, dass der Tag des Gefrierens größer ist als eine beobachtbare Untergrenze, die beispielsweise dem Tag entspricht, an dem der Eisgehalt zu schmelzen beginnt (oder vollständig schmilzt, wenn Sie möchten) sehr konservativ sein). Theoretisch sollte es danach einfrieren oder kann danach einfrieren, aber wir wissen es nicht. Auf diese Weise können Sie anhand der Daten, die Sie für die verschiedenen Parameter gesammelt haben, nachvollziehen, wie der Gefriertag von ihnen abhängt, sofern er nach dem letzten beobachtbaren Datum liegen darf. Sie können dann ein Tobit-Modell verwendengleichzeitig einfrierende Tage (entsprechend "normalen" Datenpunkten) und Untergrenzen (entsprechend Grenzen und damit einer zensierten Regression) zu behandeln.

Um die gemessenen Untergrenzen korrekt in die Analyse einzubeziehen, können Sie ein zensiertes Regressionsmodell verwenden, bei dem die abhängige Variable eine Grenze zum Wert der Untergrenze aufweist. Das oben erwähnte Tobit-Modell ist für diesen Fall geeignet; es wird die Existenz einer nicht beobachtbaren (latenten) abhängigen Variablen die in unserem Fall dem Einfrierdatum entspricht, wenn der Winter auf unbestimmte Zeit verlängert wird. Die beobachtbare abhängige Variable y i (dh die gemessene Untergrenze am Gefrierdatum) wird dann bei Fehlen einer Untergrenze L i als gleich der latenten Variablen und ansonsten als gleich der Untergrenze angenommenyiyiLi

yi={yiif¯Li(i.e.yi<Li)LiifyiLi

Die Anwendung des Tobit-Modells zur Handhabung der beobachtungsweisen Zensur führt zu einer Log-Likelihood-Funktion des Formulars

L=iyi<Liln[ϕ(yiXijβjσ)/σ]+iyiLiln[Φ(LiXijβjσ)]

wobei und Φ ( . ) die Wahrscheinlichkeits- und die kumulative Dichtefunktion der Standardnormalverteilung bezeichnen. Der Index i läuft auf den Beobachtungen und j auf den unabhängigen Variablen. Die Lösung für die lineare Regression ist der Satz von Parametern β j (einschließlich Achsenabschnitt), der die Log-Likelihood-Funktion maximiert.ϕ(.)Φ(.)ijβj

pedrofigueira
quelle
3
Das große Problem mit "Tag des Jahres" betrifft die Codierung. Normalerweise würde es als ein julianischer Tag zwischen und 365 oder als ein Dezimaljahr von 0 bis 1 dargestellt , aber keines davon ist angemessen, da dies eine zirkuläre Variable ist: Der julianische Tag von 1 folgt beispielsweise unmittelbar auf Tag 365 . So sind insbesondere "obere" und "untere" Grenzen bedeutungslos. (Es gibt auch eine kleine Frage zum Umgang mit Schaltjahren; diese kann auf verschiedene einfache Arten gelöst werden.) Die andere große Frage betrifft den Umgang mit Jahren, in denen kein Einfrieren auftritt: Es fehlen keine oder zensierte Daten. 1365011365
Whuber
1
Ich würde argumentieren, dass das Konzept der Untergrenze seine Bedeutung behält, wenn jedes Jahr als unabhängiges Experiment betrachtet werden kann, dh wenn das Experiment kein Gedächtnis hat und das Einfrierdatum in einem Jahr als vollständig unabhängig vom Datum in angenommen werden kann der Vorherige; dann sollte es nur noch auf die parameter des jeweiligen jahres ankommen. Wenn dies der Fall ist, ist die Variable meines Wissens nicht zirkulär.
pedrofigueira
1
Ja, unter bestimmten Umständen können solche Ad-hoc- Techniken funktionieren. Wenn (a) das Ereignis immer jedes Jahr stattfindet und (b) werden die Ereignisse fest um einen vorhersagbaren Zeitpunkt verteilt sind , werden Sie gut durch entsprechend des Jahres Herkunft wählen. Bei größeren Streuungsbeträgen (was hier wahrscheinlich der Fall ist) - oder in den drastischsten Fällen, in denen das Ereignis möglicherweise gänzlich ausfällt - müssen Sie jedoch unbedingt die Methoden der Zirkelstatistik ("Richtungsstatistik") anwenden. Übrigens ist die serielle Korrelation oder Unabhängigkeit ein gesondertes Anliegen.
Whuber
2
Ich denke, die Obergrenze sollte so genau wie möglich als Jahr definiert werden. wenn man das kann, wird die Tobit-Analyse aufschlussreicher. Ich würde als Untergrenze (Einfrieren konnte vorher passieren, wurde aber nicht beobachtet / beobachtet) das DoY vorschlagen, bei dessen Überschreitung Sie der Ansicht sind, dass Sie kein Schmelzen mehr feststellen können. Vielleicht kann dies erreicht werden, indem man sich die (P, T) ansieht, die erforderlich sind, damit das Wasser gefriert, und einen konstanten Druck annimmt, und die letzten lokalen Minima des Jahres oder ähnliches wählt. Ich glaube, dass die Frage an dieser Stelle eher eine physikalische als eine statistische Frage ist (aber trotzdem sehr interessant).
pedrofigueira
2
@rbatt Ich finde diese Antwort sinnvoll. Das Startdatum ist beliebig. Sie können von einem anderen Datum ausgehen oder negative Zahlen verwenden. Ich sehe kein Problem. Die Kreisförmigkeit kümmert sich um sich selbst, indem sie nach Tag des Jahres nummeriert wird.
Cboettig
1

Tag des Jahres ist eine vernünftige Prädiktorvariable, und deshalb halte ich es für vernünftig, sie so zu behandeln, wie es @pedrofigueira vorschlägt.

Bei anderen Prädiktorvariablen müssen Sie möglicherweise vorsichtig sein, wie Sie die Zeit darstellen. Stellen Sie sich zum Beispiel vor, Sie haben Tagestemperaturen - wie würden Sie die Lufttemperatur als Vorhersage für den Tag mit Eis modellieren? Ich halte es nicht für ausreichend, dieselben Stichproben am Tag des Jahres zu vergleichen.

In einer solchen Analyse ist es meines Erachtens hilfreich, das aufzuschreiben, was Ihrer Meinung nach ein plausibles Modell (oder Modelle) der Daten ist (wobei einige physikalische Daten möglicherweise als Leitfaden zur Verfügung stehen). Zum Beispiel könnte ein vernünftiges Modell darin bestehen, die Anzahl der Tage unter dem Gefrierpunkt zu integrieren, und wenn dieses Integral einen Schwellenwert überschreitet (z. B. in Bezug auf die thermische Masse des Sees), tritt Eis auf. Von einem solchen Modell können Sie dann fragen, was eine vernünftige Annäherung ist und was nicht.

Zum Beispiel ist der Tag des Jahres als Prädiktor für dieses Modell nur insofern von Bedeutung, als der Tag des Jahres ein guter Prädiktor für die Temperatur ist. Wenn man also nur den Tag des Jahres kennt, hat man nur einen durchschnittlichen Tag des Jahres, der der Eisschwelle entspricht, wobei sich möglicherweise eine gewisse Normalverteilung aufgrund von Temperaturschwankungen zwischen den Jahren ergibt. des Jahres ist völlig gerechtfertigt.

Wenn Sie jedoch andere Variablen wie die Lufttemperatur am Tag kennen, müssen Sie sich wahrscheinlich direkter mit etwas komplizierteren Modellen auseinandersetzen. Wenn Sie nur die Jahreswerte (Minimum? Mittel?) Als Prädiktor für den Eistag verwenden, erscheint dies ebenfalls vernünftig (mit demselben Argument wie oben).

cboettig
quelle
+1 für den Hinweis auf Physik. Wenn Sie das statistische Ergebnis nicht mit Gründen erklären können, ist es möglicherweise falsch, auch wenn es sich als signifikant erwiesen hat.
Horst Grünbusch
Um ganz klar zu sein, der Tag des Jahres für Ice-On ist die Antwortvariable ... es ist das, was ich "vorhersagen" möchte (in Ihrer Antwort bezeichnen Sie es an einigen Stellen als "Prädiktor"). Haben Sie einen Vorschlag für den Umgang mit den Jahren ohne Einfrieren (anderer Tobit-Vorschlag unten)?
rbatt
1
@rbatt, sorry für die Verwirrung. Das einfachste Modell ist 1D, wobei der Tag des Jahres, an dem das Eis in der Vergangenheit aufgetreten ist, als Prädiktor verwendet wird. Wenn Sie jedoch Trends beim Einschaltdatum erkennen möchten, haben Sie das volle DATUM, nicht den Tag des Jahres, als das, was Sie vorhersagen möchten, da sich die Vorhersage für beispielsweise 2020 von der für 2050 unterscheiden könnte.
cboettig
0

Für dieses Problem benötigen Sie zwei Antwortvariablen. Eine boolesche Antwort, die angibt, ob der See gefroren ist oder nicht, und eine ganzzahlige Antwort, die den Tag des Jahres angibt, sofern der Indikator wahr ist. In Jahren, in denen der See gefroren ist, werden sowohl die Booleschen als auch die Ganzzahl beobachtet. In Jahren, in denen der See nicht gefroren ist, wird der Boolesche Wert beobachtet und der ganzzahlige Wert nicht. Sie können eine logistische Regression für den Booleschen Wert verwenden. Die Regression für den Tag des Jahres könnte eine gewöhnliche lineare Regression sein.

Die Kreisform des Tages des Jahres sollte kein Problem sein, solange Sie die möglichen Einfriertage innerhalb eines bestimmten Zeitraums fortlaufend nummerieren. Wenn Sie sich fragen, wo Sie mit der Nummerierung beginnen sollen, würde ich den Tag vorschlagen, an dem die Prädiktoren gemessen wurden. Wenn das Modell kausale Effekte darstellen soll, müssen alle Prädiktoren vor einem möglichen Einfrieren gemessen worden sein.

Verwenden Sie ein Diskretisierungsmodell, um die Ganzzahl und die Begrenztheit des Tages des Jahres zu verarbeiten. Das heißt, es gibt einen realen latenten Wert, der eine Beobachtung auf folgende Weise erzeugt: Wenn der Wert innerhalb der Grenzen liegt, entspricht die Beobachtung dem auf die nächste ganze Zahl gerundeten latenten Wert, andernfalls wird der Wert auf die Grenzen abgeschnitten. Der latente Wert selbst kann dann als eine lineare Funktion der Prädiktoren plus Rauschen modelliert werden.

Tom Minka
quelle
Ich verstehe die Prämisse des Ansatzes, bin mir aber nicht sicher, wie ich ihn umsetzen soll. Wie würde ich Daten ordnen und den Einfluss der Kandidatenfahrer auf den Booleschen Wert / das Datum einschätzen? Ich arbeite in R.
Rbatt
Fügen Sie die Daten in einen Datenrahmen ein, in dem eine Spalte der Boolesche Wert und eine andere das Datum ist. Verwenden Sie dann: fit1 = glm (eingefroren ~ x, frame, family = "binomial") fit2 = lm (Datum ~ x, frame)
Tom Minka
Entschuldigung, kann ich "fit2 = lm (date ~ x, frame, subset = Boolean == TRUE)" verstehen?
Sergio
Das wären zwei getrennte Modelle. Was mache ich in dem Modell, in dem "Datum" die Antwort ist, mit den Jahren, in denen das Wasser nie gefroren ist? Wenn ich diese Jahre einfach entferne, verzerre ich die Ergebnisse (oder reduziere meinen beobachteten Bereich von Antworten erheblich), weil ich die extremsten Beobachtungen der Antwort selektiv entferne (dh niemals einfrieren ist das extremste Einfrierdatum). Die Jahre, in denen das Wasser nie gefriert, sollten uns also etwas über den Einfluss dieser Fahrer auf den Eisstand sagen. Es scheint, dass die Informationen in beiden Modellen kombiniert werden sollten.
rbatt
Es ist mir unangenehm, das Einfrieren als boolesche Variable zu behandeln, da der zugrunde liegende Prozess zweifellos kontinuierlicher ist.
Cboettig
0

Was Sie haben, sind Zeit-zu-Ereignis-Daten, die auch als Überlebensanalyse bezeichnet werden. Das ist nicht wirklich meine Gegend, daher gebe ich hier keine detaillierte Antwort. Wenn Sie nach "Time-to-Event-Daten" oder "Überlebensanalyse" googeln, werden Sie eine Menge Treffer erhalten!

Ein guter Ausgangspunkt könnte das Kapitel (13) zur Überlebensanalyse in Venables / Ripley: MASS oder der Klassiker "Die statistische Analyse von Ausfallzeitdaten, 2. Auflage" von John D. Kalbfleisch, Ross L. Prentice (auth.) Sein.

BEARBEITEN, ERWEITERTE ANTWORT

Als Alternative zur Überlebensanalyse können Sie dies durch eine ordinale logistische Regression approximieren. Definieren Sie beispielsweise in Ihrem Beispiel für das Datum des ersten Einfrierens einige Daten, für die Sie den Status "eingefroren oder vor" angegeben haben: 0 (kein Einfrieren), 1 (Einfrieren). Das passt gut zu den Jahren ohne Einfrieren, Sie haben einfach einen Null-Antwortvektor. Wenn Ihre ausgewählten Daten sind, sagen wir,

1:08   15:08 1:09 15:09 1:10 15:10 1:11 15:11 1:12  15:12  1:01  15:01
and the actual date of first freezing was  17:11, then your observed vector will be
0       0    0    0     0    0     0    0      1     1     1      1

und im Allgemeinen haben alle Antwortvektoren einen Anfangsblock von Nullen, gefolgt von einem Block von Einsen. Anschließend können Sie diese Option mit der ordinalen logistischen Regression verwenden und für jedes Datum eine geschätzte Wahrscheinlichkeit des Einfrierens ermitteln. Das Zeichnen dieser Kurve ergibt eine Annäherung für eine Überlebenskurve (das Überleben wird in diesem Zusammenhang "noch nicht eingefroren").

EDIT

Man könnte Ihre Daten auch als wiederkehrende Ereignisse betrachten, da der Fluss (fast) jedes Jahr einfriert. Siehe meine Antwort hier: Suche nach signifikanten Prädiktoren für psychiatrische Rückübernahmen

kjetil b halvorsen
quelle