Loading AI tools
З Вікіпедії, вільної енциклопедії
Оці́нка густини́ (англ. density estimation) в теорії ймовірностей та статистиці — це побудова оцінки неспостережуваної підлеглої функції густини ймовірності на основі спостережуваних даних. Ця неспостережувана функція густини розглядається як густина, відповідно до якої розподілено велику сукупність, а дані зазвичай розглядаються як випадкова вибірка з тієї сукупності.
Для оцінки густини застосовують ряд підходів, включно з вікном Парцена — Розенблатта та рядом методик кластеризації даних, включно з векторним квантуванням[en]. Найпростішою формою оцінки густини є загрублена гістограма.
Ми розглядатимемо записи про випадки діабету. Наступне є дослівною цитатою з опису набору даних:
Сукупність жінок віком щонайменше 21 рік з індіанського роду піма, що живуть поблизу Фініксу в Аризоні, перевірялася на цукровий діабет відповідно до критеріїв Всесвітньої організації охорони здоров'я. Дані було зібрано Національним інститутом діабету та дигестивних та ниркових захворювань США[en]. Ми використали 532 повні записи.[1][2] |
В цьому прикладі ми будуємо три оцінки густини для glu (концентрації глюкози в плазмі): одну умовну при наявності діабету, другу умовну при відсутності діабету, та третю безумовну відносно діабету. Умовні оцінки густини потім використовуються для побудови ймовірності діабету в залежності від glu.
Дані glu було отримано з програмного пакету MASS[3] мовою програмування R. В R ?Pima.tr
та ?Pima.te
дають повний звіт про дані.
Середнім значенням glu у випадках діабету є 143.1, а стандартним відхиленням — 31.26. Середнім значенням glu у випадках не-діабету є 110.0, а стандартним відхиленням — 24.29. З цього ми бачимо, що в даному наборі даних випадки діабету пов'язано з вищими рівнями glu. Це можна зробити яснішим за допомогою графіків оцінюваних функцій густини.
Перший малюнок показує оцінки густини p(glu | diabetes=1), p(glu | diabetes=0), та p(glu). Ці оцінки густини є ядровими оцінками густини із застосуванням ґаусового ядра. Тобто, в кожній точці даних розташовано ґаусову функцію густини, а потім обчислено суму функцій густини над усім діапазоном даних.
З густини glu в залежності від діабету за допомогою правила Баєса ми можемо отримати ймовірність діабету в залежності від glu. Для стислості «diabetes» у цій формулі скорочено до «db.».
Другий малюнок показує оцінювану апостеріорну ймовірність p(diabetes=1 | glu). З цих даних виявляється, що підвищений рівень glu пов'язаний із діабетом.
Наступні команди R створять наведені вище малюнки. Ці команди можна ввести до командного запрошення застосуванням копіювання та вставлення.
library(MASS)
data(Pima.tr)
data(Pima.te)
Pima <- rbind (Pima.tr, Pima.te)
glu <- Pima[, 'glu']
d0 <- Pima[, 'type'] == 'No'
d1 <- Pima[, 'type'] == 'Yes'
base.rate.d1 <- sum(d1) / (sum(d1) + sum(d0))
glu.density <- density (glu)
glu.d0.density <- density (glu[d0])
glu.d1.density <- density (glu[d1])
glu.d0.f <- approxfun(glu.d0.density$x, glu.d0.density$y)
glu.d1.f <- approxfun(glu.d1.density$x, glu.d1.density$y)
p.d.given.glu <- function(glu, base.rate.d1)
{
p1 <- glu.d1.f(glu) * base.rate.d1
p0 <- glu.d0.f(glu) * (1 - base.rate.d1)
p1 / (p0 + p1)
}
x <- 1:250
y <- p.d.given.glu (x, base.rate.d1)
plot(x, y, type='l', col='red', xlab='glu', ylab='estimated p(diabetes|glu)')
plot(density(glu[d0]), col='blue', xlab='glu', ylab='estimate p(glu),
p(glu|diabetes), p(glu|not diabetes)', main=NA)
lines(density(glu[d1]), col='red')
Зауважте, що наведена вище оцінка умовної густини використовує ширини смуг пропускання (англ. bandwidth), що є оптимальними для безумовних густин. Як альтернативу можна застосовувати метод Хола, Расіна та Лі (англ. Hall, Racine and Li, 2004)[4] та пакет R np[5] для автоматичного (керованого даними) вибору ширини смуги пропускання, що є оптимальним для оцінки умовних густин; див. введення до пакету np у начерку про нього.[6] Наступні команди R використовують функцію npcdens()
для отримання оптимального згладжування. Зауважте, що реакція "Yes"/"No" є фактором.
library(np)
fy.x <- npcdens(type~glu, nmulti=1, data=Pima)
Pima.eval <- data.frame(type=factor("Yes"),
glu=seq(min(Pima$glu), max(Pima$glu), length=250))
plot(x, y, type='l', lty=2, col='red', xlab='glu',
ylab='estimated p(diabetes|glu)')
lines(Pima.eval$glu, predict(fy.x, newdata=Pima.eval), col="blue")
legend(0, 1, c("Unconditional bandwidth", "Conditional bandwidth"),
col=c("red", "blue"), lty=c(2, 1))
Третій малюнок використовує оптимальне згладжування методом Хола, Расіна та Лі,[4] вказуючи, що ширина смуги пропускання безумовної густини, використана у другому малюнку вище, видає оцінку умовної густини, що може бути дещо недозгладженою.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.