Оцінка густини

Оці́нка густини́ (англ. density estimation) в теорії ймовірностей та статистиці — це побудова оцінки неспостережуваної підлеглої функції густини ймовірності на основі спостережуваних даних. Ця неспостережувана функція густини розглядається як густина, відповідно до якої розподілено велику сукупність, а дані зазвичай розглядаються як випадкова вибірка з тієї сукупності.

Демонстрація оцінки густини із застосуванням ядрового згладжування: справжню густину, що є сумішшю двох ґаусових розподілів із центрами в 0 та 3, показано суцільною синьою кривою. В кожному кадрі породжено 100 зразків із цього розподілу, показані червоним. Відцентроване на кожному зразкові ґаусове ядро накреслено сірим. Усереднення ґаусіанів видає оцінку густини, показану пунктирною чорною кривою.

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

Приклад оцінки густини

Ми розглядатимемо записи про випадки діабету. Наступне є дослівною цитатою з опису набору даних:

Сукупність жінок віком щонайменше 21 рік з індіанського роду піма, що живуть поблизу Фініксу в Арізоні, перевірялася на цукровий діабет відповідно до критеріїв Всесвітньої організації охорони здоров'я. Дані було зібрано Національним інститутом діабету та дигестивних та ниркових захворювань США. Ми використали 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). Ці оцінки густини є ядровими оцінками густини із застосуванням ґаусового ядра. Тобто, в кожній точці даних розташовано ґаусову функцію густини, а потім обчислено суму функцій густини над усім діапазоном даних.

Оцінка густини p (glu | diabetes=1) (червона), p (glu | diabetes=0) (синя) та p (glu) (чорна)

З густини glu в залежності від діабету за допомогою правила Баєса ми можемо отримати ймовірність діабету в залежності від glu. Для стислості «diabetes» у цій формулі скорочено до «db.».

Другий малюнок показує оцінювану апостеріорну ймовірність p(diabetes=1 | glu). З цих даних виявляється, що підвищений рівень glu пов'язаний із діабетом.

Оцінка ймовірності p(diabetes=1 | 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] вказуючи, що ширина смуги пропускання безумовної густини, використана у другому малюнку вище, видає оцінку умовної густини, що може бути дещо недозгладженою.

Оцінена ймовірність p (diabetes=1 | glu): із безумовною шириною смуги пропускання (червона), та з обумовленою (синя)

Див. також

Примітки

  1. Diabetes in Pima Indian Women - R documentation. (англ.)
  2. Smith, J. W., Everhart, J. E., Dickson, W. C., Knowler, W. C. and Johannes, R. S. (1988). Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. У R. A. Greenes. Proceedings of the Symposium on Computer Applications in Medical Care (Washington, 1988) (Los Alamitos, CA: IEEE Computer Society Press): 261–265. PMC 2245318. (англ.)
  3. Support Functions and Datasets for Venables and Ripley's MASS. (англ.)
  4. Шаблон:Cite journalauthor1=Peter Hall (англ.)
  5. Пакет np — Пакет R, що пропонує низку непараметричних та напівпараметричних ядрових методів, що легко обробляють суміш неперервних, невпорядкованих та впорядкованих типів даних факторів.
  6. Tristen Hayfield; Jeffrey S. Racine. The np Package. (англ.)

Джерела

  • Brian D. Ripley (1996). Pattern Recognition and Neural Networks. Cambridge: Cambridge University Press. ISBN 978-0521460866. (англ.)
  • Trevor Hastie, Robert Tibshirani, and Jerome Friedman. The Elements of Statistical Learning. New York: Springer, 2001. ISBN 0-387-95284-5. (See Chapter 6.) (англ.)
  • Qi Li and Jeffrey S. Racine. Nonparametric Econometrics: Theory and Practice. Princeton University Press, 2007, ISBN 0-691-12161-3. (See Chapter 1.) (англ.)
  • D.W. Scott. Multivariate Density Estimation. Theory, Practice and Visualization. New York: Wiley, 1992. (англ.)
  • B.W. Silverman. Density Estimation. London: Chapman and Hall, 1986. ISBN 978-0-412-24620-3 (англ.)

Посилання


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.