Un modello di regressione la cui variabile di risposta è il giorno dell'anno in cui si verifica (di solito) un evento annuale


13

In questo caso particolare mi riferisco al giorno in cui un lago si congela. Questa data di "congelamento" si verifica solo una volta all'anno, ma a volte non si verifica affatto (se l'inverno è caldo). Quindi un anno il lago potrebbe congelare il giorno 20 (20 gennaio) e un altro anno potrebbe non congelare affatto.

L'obiettivo è quello di capire i driver della data di arrivo.

I predittori sarebbero cose come la temperatura dell'aria autunno / inverno ogni anno. L'anno potrebbe essere un fattore predittivo per la tendenza lineare a lungo termine.

1) L'intero "giorno dell'anno" è una variabile di risposta ragionevole (se no, che cos'è?)?

2) Come si dovrebbero gestire gli anni in cui il lago non si è mai congelato?

Modificare:

Non so quale sia l'etichetta qui, ma ho pensato di pubblicare il risultato dei suggerimenti che ho ricevuto. Ecco il documento, accesso aperto . Ho ricevuto un buon riscontro sull'approccio utilizzato, grazie a @pedrofigueira e @cboettig. Certo, gli errori sono miei.


che tipo di set di dati hai? Misure durante tutti i giorni dell'anno?
Donbeo,

@Donbeo, l'accensione avviene una volta all'anno, quindi la variabile di risposta ha una risoluzione annuale. Anche gli altri dati arrivano a una frequenza annuale, ma in alcuni casi potrebbero essere convertiti in dati a frequenza più elevata.
Rbatt

Per quale scopo vuoi considerare la data di inizio? Lo chiedo perché la modellistica statistica non è mai vera o falsa ma utile o inutile. Quindi l'uso per i risultati statistici è importante, anche l'intuizione se la variabile target è assolutamente utile. Ad esempio, se il lago si congela con un sottile scudo di ghiaccio già in ottobre, ma si scioglie la stessa settimana e non si blocca mai più questo inverno? Forse fai la tua analisi per prevedere quando iniziare a usare qualcosa come le gomme da neve? Questo potrebbe dare un suggerimento per una risposta utile alla tua seconda domanda.
Horst Grünbusch,

Grazie per i tuoi pensieri, @ HorstGrünbusch. Voglio sapere come le variazioni climatiche hanno influenzato il ghiaccio, perché mettere un coperchio su un sistema acquatico influisce su molte cose (scambio di gas, luce, ecc.). Gli unici dati disponibili sul ghiaccio sono queste date di attivazione (non spessore, ecc.).
rbatt

Risposte:


4

Penso che si possa considerare il "giorno dell'anno" come una variabile di risposta a una regressione multivariata. Per gestire gli anni in cui il lago non si è mai congelato, considererei semplicemente che il giorno di congelamento è maggiore di un limite inferiore osservabile che corrisponde, ad esempio, al giorno in cui il contenuto di ghiaccio inizia a sciogliersi (o si scioglie completamente, se si desidera essere molto conservatore). Teoricamente dovrebbe congelarsi dopo quello, o può congelare dopo quello, ma non lo sappiamo. In questo modo è possibile utilizzare i dati raccolti sui diversi parametri per comprendere in che modo il giorno di congelamento dipende da essi, se fosse consentito che sia successiva all'ultima data osservabile. È quindi possibile utilizzare un modello Tobitgestire contemporaneamente i giorni di congelamento (corrispondenti a punti dati "normali") e i limiti inferiori (corrispondenti ai limiti e quindi una regressione censurata).

Al fine di includere correttamente i limiti inferiori misurati nell'analisi, è possibile utilizzare un modello di regressione censurato in cui la variabile dipendente ha un limite al valore del limite inferiore. Il modello Tobit sopra menzionato è appropriato per questo caso; presuppone l'esistenza di una variabile non osservabile (latente) dipendente che nel nostro caso corrisponde alla data di congelamento se l'inverno si prolungasse indefinitamente. La variabile dipendente osservabile (ovvero il limite inferiore misurato alla data di congelamento) viene quindi considerata uguale alla variabile latente in assenza di un limite inferiore , e altrimenti uguale al limite inferioreyiyiLi

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

L'applicazione del modello Tobit per gestire la censura osservazione per osservazione, comporta una funzione di probabilità logaritmica del modulo

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

ϕ(.)Φ(.)ijβj


3
1365011365

1
Direi che il concetto di limite inferiore conserva il suo significato se ogni anno può essere considerato un esperimento indipendente, ovvero se l'esperimento non ha memoria e si può presumere che la data di congelamento in un anno sia completamente indipendente dalla data in il precedente; quindi dovrebbe dipendere solo dai parametri dell'anno in questione. Se questo è il caso, quindi, per quanto ne so, la variabile non è circolare.
pedrofigueira,

1
Sì, in alcune circostanze tali tecniche ad hoc possono funzionare. Quando (a) l'evento si verifica sempre ogni anno e (b) gli eventi sono strettamente dispersi in una data prevedibile, starai bene scegliendo l'origine dell'anno in modo appropriato. Ma con maggiori quantità di dispersione (che è probabilmente il caso qui) - o nei casi più drastici in cui l'evento potrebbe essere del tutto assente - è davvero necessario applicare i metodi delle statistiche circolari ("direzionali"). A proposito, correlazione seriale o indipendenza è una preoccupazione separata del tutto.
whuber

2
Penso che il limite superiore debba essere definito l'anno nel modo più preciso possibile; se uno può farlo, l'analisi di Tobit diventa più approfondita. Vorrei suggerire come limite inferiore (il congelamento potrebbe verificarsi prima, ma non è stato osservato / osservabile) il DoY oltre il quale ritenete di non poter più rilevare lo scioglimento. Forse questo può essere fatto dando un'occhiata al (P, T) necessario per il congelamento dell'acqua e assumendo una pressione costante, scegliere gli ultimi minimi locali dell'anno o simili. Credo che la domanda a questo punto diventi più una questione fisica che statistica (ma molto interessante, comunque).
pedrofigueira,

2
@rbatt Penso che questa risposta sia sensata. La data di inizio è arbitraria, puoi iniziare da un'altra data o usare numeri negativi; Non vedo un problema. La circolarità si prende cura di sé numerando per giorno dell'anno.
cboettig,

1

Il giorno dell'anno è una variabile predittiva ragionevole, e per questo penso che sia sensato trattarlo come suggerisce @pedrofigueira.

Per altre variabili predittive potresti dover prestare attenzione a come rappresenti il ​​tempo. Ad esempio, immagina di avere le temperature dell'aria di giorno - come modelleresti la temperatura dell'aria come un predittore del giorno di ghiaccio? Non penso che il confronto dei campioni dello stesso giorno dell'anno sia sufficiente.

In qualsiasi analisi di questo tipo, penso che aiuta a scrivere quello che pensi possa essere un modello (o modelli) di generazione plausibile dei dati (dove alcuni fisici potrebbero essere disponibili come guida). Ad esempio, un modello ragionevole potrebbe essere quello di integrare il numero di giorni al di sotto del punto di congelamento e quando quell'integrale supera una soglia (ad esempio in relazione alla massa termica del lago), si verifica l'accensione del ghiaccio. Da un tale modello è quindi possibile chiedere quale sia un'approssimazione ragionevole e cosa no.

Ad esempio, il giorno dell'anno come predittore conta per quel modello solo in quanto il giorno dell'anno è un buon predittore di temperatura. Pertanto, conoscendo solo il giorno dell'anno, si avrebbe solo un giorno medio dell'anno corrispondente alla soglia di ghiaccio, con forse una qualche distribuzione normale al riguardo risultante da variazioni di temperatura interannuali e quindi alla ricerca di una tendenza nel giorno- dell'anno è completamente giustificato.

Ma se conosci altre variabili come la temperatura dell'aria di giorno, probabilmente dovrai affrontare il modello un po 'più complicato più direttamente. Se stai semplicemente usando i valori annuali (minimi? Significa?) Che variabili come predittore della giornata ghiacciata sembra ragionevole (per lo stesso argomento di cui sopra).


+1 per indicare la fisica. Se non riesci a spiegare il risultato statistico con la ragione, potrebbe essere falso, anche se si è rivelato significativo.
Horst Grünbusch,

Per essere chiari, il giorno dell'anno per l'adesione al ghiaccio è la variabile di risposta ... è ciò che sto cercando di "prevedere" (nella tua risposta in alcuni punti ti riferisci ad esso come "predittore"). Hai un suggerimento per gestire gli anni senza congelamento (altro il suggerimento Tobit di seguito)?
rbatt

1
@rbatt, scusa per la confusione. Il modello più semplice è 1D, utilizzando il giorno dell'anno in cui il ghiaccio si è verificato in passato come predittore. Ma se vuoi rilevare le tendenze nella data di arrivo, hai il DATE completo, non il Giorno dell'anno, come la cosa che vuoi prevedere, perché la previsione, diciamo, del 2020 potrebbe quindi differire da quella del 2050.
cboettig

0

Per questo problema sono necessarie due variabili di risposta. Una risposta booleana che indica se il lago si è bloccato o meno, e una risposta intera che indica il giorno dell'anno, a condizione che l'indicatore sia vero. Negli anni in cui il lago si gelò, si osservano sia il booleano che il numero intero. Negli anni in cui il lago non si è congelato, si osserva il booleano e l'intero non lo è. È possibile utilizzare una regressione logistica per il valore booleano. La regressione per il giorno dell'anno potrebbe essere una normale regressione lineare.

La natura circolare del giorno dell'anno non dovrebbe essere un problema se si contano i possibili giorni di congelamento consecutivi in ​​un determinato periodo di tempo. Se ti stai chiedendo da dove iniziare la numerazione, suggerirei il giorno in cui sono stati misurati i predittori. Se si desidera che il modello rappresenti effetti causali, è necessario che tutti i predittori siano stati misurati prima di ogni possibile congelamento.

Per gestire il numero intero e la natura limitata del giorno dell'anno, è possibile utilizzare un modello di discretizzazione. Cioè, esiste un vero valore latente che genera un'osservazione nel modo seguente: se il valore è all'interno dei limiti, l'osservazione è uguale al valore latente arrotondato all'intero più vicino, altrimenti il ​​valore viene troncato ai limiti. Il valore latente stesso può quindi essere modellato come una funzione lineare dei predittori più rumore.


Capisco la premessa dell'approccio, ma non sono sicuro di come attuarlo. Come organizzare i dati e stimare l'influenza dei driver candidati del booleano / data? Lavoro a R.
Rbatt

Inserisci i dati in un frame di dati in cui una colonna è il valore booleano e un'altra è la data. Quindi usa: fit1 = glm (froze ~ x, frame, family = "binomial") fit2 = lm (date ~ x, frame)
Tom Minka,

Spiacenti, posso capire "fit2 = lm (data ~ x, frame, subset = Boolean == TRUE)"?
Sergio,

Questi sarebbero due modelli separati. Nel modello in cui "data" è la risposta, cosa devo fare con gli anni in cui l'acqua non si è mai congelata? Se rimuovo semplicemente quegli anni, allora sto distorcendo i risultati (o sto riducendo drasticamente la mia gamma di risposte osservate) perché sto selettivamente rimuovendo le osservazioni più estreme della risposta (cioè, non congelare mai è la data di congelamento più estrema). Quindi gli anni in cui l'acqua non si congela mai dovrebbero dirci qualcosa sull'influenza di quei conducenti sulla data di arrivo. Sembra che le informazioni in entrambi i modelli dovrebbero essere combinate.
rbatt

Sono a disagio nel trattare il congelamento come una variabile booleana perché il processo sottostante è senza dubbio più continuo di così.
cboettig,

0

Quello che hai sono i dati del time-to-event, che è anche chiamato analisi di sopravvivenza. Questa non è davvero la mia area, quindi non sto dando una risposta dettagliata qui. Googling per "dati relativi all'evento" o "analisi di sopravvivenza" ti darà molti successi!

Un buon punto di partenza potrebbe essere il capitolo (13) sull'analisi di sopravvivenza in Venables / Ripley: MASS, o il classico "L'analisi statistica dei dati sui tempi di insuccesso, seconda edizione" di John D. Kalbfleisch, Ross L. Prentice (auth.)

MODIFICA, RISPOSTA ESTESA

In alternativa all'analisi di sopravvivenza, è possibile approssimarlo con la regressione logistica ordinale. Ad esempio, nel tuo caso di esempio della prima data di congelamento, definisci alcune date per le quali fornisci lo stato "sono stati congelati prima o prima", 0 (nessun congelamento), 1 (congelamento). Che si adatta bene agli anni senza congelamento, hai semplicemente un vettore di risposta tutto zero. Se le date scelte sono, ad esempio,

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

e, in generale, tutti i vettori di risposta avranno un blocco iniziale di zeri, seguito da un blocco di uno. Quindi, è possibile utilizzare questo con regressione logistica ordinale, ottenendo una probabilità stimata di congelamento per ogni data. Tracciare quella curva darà un'approssimazione per una curva di sopravvivenza (la sopravvivenza, in questo contesto, diventa "non aver ancora congelato").

EDIT

Si potrebbero anche vedere i tuoi dati come eventi ricorrenti, dal momento che il fiume si congela (quasi) ogni anno. Vedi la mia risposta qui: Trovare significativi predittori di riammissioni psichiatriche

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.