Вказання структури коваріації: плюси і мінуси


15

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

  1. покращити корисність?
  2. підвищити точність прогнозування даних, що витримуються?
  3. дозволяєте оцінити ступінь коваріації?

Які витрати на накладення коваріаційної структури? Робить це

  1. додати обчислювальні ускладнення для алгоритмів оцінки?
  2. збільшити кількість оцінюваних параметрів, також збільшуючи AIC, BIC, DIC?

Чи можливо визначити правильну структуру коваріації емпіричним шляхом, чи це щось, що залежить від ваших знань щодо процесу генерації даних?

Будь-які витрати / вигоди, які я не згадував?


5
В основному ви повинні вказати структуру коваріації в GLM. Якщо "припускаючи відсутність коваріації", ви маєте на увазі "всі позадіагональні записи в матриці коваріації дорівнюють нулю", то все, що ви робили, передбачало одну дуже конкретну структуру коваріації. (Ви можете бути ще більш конкретним, наприклад, припускаючи, що всі відхилення є рівними.) Підсумок: Я не впевнений, що питання має сенс у його теперішній формі. (Я все-таки відмовився, бо думаю, що багато чого навчусь, коли гуру почнуть розмовляти.) Або я вас нерозумію?
Стефан Коласа

Ви маєте на увазі структуру коваріації в ГЛМ з, скажімо, багатоваріантним нормальним розподілом змішування, або аналіз коваріаційної структури матриці коваріації чи щось інше?
Тім

1
@StephanKolassa Ви хочете скопіювати свій коментар у відповідь? Здається, відповісти на це питання так добре, як і збирається отримати.
Корон

@Corone: хороший момент, дякую за нагадування. Я пішов і опублікував відповідь. Можливо, хтось ще
задзвонить

Відповіді:


13

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

Це дійсно варіант «Я не підписуюся на жодну філософію; я прагматик». - "Ви щойно описали філософію, на яку ви підписалися".

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

І звичайно, «недоліком» є те, що вам потрібно насправді продумати все це. Набагато простіше просто використовувати налаштування програми за замовчуванням. Але це так, як завжди їздити на першій передачі, оскільки ваш автомобіль був на першій передачі, коли ви його купили, і розуміння зміни передачі вимагає зусиль. Не рекомендовано.


2
+1 Я погоджуюся з кожним написаним вами словом, але я не думаю, що це повністю вирішує питання. Наприклад, чи зменшення заданої структури коваріації зменшує залишки моделі?
Джек Таннер

1
@JackTanner: спасибі! І ви маєте рацію в тому, що я не повністю відповів на ваше запитання, тому я спочатку опублікував це лише як коментар. Правду кажучи: наприклад, я не знаю, чи вказане правильна структура коваріації обов'язково зменшить залишки. Я думаю, що введення додаткової структури (коваріації) залишків може навіть її збільшити - але це може заощадити на параметрах. Подумайте про структуру AR (1) замість неструктурованої матриці коваріації. Подібно до інших питань у вашій публікації. Мені напевно були б цікаві погляди інших людей на це.
Стефан Коласа

1
+1; Це корисна відповідь, до того ж, імідж приголомшливий.
russellpierce

2

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

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

У SEM я виявив (через обмежений досвід, а не через теоретичне вивчення):

Переваги

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

  2. Я ще не намагався виставити дані для прогнозування, але моя інтуїція полягає в тому, що фіксація коваріацій до нуля у вашій моделі є аналогічним передбаченню ДВ, поєднуючи набір окремих, IV-лінійних рівнянь лінійної регресії. На відміну від такого підходу, множинна регресія пояснює коваріацію в IV, коли створюється модель рівнянь для прогнозування ДВ. Це, безумовно, покращує інтерпретаційність шляхом відокремлення прямих ефектів від непрямих ефектів, що відбуваються повністю в рамках включеного набору IV. Чесно кажучи, я не впевнений, чи це обов'язково покращує прогнозування DV. Будучи статистичним користувачем, а не статистиком, я поєднав наступну функцію тестування імітаційного моделювання, щоб дати неповну відповідь (мабуть, "Так, прогнозована точність покращується, коли модель включає IV коеваріантність") у цьому, сподіваємось, аналогічному випадку ...

    simtestit=function(Sample.Size=100,Iterations=1000,IV.r=.3,DV.x.r=.4,DV.z.r=.4) {
    require(psych); output=matrix(NA,nrow=Iterations,ncol=6); for(i in 1:Iterations) {
    x=rnorm(Sample.Size); z=rnorm(Sample.Size)+x*IV.r
    y=rnorm(Sample.Size)+x*DV.x.r+z*DV.z.r
    y.predicted=x*lm(y~x+z)$coefficients[2]+z*lm(y~x+z)$coefficients[3]
    bizarro.y.predicted=x*lm(y~x)$coefficients[2]+z*lm(y~z)$coefficients[2]
    output[i,]=c(cor(y.predicted,y)^2,cor(bizarro.y.predicted,y)^2,
    cor(y.predicted,y)^2>cor(bizarro.y.predicted,y)^2,cor(x,z),cor(x,y),cor(y,z))}
    list(output=output,percent.of.predictions.improved=100*sum(output[,3])/Iterations,
    mean.improvement=fisherz2r(mean(fisherz(output[,1])-fisherz(output[,2]))))}
    
    # Wrapping the function in str( ) gives you the gist without filling your whole screen
    str(simtestit())
    

    N= IterationsнSample.Sizez = x +y = x + z +yxz похідних від:

    1y.predicted ) і ...

    2bizarro.y.predicted ).

    outputIterationsR2121>2rxyzoutputsimtestit()str( )R21rpsych

    R2R2 здається більшим, коли коваріація IV (якою можна керувати неповно, вводячи аргумент дляIV.r) більший. Оскільки ви, мабуть, більш знайомі зі своєю функцією GLM, ніж я (що зовсім не є), ви, ймовірно, можете змінити цю функцію або скористатися базовою ідеєю для порівняння прогнозів GLM для будь-якого кількості IV, які ви хочете, без зайвих проблем. Якщо припустити, що так (і все-таки) вийде так само, здається, що основний варіант відповіді на ваше друге питання - це, мабуть, так, але наскільки це залежить від того, наскільки сильно знаходиться коварія IV. Різниці в помилках вибірки між затриманими даними та даними, які використовуються для підгонки моделі, можуть перешкодити поліпшенню прогнозованої точності в останньому наборі даних, оскільки, схоже, поліпшення здається невеликим, якщо IV кореляції не є сильними (принаймні, у максимально базовий випадок лише з двома IV).

  3. Вказівка ​​вільного шляху для коваріації між IV в моделі означає прохання функції підгонки моделі оцінити коефіцієнт цього шляху, який представляє ступінь коваріації між IV. Якщо ваша функція GLM дозволяє вказати модель, в якій коваріація між ІВ вільно оцінюється, а не фіксується до нуля, то ваша проблема - це, сподіваємось, просте питання з'ясувати, як це зробити і як отримати функцію для виведення що оцінка. Якщо ваша функція за замовчуванням оцінює IV коваріації, ваша проблема надалі спрощується лише до останнього питання (як це відбувається у випадку lm( )).

Витрати

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

  2. Так, структура вільної оцінки коваріації передбачає оцінки параметрів. Населення мають параметри коваріації, тому якщо ви оцінюєте коваріації населення, ви оцінюєте параметри. Однак якщо ваша модель підходить набагато краще, оскільки ви вирішили оцінити нетривіальну кореляцію, а не прив’язувати її до нуля, ви, можливо, очікуєте, що інформаційні критерії Akaike та Bayesian покращаться, як і інші критерії, які містять GoF. Я не знайомий з критерієм інформації про відхилення ( DIC, на який ви посилаєтесь, правда?), Але, судячи з його сторінки у Вікіпедії , він, здається, також містить GoF і штраф за складність моделі.

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

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

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


2
+1 Вражаюча продумана відповідь. Ласкаво просимо в CV, Нік!
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.