Модель регрессии, чья переменная ответа - день года, когда происходит ежегодное событие (обычно)


13

В данном конкретном случае я имею в виду день замерзания озера. Эта дата «обледенения» встречается только один раз в год, но иногда вообще не происходит (если зима теплая). Таким образом, в один год озеро может замерзнуть в день 20 (20 января), а в другой год оно может вообще не замерзнуть.

Цель состоит в том, чтобы выяснить водителей на льду даты.

Предикторами будут такие вещи, как температура воздуха осень / зима каждый год. Год может быть предсказателем долгосрочного линейного тренда.

1) Является ли целое число «день года» разумной переменной ответа (если нет, то что?)?

2) Как следует обращаться с годами, когда озеро никогда не замерзало?

Редактировать:

Я не знаю, что здесь за этикет, но я решил опубликовать результаты полученных предложений. Вот бумага, открытый доступ . Я получил хорошие отзывы об используемом подходе, спасибо @pedrofigueira и @cboettig. Конечно, ошибки мои.


какой набор данных у вас есть? Мероприятия в течение всех дней года?
Donbeo

@Donbeo, обледенение происходит один раз в год, поэтому переменная отклика имеет ежегодное разрешение. Другие данные поступают также с годовой периодичностью, но в некоторых случаях могут быть преобразованы в данные с более высокой частотой.
rbatt

С какой целью вы хотите рассмотреть дату приезда на лед? Я спрашиваю об этом, потому что статистическое моделирование никогда не бывает правдивым или ложным, но полезным или бесполезным. Таким образом, имеет значение использование статистических результатов, а также понимание того, является ли целевая переменная вообще полезной. Например, что если озеро замерзает с тонким ледяным щитом уже в октябре, но тает на той же неделе и никогда больше не замерзает этой зимой? Может быть, вы делаете свой анализ, чтобы предсказать, когда начать использовать что-то вроде зимних шин? Это может дать подсказку к полезному ответу на ваш второй вопрос.
Хорст Грюнбуш

Спасибо за ваши мысли, @ HorstGrünbusch. Я хочу знать, как изменения климата повлияли на лед, потому что закрытие водной системы влияет на многое (газообмен, свет и т. Д.). Единственными доступными данными по льду являются эти даты приледенения (не толщина и т. Д.).
rbatt

Ответы:


4

Я думаю, что можно рассматривать «день года» как переменную ответа на многомерную регрессию. Чтобы справиться с годами, когда озеро никогда не замерзало, я бы просто подумал, что день замерзания больше наблюдаемого нижнего предела, который соответствует, например, дню, когда содержание льда начинает таять (или полностью тает, если вы хотите быть очень консервативным). Теоретически он должен замерзнуть после этого или может замерзнуть после этого, но мы не знаем. Таким образом, вы можете использовать данные, которые вы собрали по различным параметрам, чтобы понять, как от них зависит день замораживания, если он был разрешен позже, чем самая последняя наблюдаемая дата. Затем вы можете использовать модель Tobitобрабатывать одновременно дни замораживания (соответствующие «нормальным» точкам данных) и нижние пределы (соответствующие ограничениям и, таким образом, рецензируемой регрессии).

Чтобы правильно включить измеренные нижние пределы в анализ, вы можете использовать регрессионную модель с цензурой, в которой зависимая переменная имеет предел при значении нижнего предела. Вышеупомянутая модель Tobit подходит для этого случая; он предполагает существование ненаблюдаемой (скрытой) зависимой переменной которая в нашем случае соответствует дате замерзания, если зима продолжалась бесконечно. Затем наблюдаемая зависимая переменная y i (т.е. измеренный нижний предел на дату замораживания) принимается равной скрытой переменной в отсутствие нижнего предела L i , а в противном случае равной нижнему пределуyiyiLi

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

Применение модели Тобита для обработки цензуры наблюдения за наблюдением приводит к функции логарифмического правдоподобия вида

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

ϕ(.)Φ(.)ijβj


3
1365011365

1
Я бы сказал, что концепция нижнего предела сохраняет свое значение, если каждый год можно рассматривать как самостоятельный эксперимент, т. Е. Если в эксперименте нет памяти, а дату замораживания в одном году можно считать полностью независимой от даты в предыдущий; тогда это должно зависеть только от параметров рассматриваемого года. Если это так, то, насколько я понимаю, переменная не является круговой.
педрофигейра

1
Да, в некоторых случаях такие специальные методы могут работать. Когда (а) событие всегда происходит каждый год и (б) события тесно разбросаны вокруг предсказуемой даты, у вас все будет в порядке, если правильно выбрать происхождение года. Но с большим количеством дисперсии (что, вероятно, имеет место здесь) - или в самых радикальных случаях, когда событие может вообще отсутствовать - вам действительно необходимо применять методы круговой («направленной») статистики. Кстати, последовательная корреляция или независимость является отдельной проблемой в целом.
whuber

2
Я думаю, что верхний предел должен быть определен как можно более точно; если это можно сделать, анализ Тобита становится более проницательным. Я бы предложил в качестве нижнего предела (замораживание могло произойти раньше, но не наблюдалось / не наблюдалось) DoY, за пределами которого вы считаете, что вы больше не можете обнаружить таяние. Возможно, это можно сделать, взглянув на (P, T), необходимые для замерзания воды, и, предполагая постоянное давление, выбрать последние локальные минимумы года или аналогичные. Я полагаю, что вопрос на этом этапе становится скорее физическим, чем статистическим (но в любом случае очень интересным).
Педрофигейра

2
@rbatt Я думаю, что это разумный ответ. Дата начала произвольна, вы можете начать с какой-то другой даты или использовать отрицательные числа; Я не вижу проблемы. Округлость позаботится о себе путем нумерации по дням года.
cboettig

1

День года - это одна из разумных переменных-предикторов, и поэтому я считаю, что разумно относиться к нему так, как предлагает @pedrofigueira.

Для других переменных-предикторов вам может потребоваться быть осторожным с тем, как вы представляете время. Например, представьте, что у вас есть температура воздуха днем ​​- как бы вы смоделировали температуру воздуха как предиктор дня льда? Я не думаю, что сравнение образцов одного и того же дня достаточно.

В любом таком анализе, я думаю, это помогает записать, как вы думаете, может быть правдоподобная генерирующая модель (или модели) данных (где некоторая физика может быть доступна в качестве руководства). Например, разумной моделью может быть интеграция количества дней ниже нуля, и когда этот интеграл пересекает порог (например, связанный с тепловой массой озера), происходит обледенение. Из такой модели вы можете спросить, что является разумным приближением, а что нет.

Например, день года как предиктор имеет значение для этой модели только в том случае, если день года является хорошим предиктором температуры. Таким образом, зная только день года, можно было бы просто иметь средний день года, соответствующий порогу обледенения, возможно, с некоторым нормальным распределением вокруг него, возникающим в результате межгодовых колебаний температуры, и, следовательно, искать тенденцию изменения дневной температуры. года полностью оправдано.

Но если вы знаете другие переменные, такие как air-temp днем, вы, вероятно, столкнетесь с более сложной моделью. Если вы просто используете годовые значения (минимальные значения, средние значения?), То переменная в качестве предиктора дня обледенения также представляется разумной (по тому же аргументу, что и выше).


+1 за указание на физику. Если вы не можете объяснить статистический результат по причине, он может быть ложным, даже если он оказался значительным.
Хорст Грюнбуш

Просто чтобы прояснить, переменная отклика - это день года для ледяного покрова ... это то, что я пытаюсь «предсказать» (в своем ответе вы называете его «предиктором» в некоторых местах). Есть ли у вас предложение по обработке лет без заморозков (другое предложение Tobit ниже)?
rbatt

1
@rbatt, извините за путаницу. Простейшая модель - это 1D, в которой в качестве предиктора используется день года, когда в прошлом происходил обледенение. Но если вы хотите определить тренды по дате поступления, у вас есть полная ДАТА, а не День Года, как вещь, которую вы хотите предсказать, потому что прогноз на, скажем, 2020 год может тогда отличаться от
прогноза

0

Для этой проблемы вам нужны две переменные ответа. Один логический ответ, который указывает, замерзло ли озеро или нет, и один целочисленный ответ, указывающий день года, при условии, что индикатор является истинным. В годы, когда озеро замерзало, наблюдаются как логическое, так и целое число. В те годы, когда озеро не замерзало, наблюдается логическое значение, а целое - нет. Вы можете использовать логистическую регрессию для логического значения. Регрессия за день года может быть обычной линейной регрессией.

Круговая природа дня года не должна быть проблемой, если вы последовательно подсчитываете возможные дни замораживания в течение определенного периода времени. Если вам интересно, с чего начать нумерацию, я бы предложил день, когда были измерены предикторы. Если вы хотите, чтобы модель представляла причинно-следственные связи, это должно быть в том случае, если все предикторы были измерены до любого возможного замораживания.

Для обработки целочисленного и ограниченного характера дня года можно использовать модель дискретизации. То есть существует реальное скрытое значение, которое генерирует наблюдение следующим образом: если значение находится в пределах границ, тогда наблюдение равняется скрытому значению, округленному до ближайшего целого числа, в противном случае значение усекается до границ. Затем скрытое значение может быть смоделировано как линейная функция предикторов плюс шум.


Я понимаю предпосылку подхода, но я не уверен, как реализовать это. Как бы я расположил данные и оценил влияние кандидатов-водителей на булеву / дату? Я работаю в Р.
Рбатт

Поместите данные во фрейм данных, где один столбец - логическое значение, а другой - дата. Затем используйте: fit1 = glm (froze ~ x, frame, family = "binomial") fit2 = lm (date ~ x, frame)
Том Минка

Извините, могу ли я понять "fit2 = lm (date ~ x, frame, subset = Boolean == TRUE)"?
Серхио

Это будут две отдельные модели. В модели, где «дата» - это ответ, что мне делать с годами, когда вода никогда не замерзла? Если я просто удаляю эти годы, то я искажаю результаты (или сильно уменьшаю свой наблюдаемый диапазон ответов), потому что я выборочно удаляю самые экстремальные наблюдения ответа (то есть, никогда не замораживание - самая крайняя дата обледенения). Так что годы, когда вода никогда не замерзает, должны рассказать нам о влиянии этих водителей на дату выпадения льда. Кажется, что информация в обеих моделях должна быть объединена.
rbatt

Мне неудобно рассматривать замораживание как булеву переменную, потому что основной процесс, без сомнения, более продолжительный, чем этот.
cboettig

0

То, что у вас есть, это данные о событиях, которые также называют анализом выживаемости. Это не совсем моя сфера, поэтому я не даю здесь подробного ответа. Поиск в «времени до события» или «анализ выживания» даст вам много хитов!

Хорошей отправной точкой могла бы стать глава (13) об анализе выживания в Venables / Ripley: MASS или классическая «Статистический анализ данных о времени отказов, второе издание» Джона Д. Калбфляйша, Росс Л. Прентис (авт.)

РЕДАКТИРОВАТЬ, РАСШИРЕННЫЙ ОТВЕТ

В качестве альтернативы анализу выживаемости вы можете аппроксимировать это порядковой логистической регрессией. Например, в вашем примере с первой датой замораживания определите несколько дат, для которых вы задаете состояние «было замораживание до или до», 0 (без замораживания), 1 (замораживание). Это хорошо вписывается в годы без замораживания, у вас просто есть нулевой вектор ответа. Если вы выбрали даты, скажем,

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

и, как правило, все векторы ответов будут иметь начальный блок нулей, за которым следует блок единиц. Затем вы можете использовать это с порядковой логистической регрессией, получая предполагаемую вероятность замораживания для каждой даты. Построение этой кривой даст приближение для кривой выживания (в этом контексте выживание становится «еще не замороженным»).

EDIT

Можно также увидеть ваши данные как повторяющиеся события, поскольку река замерзает (почти) каждый год. Вот мой ответ здесь: Нахождение значимых предикторов психиатрической реадмиссии

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.