Чи слід завантажувати завантажувач на рівні кластерів чи на індивідуальному рівні?


10

У мене є модель виживання з пацієнтами, які вкладаються в лікарні, яка включає випадковий ефект для лікарень. Випадковий ефект розподілений гаммою, і я намагаюся повідомити про «актуальність» цього терміна в масштабі, який легко зрозуміти.

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

Bengtsson T, Dribe M: Історичні методи 43:15, 2010

Однак зараз я хочу повідомити про невизначеність, пов’язану з цією оцінкою, використовуючи завантажувальний інструмент. Дані - це дані про виживання, отже, існує багато спостережень на одного пацієнта та декілька пацієнтів на лікарню. Здається очевидним, що мені потрібно об'єднати спостереження пацієнта при повторному відборі проб. Але я не знаю, чи варто мені також групувати лікарні (тобто перепропонувати лікарні, а не пацієнтів?

Мені цікаво, чи залежить відповідь від параметра, що цікавить, і як би це було інакше, якби ціль була чимось актуальною на рівні пацієнта, а не на рівні лікарні?

Я перерахував статистичний код нижче, якщо це допомагає.

cap program drop est_mhr
program define est_mhr, rclass
stcox patient_var1 patient_var2 ///
    , shared(hospital) ///
    noshow
local twoinvtheta2 = 2 / (e(theta)^2)
local mhr = exp(sqrt(2*e(theta))*invF(`twoinvtheta2',`twoinvtheta2',0.75))
return scalar mhr = `mhr'
end

bootstrap r(mhr), reps(50) cluster(hospital): est_mhr

Відповіді:


2

Уявіть, що ви провели дослідження щодо навчальних досягнень дітей. Ви взяли випадкову вибірку шкіл з деяких районів, і в кожній школі було включено один клас. Ви провели аналіз і тепер хочете використовувати bootstrap для отримання інтервалів довіри для ваших оцінок. Як це зробити?

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

Загалом, є кілька варіантів:

  1. вибірку студентів із заміною,
  2. вибірку цілих шкіл із заміною,
  3. спочатку вибіркові школи із заміною, а потім вибіркові учні (а) із заміною, або (b) без заміни.

Схоже, перший підхід - найгірший. Нагадаємо, що вибірка завантажувальної програми повинна якось імітувати процес вибірки у вашому дослідженні, і ви були школярами вибірки, а не окремими учнями. Вибір між (2) та (3) є складнішим, але, сподіваємось, ви можете знайти дослідницькі роботи, що розглядають цю тему (наприклад, Rena et al. 2010, Field and Welsh, 2007). Як правило, варіанти (2) або (3b) є кращими, оскільки, здається, включення занадто великого рівня вибірки із заміною призводить до упереджених результатів. Більше інформації про цю тему можна знайти також у книгах Ефрона та Тібширані (1994) та Девісона та Хінклі (1997). Зауважте, що у нас є аналогічна проблема із завантаженням даних часових рядіві в цьому випадку ми також скоріше відбираємо цілі блоки серій (наприклад, цілий сезон, якщо припустити сезонність), а не окремі спостереження, оскільки в іншому випадку структура часу буде зруйнована. На практиці не існує рішення одного розміру, але зі складними структурами даних слід вибрати таку схему вибірки завантажувальної програми, яка найкраще відповідає вашим даним та вашій проблемі, і, якщо можливо, використовувати моделювання дослідження для порівняння різних рішень.


Девісон, AC та Хінклі, DV (1997). Методи завантаження та їх застосування. Кембридж.

Ефрон, Б. та Тібшірані, RJ (1994). Вступ до завантажувальної програми . CRC Press.

Ren, S., Lai, H., Tong, W., Aminzadeh, M., Hou, X., & Lai, S. (2010). Непараметричне завантаження для ієрархічних даних. Журнал прикладної статистики, 37 (9), 1487-1498.

Філд, Каліфорнія та Валлійськ, АН (2007). Під час завантаження кластерні дані. Журнал Королівського статистичного товариства: Серія B (Статистична методологія), 69 (3), 369-390.


1
Прийняв вашу відповідь (спасибі), але для інших я зараз реалізував функцію в R, щоб це зробити у своїй відповіді
drstevok

3

Здається, відповідь полягає в тому, що процес перекомпонування повинен враховувати структуру даних. Тут є приємне пояснення (разом з деяким кодом R для його реалізації).

http://biostat.mc.vanderbilt.edu/wiki/Main/HowToBootstrapCorrelatedData

Завдяки вказівнику зі статистичної консалтингової групи UCLA .

Я написав більш швидку (але менш гнучку) версію фрагмента коду, пов’язану з вищезгаданими - перевірте тут оновлення та деталі.

rsample2 <- function(data=tdt, id.unit=id.u, id.cluster=id.c) {
require(data.table)

setkeyv(tdt,id.cluster)
# Generate within cluster ID (needed for the sample command)
tdt[, "id.within" := .SD[,.I], by=id.cluster, with=FALSE]

# Random sample of sites
bdt <- data.table(sample(unique(tdt[[id.cluster]]), replace=TRUE))
setnames(bdt,"V1",id.cluster)
setkeyv(bdt,id.cluster)

# Use random sample of sites to select from original data
# then
# within each site sample with replacement using the within site ID
bdt <- tdt[bdt, .SD[sample(.SD$id.within, replace=TRUE)],by=.EACHI]

# return data sampled with replacement respecting clusters
bdt[, id.within := NULL] # drop id.within
return(bdt)
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.