Регресійна модель, змінною реакції якої є день року, коли відбувається щорічна подія (як правило)


13

У цьому конкретному випадку я маю на увазі день, коли озеро замерзає. Ця "крижана" дата трапляється лише раз на рік, але іноді вона взагалі не відбувається (якщо зима тепла). Так що одного року озеро може замерзнути 20-го дня (20 січня), а іншого року воно може взагалі не замерзнути.

Мета - з'ясувати водіїв льодової дати.

Провісниками стануть такі речі, як температура повітря осінь / зима щороку. Рік може бути провісником довгострокової лінійної тенденції.

1) Чи є цілою "день року" змінна відповідь (якщо ні, то що таке?)?

2) Як слід обробляти роки, коли озеро ніколи не замерзало?

Редагувати:

Я не знаю, що тут етикет, але я подумав, що опублікую результати отриманих пропозицій. Ось папір, відкритий доступ . Я отримав хороші відгуки про використаний підхід, дякую @pedrofigueira та @cboettig. Звичайно, помилки - це мої власні.


який у вас набір даних? Заходи протягом усіх днів року?
Донбео

@Donbeo, ожеледиця відбувається раз на рік, тому змінна відповіді знаходиться на щорічній роздільній здатності. Інші дані надходять також щорічно, але в деяких випадках вони можуть бути перетворені на більш високі частоти.
rbatt

З якою метою ви хочете розглянути крижану дату? Я запитую це, тому що статистичне моделювання ніколи не є істинним або хибним, але корисним або марним. Отже, використання статистичних результатів має значення, а також розуміння, чи є цільова змінна взагалі корисною. Наприклад, що якщо озеро замерзає тонким крижаним щитом вже в жовтні, але тане в той же тиждень і ніколи більше не замерзає цієї зими? Можливо, ви робите свій аналіз, щоб передбачити, коли почати використовувати щось на зразок снігових шин? Це може дати натяк на корисну відповідь на ваше 2-е запитання.
Хорст Грюнбуш

Дякуємо за ваші думки, @ HorstGrünbusch. Мені хочеться знати, як зміни клімату вплинули на лід, адже надягання кришки на водну систему впливає на багато речей (газообмін, світло тощо). Єдиними доступними даними льоду є ці дати з льодом (не товщина тощо).
rbatt

Відповіді:


4

Я думаю, що "день року" можна вважати змінною реакції на багатоваріантну регресію. Щоб пережити роки, коли озеро ніколи не замерзало, я просто вважаю, що день замерзання перевищує спостережувану нижню межу, яка відповідає, наприклад, дню, коли вміст льоду починає танути (або повністю плавиться, якщо ви хочете бути дуже консервативним). Теоретично він повинен замерзнути після цього або може замерзнути після цього, але ми не знаємо. Таким чином, ви могли використовувати зібрані вами дані за різними параметрами, щоб зрозуміти, як залежить день заморожування, якщо це було дозволено пізніше останньої дати спостереження. Потім можна використовувати модель Tobitобробляти одночасно заморожувальні дні (відповідні "нормальним" точкам даних) та нижчі межі (відповідні обмеженням і, таким чином, цензурованою регресією).

Для того, щоб правильно включити вимірювані нижні межі в аналіз, можна використовувати цензуровану регресійну модель, в якій залежна змінна має відсічення за значенням нижньої межі. Вищезазначена модель Tobit підходить для цього випадку; він передбачає існування неспостережної (латентної) залежної змінної яка в нашому випадку відповідає даті замерзання, якщо зима тривала нескінченно. Тоді залежна від змінної (тобто вимірювана нижня межа на дату заморожування) вважається такою, що дорівнює прихованій змінній за відсутності нижньої межі , і дорівнює нижній межі в іншому випадку y i L iyiyiLi

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

Застосування моделі Тобіта для обробки цензури спостереження за спостереженням призводить до функції вірогідності журналу форми

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

де і позначають функції ймовірності та кумулятивної щільності відповідно стандартного нормального розподілу. Індекс працює на спостереженнях, а на незалежних змінних. Рішенням лінійної регресії є набір параметрів (включаючи перехоплення), що максимально збільшує функцію вірогідності журналу.Φ ( . ) i j β jϕ(.)Φ(.)ijβj


3
Велике питання з "днем року" стосується того, як його кодувати. Зазвичай це було б представлене як юліанський день між і або як десятковий рік від до , але жодне з них не підходить, оскільки це кругова змінна: День Юліана одразу слідує за днем , наприклад. Таким чином, зокрема, "верхня" та "нижня" межі є безглуздими. (Існує також незначне питання щодо поводження з високосними роками; це може бути вирішено різними простими способами.) Інша велика проблема стосується років поводження, коли заморожування не відбувається: це не відсутні або цензурні дані. 365 0 1 1 3651365011365
качан

1
Я заперечую, що поняття нижньої межі зберігає своє значення, якщо кожен рік можна розглядати як самостійний експеримент, тобто якщо експеримент не має пам'яті і дата заморожування протягом одного року може вважатися повністю незалежною від дати в попередній; то це повинно залежати лише від параметрів відповідного року. Якщо це так, то, наскільки я розумію, змінна не є круговою.
pedrofigueira

1
Так, за деяких обставин такі спеціальні методи можуть працювати. Коли (а) подія завжди відбувається щороку та (б) події щільно розбігаються навколо передбачуваної дати, вам буде добре, вибравши походження року відповідним чином. Але при більшій кількості дисперсії (що, мабуть, так і відбувається) - або в найбільш кардинальних випадках, коли подія може взагалі відсутня - вам дійсно потрібно застосувати методи кругової ("спрямованої") статистики. До речі, серійне співвідношення або незалежність - це окрема проблема.
качан

2
Я думаю, що верхня межа повинна бути визначена якомога точніше; якщо це можна зробити, тобітовий аналіз стає більш проникливим. Я б запропонував як нижню межу (заморожування могло статися раніше, але її не спостерігали / не спостерігали) DoY, за якою ви вважаєте, що не можете більше виявити плавлення. Можливо, це можна зробити, поглянувши на (P, T), необхідний для замерзання води, і, приймаючи постійний тиск, вибрати останні місцеві мінімуми року чи подібне. Я вважаю, що питання в цьому пункті стає швидше фізичним, ніж статистичним (але все-таки дуже цікавим).
pedrofigueira

2
@rbatt Я думаю, що ця відповідь слушна. Дата початку є довільною, ви можете починати з якоїсь іншої дати або використовувати негативні числа; Я не бачу проблеми. Циркулярність піклується про себе шляхом нумерації по днях року.
cboettig

1

День року - це одна розумна змінна прогнозова характеристика, і тому я вважаю, що доцільно ставитися до цього, як підказує @pedrofigueira.

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

У будь-якому подібному аналізі я думаю, що це допомагає записати, на вашу думку, можливою можливою моделлю (або моделями) формування даних (де деякі фізики можуть бути доступними в якості посібника). Наприклад, розумною моделлю може бути інтеграція кількості днів нижче замерзання, і коли цей інтеграл переходить поріг (наприклад, пов'язаний з тепловою масою озера), відбувається ожеледиця. З такої моделі ви можете запитати, що є розумним наближенням, а що ні.

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

Але якщо ви знаєте інші змінні, такі як повітряна температура протягом дня, ви, мабуть, зіштовхуєтесь із прямим вирішенням дещо складнішої моделі. Якщо ви просто використовуєте річні значення (мінімум? Означає?), Ніж змінна як прогнозуючий льодовий день також здається розумною (тим же аргументом, що і вище).


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

Щоб було зрозуміло, день у році для льоду - це змінна відповідь ... це те, що я намагаюся "передбачити" (у своїй відповіді ви називаєте це "прогноктором" у кількох місцях). Чи є у вас пропозиція поводження з роками без заморожування (інша пропозиція Tobit нижче)?
rbatt

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

0

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

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

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


Я розумію передумови підходу, але я не впевнений, як його здійснити. Як я б організував дані та оцінив вплив кандидатів-водіїв булевої дати / дати? Я працюю в Р.
rbatt

Помістіть дані у кадр даних, де один стовпець є булевим, а інший - датою. Потім використовуйте: fit1 = glm (заморожений ~ x, кадр, сімейство = "двочлен") fit2 = lm (дата ~ x, кадр)
Том Мінка

Вибачте, чи можу я зрозуміти "fit2 = lm (дата ~ x, фрейм, підмножина = Boolean == ІСТИНА)"?
Серхіо

Це були б дві окремі моделі. У моделі, де "дата" - це відповідь, що я роблю з роками, коли вода ніколи не замерзає? Якщо я просто знімаю ці роки, то я зміщую результати (або сильно скорочую спостережуваний діапазон відповідей), оскільки я вибірково знімаю найбільш екстремальні спостереження щодо відповіді (тобто ніколи не замерзання - це сама екстремальна ожеледиця). Тож роки, коли вода ніколи не замерзає, повинні нам щось розповісти про вплив цих водіїв на ожеледицю. Схоже, що інформацію в обох моделях слід поєднувати.
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.