Перейти до вмісту

Ядрова регресія

Матеріал з Вікіпедії — вільної енциклопедії.

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

У будь-якій непараметричній регресії(інші мови) умовне сподівання змінної відносно змінної можна записати:

де  — невідомою функцією.

Ядрова регресія Надараї — Вотсона

[ред. | ред. код]

Надарая(інші мови) та Вотсон(інші мови), обидва в 1964 році, запропонували оцінити як локально зважене середнє, використовуючи ядро як вагову функцію[1][2][3]. Оцінка Надараї — Вотсона:

де  — ядро з пропускною спроможністю таке, що має порядок принаймні 1, тобто .

Виведення

[ред. | ред. код]

Запишемо визначення умовного математичного сподівання,

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

Отримуємо:

що і є оцінкою Надараї — Вотсона.

Ядрова оцінка Прістлі — Чао

[ред. | ред. код]

де це пропускна спроможність (або ж параметр згладжування).

Ядрова оцінка Гассера — Мюллера

[ред. | ред. код]

де [4]

Приклад

[ред. | ред. код]
Оцінена регресійна функція

Цей приклад базується на канадських перехресних даних про заробітну плату, які складаються з випадкової вибірки, взятої із записів Канадського перепису громадського вжитку 1971 року для осіб чоловічої статі із загальною освітою (13 клас). Всього 205 спостережень[джерело?].

На рисунку праворуч показано оцінену функцію регресії з використанням ядра Гауса другого порядку разом із межами асимптотичної мінливості.

Приклад з кодом

[ред. | ред. код]

Наведені нижче команди мови програмування R використовують функцію npreg() для реалізації оптимального згладжування та створення рисунка, наведеного вище. Ці команди можна вводити в командному рядку просто скопіювавши.

install.packages("np")
library(np) # non parametric library
data(cps71)
attach(cps71)

m <- npreg(logwage~age)

plot(m, plot.errors.method="asymptotic",
     plot.errors.style="band",
     ylim=c(11, 15.2))

points(age, logwage, cex=.25)
detach(cps71)

Пов'язані

[ред. | ред. код]

За словами Девіда Салсбурга(інші мови), алгоритми, що використовуються в ядровій регресії, були незалежно розроблені та використані в нечітких системах: «З майже однаковим комп'ютерним алгоритмом нечіткі системи та ядрові регресії на основі густини, здається, були розроблені абсолютно незалежно одна від одної.»[5]

Імплементація в статистичних пакетах

[ред. | ред. код]
  • Пакет математичних програм GNU Octave
  • Julia: KernelEstimator.jl
  • MATLAB: на цих сторінках доступний безкоштовний набір інструментів MATLAB із реалізацією ядрової регресії, ядрової оцінки густини, ядрової оцінки функції небезпеки та багатьох інших (цей набір інструментів є частиною книги [6]).
  • Python: клас KernelReg для змішаних типів даних у підпакеті statsmodels.nonparametric (включає інші класи, пов'язані з густиною ядра), пакет kernel_regression як розширення scikit-learn (неефективний з точки зору пам'яті, корисний лише для невеликих наборів даних)
  • R: функція npreg пакета np може виконувати ядрову регресію.[7]
  • Stata: npregress, kernreg2

Див. також

[ред. | ред. код]

Список літератури

[ред. | ред. код]
  1. Nadaraya, E. A. (1964). On Estimating Regression. Theory of Probability and Its Applications. 9 (1): 141—2. doi:10.1137/1109020.
  2. Watson, G. S. (1964). Smooth regression analysis. Sankhyā: The Indian Journal of Statistics, Series A. 26 (4): 359—372. JSTOR 25049340.
  3. Bierens, Herman J. (1994). The Nadaraya–Watson kernel regression function estimator. Topics in Advanced Econometrics. New York: Cambridge University Press. с. 212—247. ISBN 0-521-41900-X.
  4. Gasser, Theo; Müller, Hans-Georg (1979). Kernel estimation of regression functions. Smoothing techniques for curve estimation (Proc. Workshop, Heidelberg, 1979). Lecture Notes in Math. Т. 757. Springer, Berlin. с. 23—68. ISBN 3-540-09706-6. MR 0564251.
  5. Salsburg, D. (2002). The Lady Tasting Tea: How Statistics Revolutionized Science in the Twentieth Century(інші мови). W.H. Freeman. с. 290—91. ISBN 0-8050-7134-2.
  6. Horová, I.; Koláček, J.; Zelinka, J. (2012). Kernel Smoothing in MATLAB: Theory and Practice of Kernel Smoothing. Singapore: World Scientific Publishing. ISBN 978-981-4405-48-5.
  7. Kloke, John; McKean, Joseph W. (2014). Nonparametric Statistical Methods Using R. CRC Press. с. 98—106. ISBN 978-1-4398-7343-4.

Література

[ред. | ред. код]

Посилання

[ред. | ред. код]