Существует ли оптимальная пропускная способность для оценки плотности ядра производных?


14

Мне нужно оценить функцию плотности на основе набора наблюдений, используя оценщик плотности ядра. Основываясь на том же наборе наблюдений, мне также нужно оценить первую и вторую производные плотности, используя производные оценки плотности ядра. Пропускная способность, безусловно, будет иметь большое влияние на конечный результат.

Во-первых, я знаю, что есть пара функций R, которые дают пропускную способность KDE. Я не уверен, какой из них является более предпочтительным. Кто-нибудь может порекомендовать одну из этих функций R для пропускной способности KDE?

Во-вторых, для производной от KDE я должен выбрать ту же полосу пропускания?


Для плотности выбор полосы пропускания всегда несколько субъективен. Это вопрос о том, что является слишком узким и, следовательно, вызывает изменение кривой, которая по существу следует за шумом против слишком широкой, где кривая слишком гладкая и пропускает некоторые реальные особенности кривой. Но вы оцениваете плотность, чтобы узнать форму. Так что, насколько гладкой должна быть оценка, понять непросто. Я думаю, что для деривативов это зависит от того, о какой производной вы хотите знать.
Майкл Р. Черник,

Ответы:


15

Оптимальная ширина полосы для оценки производной будет отличаться от ширины полосы для оценки плотности. В общем, каждая функция плотности имеет свой собственный оптимальный выбор полосы пропускания.

Если ваша цель - минимизировать среднеквадратичную ошибку (которая является обычным критерием), в этом нет ничего субъективного. Это вопрос получения значения, которое минимизирует критерий. Уравнения приведены в разделе 2.10 Хансена (2009) .

Сложность в том, что оптимальная полоса пропускания является функцией самой плотности, поэтому это решение напрямую не используется. Существует множество способов решить эту проблему. Они обычно аппроксимируют некоторые функционалы плотности, используя нормальные приближения. (Обратите внимание, что нет предположения, что сама плотность нормальна. Предполагается, что некоторые функционалы плотности могут быть получены в предположении нормальности.)

От того, где введены приближения, зависит, насколько хорош селектор полосы пропускания. Самый грубый подход называется «нормальным эталонным правилом», которое налагает приближение на высоком уровне. В конце раздела 2.10 в Hansen (2009) приведена формула с использованием этого подхода. Этот подход реализован в hns()функции из ksпакета на CRAN. Это, вероятно, лучшее, что вы получите, если не хотите писать свой собственный код. Таким образом, вы можете оценить производную плотности следующим образом (используя ks):

library(ks)
h <- hns(x,deriv.order=1)
den <- kdde(x, h=h, deriv.order=1)

Лучший подход, обычно называемый селектором с «прямым подключением», предполагает приближение на более низком уровне. Для прямой оценки плотности это метод Шизера-Джонса, реализованный в R с использованием density(x,bw="SJ"). Тем не менее, я не думаю, что подобная возможность доступна в любом R-пакете для оценки производных.

Вместо того, чтобы использовать прямую оценку ядра, вам лучше использовать локальную оценку полинома. Это можно сделать с помощью locpoly()функции из ksпакета в R. Опять же, выбор оптимальной полосы пропускания не реализован, но смещение будет меньше, чем для оценок ядра. например,

den2 <- locpoly(x, bandwidth=?, drv=1) # Need to guess a sensible bandwidth

Спасибо за миллион, Роб. Я, вероятно, буду использовать пропускную способность SJ для оценки плотности.
user13154

Для оценки производной, если я использую h <- hns (x); den <- kdde (x, h = h, Derive.order = 1), h оптимальная полоса пропускания, используемая для оценки. Я спрашиваю об этом, потому что h <- hns (x) выбран без указания производного порядка. Благодарю.
user13154

Я проверил формулу, приведенную в конце раздела 2.10 в Хансене (2009). Похоже, полоса пропускания зависит от порядка производной, скажем, r-й производной. h <- hns (x), по-видимому, не зависит от r.
user13154

Я только что узнал, что функция hns имеет аргумент Derive.order, где я могу указать порядок производных. Еще раз большое спасибо, Роб.
user13154

Сожалею. Я оставил это. Сейчас исправлено.
Роб Хиндман
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.