Um modelo de regressão cuja variável de resposta é o dia do ano em que um evento anual (geralmente) ocorre


13

Neste caso em particular, estou me referindo ao dia em que um lago congela. Essa data de início ocorre apenas uma vez por ano, mas às vezes não ocorre (se o inverno é quente). Assim, em um ano, o lago pode congelar no dia 20 (20 de janeiro) e em outro ano pode não congelar.

O objetivo é descobrir os condutores da data de partida.

Preditores seriam coisas como temperatura do ar no outono / inverno a cada ano. O ano pode ser um preditor para a tendência linear de longo prazo.

1) O inteiro "dia do ano" é uma variável de resposta razoável (se não, qual é?)?

2) Como lidar com os anos em que o lago nunca congelou?

Editar:

Não sei qual é a etiqueta aqui, mas achei que publicaria o resultado das sugestões que recebi. Aqui está o jornal, acesso aberto . Recebi um bom feedback sobre a abordagem usada, obrigado @pedrofigueira e @cboettig. Claro, os erros são meus.


que tipo de conjunto de dados você tem? Medidas durante todos os dias do ano?
Donbeo 25/05

@ Donbeo, o gelo ocorre uma vez por ano, então a variável de resposta está em uma resolução anual. Os outros dados também chegam com uma frequência anual, mas em alguns casos podem ser convertidos em dados de frequência mais alta.
Rbatt 26/05

Para qual finalidade você deseja considerar a data de validade? Eu pergunto isso porque a modelagem estatística nunca é verdadeira ou falsa, mas útil ou inútil. Portanto, o uso para os resultados estatísticos é importante, e também a percepção se a variável de destino é útil. Por exemplo, e se o lago congelar com uma fina camada de gelo já em outubro, mas derreter na mesma semana e nunca congelar novamente neste inverno? Talvez você faça sua análise para prever quando começar a usar algo como pneus de neve? Isso pode dar uma dica para uma resposta útil à sua segunda pergunta.
Horst Grünbusch

Obrigado por seus pensamentos, @ HorstGrünbusch. Quero saber como as variações climáticas afetaram o gelo, porque colocar uma tampa em um sistema aquático afeta muitas coisas (trocas gasosas, luz etc.). Os únicos dados de gelo disponíveis são essas datas de congelação (não espessura, etc).
Rbatt

Respostas:


4

Acho que se pode considerar o "dia do ano" como uma variável de resposta a uma regressão multivariada. Para lidar com os anos em que o lago nunca congela, eu consideraria simplesmente que o dia de congelamento é maior que um limite inferior observável que corresponde, por exemplo, ao dia em que o conteúdo de gelo começa a derreter (ou derrete completamente, se você quiser seja muito conservador). Teoricamente, deve congelar depois disso, ou pode congelar depois disso, mas não sabemos. Dessa forma, você pode usar os dados coletados nos diferentes parâmetros para entender como o dia de congelamento depende deles, se for permitido que seja posterior à data mais recente observável. Você pode usar um modelo Tobitlidar simultaneamente com dias de congelamento (correspondendo a pontos de dados "normais") e limites mais baixos (correspondendo a limites e, portanto, uma regressão censurada).

Para incluir corretamente os limites inferiores medidos na análise, você pode usar um modelo de regressão censurado no qual a variável dependente tem um limite no valor do limite inferior. O modelo Tobit acima mencionado é apropriado para este caso; ele assume a existência de uma não observável (latente) dependente variável que, no nosso caso corresponde à data congelação se o inverno estendido indefinidamente. A variável dependente observável y i (ou seja, o limite inferior medido na data de congelamento) é então considerada igual à variável latente na ausência de um limite inferior L i e igual ao limite inferior caso contrárioyiyiLi

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

A aplicação do modelo Tobit para lidar com a censura de observação por observação resulta em uma função de probabilidade logarítmica da forma

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

ϕ(.)Φ(.)ijβj


3
1365011365

1
Eu argumentaria que o conceito de limite inferior mantém seu significado se cada ano puder ser considerado um experimento independente, ou seja, se o experimento não tiver memória e a data de congelamento em um ano puder ser considerada completamente independente da data em o anterior; então deve depender apenas dos parâmetros do ano em questão. Se for esse o caso, na melhor das hipóteses, a variável não é circular.
pedrofigueira 26/05

1
Sim, em algumas circunstâncias, essas técnicas ad hoc podem funcionar. Quando (a) o evento sempre ocorre todos os anos e (b) os eventos são fortemente dispersos em torno de uma data previsível, você fica bem ao escolher a origem do ano adequadamente. Mas com grandes quantidades de dispersão (o que provavelmente é o caso aqui) - ou nos casos mais drásticos em que o evento pode estar ausente - você realmente precisa aplicar os métodos das estatísticas circulares ("direcionais"). BTW, correlação serial ou independência é uma preocupação separada.
whuber

2
Eu acho que o limite superior deve ser definido o ano da maneira mais precisa possível; se é possível, a análise Tobit se torna mais perspicaz. Eu sugeriria como limite inferior (o congelamento poderia acontecer antes, mas não foi observado / observável) o DoY além do qual você considera que não pode mais detectar derretimento. Talvez isso possa ser feito observando o (P, T) necessário para a água congelar e, assumindo uma pressão constante, escolha os últimos mínimos locais do ano ou similares. Acredito que a questão nesses pontos se torne mais uma questão física do que estatística (mas muito interessante, de qualquer maneira).
pedrofigueira

2
@rattatt Acho que essa resposta é sensata. A data de início é arbitrária, você pode começar a partir de outra data ou usar números negativos; Não vejo problema. A circularidade se cuida numerando por dia do ano.
precisa saber é o seguinte

1

O dia do ano é uma variável preditora sensata e, para isso, acho sensato tratá-lo como a @pedrofigueira sugere.

Para outras variáveis ​​preditivas, pode ser necessário ter cuidado com a forma como você representa o tempo. Por exemplo, imagine que você tem temperatura do ar por dia - como você modelaria a temperatura do ar como um preditor de gelo no dia? Não acho que comparar as mesmas amostras do dia do ano seja suficiente.

Em qualquer análise, acho que ajuda a escrever o que você acha que pode ser um modelo (ou modelos) de geração plausível dos dados (onde alguma física pode estar disponível como um guia). Por exemplo, um modelo razoável pode ser o de integrar o número de dias abaixo do congelamento e, quando essa integral ultrapassa um limite (por exemplo, relacionado à massa térmica do lago), ocorre o congelamento. Nesse modelo, você pode perguntar o que é uma aproximação razoável e o que não é.

Por exemplo, o dia do ano como preditor é importante para esse modelo apenas em um dia do ano é um bom preditor de temperatura. Assim, conhecendo apenas o dia do ano, seria apenas um dia do ano médio correspondente ao limiar de gelo, com talvez uma distribuição normal sobre ele resultante de variações interanuais de temperatura e, portanto, procurando uma tendência no dia-a-dia. do ano é completamente justificado.

Mas se você conhece outras variáveis ​​como temperatura do ar durante o dia, provavelmente está enfrentando um modelo mais complicado, mais diretamente. Se você está apenas usando os valores anuais (mínimos? Significa?) Do que a variável como preditor de dias de gelo também parece razoável (pelo mesmo argumento acima).


+1 por apontar para a física. Se você não conseguir explicar o resultado estatístico pelo motivo, ele pode ser falso, mesmo que tenha sido significativo.
Horst Grünbusch

Só para esclarecer, o dia do ano para a adesão é a variável de resposta ... é o que estou tentando "prever" (em sua resposta, você se refere a ela como o "preditor" em alguns lugares). Você tem alguma sugestão para lidar com os anos sem congelamento (além da sugestão de Tobit abaixo)?
precisa saber é

1
@ rbatt, desculpe pela confusão. O modelo mais simples é 1D, usando o dia do ano em que o gelo ocorreu no passado como preditor. Mas se você deseja detectar tendências na data de congelamento, você tem o DATE completo, não o dia do ano, como você deseja prever, porque a previsão para, digamos, 2020, pode diferir daquela de 2050.
cboettig

0

Para esse problema, você precisa de duas variáveis ​​de resposta. Uma resposta booleana que indica se o lago congelou ou não, e uma resposta inteira fornecendo o dia do ano, desde que o indicador seja verdadeiro. Nos anos em que o lago congelou, o booleano e o inteiro são observados. Nos anos em que o lago não congelou, o booleano é observado e o número inteiro não. Você pode usar uma regressão logística para o booleano. A regressão para o dia do ano pode ser uma regressão linear comum.

A natureza circular do dia do ano não deve ser um problema, desde que você numere os possíveis dias de congelamento consecutivos dentro de um determinado período. Se você está se perguntando por onde começar a numeração, sugiro o dia em que os preditores foram medidos. Se você deseja que o modelo represente efeitos causais, é necessário que todos os preditores tenham sido medidos antes de qualquer possível congelamento.

Para lidar com a natureza inteira e delimitada do dia do ano, poderia usar um modelo de discretização. Ou seja, existe um valor latente real que gera uma observação da seguinte maneira: se o valor estiver dentro dos limites, a observação será igual ao valor latente arredondado para o número inteiro mais próximo, caso contrário, o valor será truncado para os limites. O próprio valor latente pode ser modelado como uma função linear dos preditores mais ruído.


Entendo a premissa da abordagem, mas não sei como implementá-la. Como eu organizaria os dados e estimaria a influência dos candidatos a candidatos da booleana / data? Eu trabalho em R.
rbatt

Coloque os dados em um quadro de dados em que uma coluna é o booleano e outra é a data. Em seguida, use: FIT1 = glm (congelou ~ x, quadro, família = "binomial") FIT2 = lm (data ~ x, frame)
Tom Minka

Desculpe, posso entender "fit2 = lm (data ~ x, quadro, subconjunto = Booleano == VERDADEIRO)"?
Sergio

Esses seriam dois modelos separados. No modelo em que "data" é a resposta, o que faço com os anos em que a água nunca congela? Se eu simplesmente remover esses anos, estou enviesando os resultados (ou reduzindo severamente minha faixa de respostas observada) porque removendo seletivamente as observações mais extremas da resposta (ou seja, nunca congelar é a data mais extrema para o congelamento). Portanto, os anos em que a água nunca congela devem nos dizer algo sobre a influência desses motoristas na data do gelo. Parece que as informações nos dois modelos devem ser combinadas.
Rbatt

Fico desconfortável em tratar o congelamento como uma variável booleana, porque o processo subjacente é sem dúvida mais contínuo do que isso.
precisa saber é o seguinte

0

O que você tem são dados de tempo até o evento, que também são denominados análise de sobrevivência. Essa não é realmente a minha área, por isso não estou dando uma resposta detalhada aqui. Pesquisando no Google para "dados de tempo de eventos" ou "análise de sobrevivência", você terá muitos hits!

Um bom ponto de partida poderia ser o capítulo (13) sobre a análise de sobrevivência em Venables / Ripley: MASS, ou o clássico "A análise estatística de dados de tempo de falha, segunda edição", de John D. Kalbfleisch, Ross L. Prentice (aut.)

EDITAR, RESPOSTA ESTENDIDA

Como alternativa à análise de sobrevivência, você pode aproximar isso por regressão logística ordinal. Por exemplo, no seu caso de exemplo da primeira data de congelamento, defina algumas datas para as quais você atribui o estado "estiver congelando no ou antes", 0 (sem congelamento), 1 (congelamento). Que acomoda muito bem os anos sem congelar, você simplesmente tem um vetor de resposta zero. Se as datas escolhidas forem, digamos,

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, em geral, todos os vetores de resposta terão um bloco inicial de zeros, seguido por um bloco de zeros. Em seguida, você pode usar isso com regressão logística ordinal, obtendo uma probabilidade estimada de congelamento para cada data. Traçar essa curva fornecerá uma aproximação para uma curva de sobrevivência (a sobrevivência, nesse contexto, torna-se "ainda não congelada").

EDIT

Também é possível ver seus dados como eventos recorrentes, já que o rio congela (quase) todos os anos. Veja minha resposta aqui: Encontrando preditores significativos de readmissões psiquiátricas

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.