Русская Википедия:Ядерная регрессия
Ядерная регрессия (Шаблон:Lang-en) — непараметрический статистический метод, позволяющий оценить условное математическое ожидание случайной величины. Его смысл заключается в поиске нелинейного отношения между парой случайных величин X и Y.
В любой непараметрической регрессии условное матожидание величины <math>Y</math> относительно величины <math>X</math> можно записать так:
<math>\operatorname{E}(Y | X) = m(X)</math>
где <math>m</math> — некая неизвестная функция.
Ядерная регрессия Надарая — Уотсона
Надарая и Уотсон одновременно (в 1964 году) предложили оценивать <math>m</math> как локально взвешенное среднее, где веса определялись бы ядром[1][2][3]. Оценка Надарая — Уотсона:
<math> \widehat{m}_h(x)=\frac{\sum_{i=1}^n K_h(x-x_i) y_i}{\sum_{i=1}^nK_h(x-x_i)} </math>
где <math>K</math> — ядро с шириной окна <math>h</math>. Знаменатель представляет собой весовой член с единичной суммой.
Получение
<math> \operatorname{E}(Y | X=x) = \int y f(y|x) dy = \int y \frac{f(x,y)}{f(x)} dy </math>
Находя ядерную оценку плотности для совместного распределения f(x,y) и распределения f(x) с ядром K,
<math>
\hat{f}(x,y) = \frac{1}{n}\sum_{i=1}^{n} K_h\left(x-x_i\right) K_h\left(y-y_i\right)
</math>,
<math>
\hat{f}(x) = \frac{1}{n} \sum_{i=1}^{n} K_h\left(x-x_i\right)
</math>,
получаем
<math> \operatorname{\hat E}(Y | X=x) = \int \frac{y \sum_{i=1}^{n} K_h\left(x-x_i\right) K_h\left(y-y_i\right)}{\sum_{i=1}^{n} K_h\left(x-x_i\right)} dy, </math>
<math> \operatorname{\hat E}(Y | X=x) = \frac{\sum_{i=1}^{n} K_h\left(x-x_i\right) \int y \, K_h\left(y-y_i\right) dy}{\sum_{i=1}^{n} K_h\left(x-x_i\right)}, </math>
<math> \operatorname{\hat E}(Y | X=x) = \frac{\sum_{i=1}^{n} K_h\left(x-x_i\right) y_i}{\sum_{i=1}^{n} K_h\left(x-x_i\right)}, </math>
это и есть оценка Надарая — Уотсона.
Ядерная оценка Пристли — Чжао
<math> \widehat{m}_{PC}(x) = h^{-1} \sum_{i=1}^n (x_i - x_{i-1}) K\left(\frac{x-x_i}{h}\right) y_i </math>
Ядерная оценка Гассера — Мюллера
<math> \widehat{m}_{GM}(x) = h^{-1} \sum_{i=1}^n \left[\int_{s_{i-1}}^{s_i} K\left(\frac{x-u}{h}\right) du\right] y_i </math>
где <math>s_i = \frac{x_{i-1} + x_i}{2}</math>
В статистических пакетах
- MATLAB: свободно распространяемый инструментарий для ядерных регрессий, оценок плотности и проч. доступны по ссылке (является приложением к книге[4]).
- Stata: kernreg2
- R: функция
npreg
в пакете np способна построить ядерную регрессию[5][6]. - Python: пакет kernel_regression (расширение sklearn).
- GNU Octave: математический программный пакет.
Примечания
Литература
Ссылки
- Scale-adaptive kernel regression (with Matlab software).
- Tutorial of Kernel regression using spreadsheet (with Microsoft Excel).
- An online kernel regression demonstration Requires .NET 3.0 or later.
- Kernel regression with automatic bandwidth selection (with Python)