Мне нужно оценить функцию плотности на основе набора наблюдений, используя оценщик плотности ядра. Основываясь на том же наборе наблюдений, мне также нужно оценить первую и вторую производные плотности, используя производные оценки плотности ядра. Пропускная способность, безусловно, будет иметь большое влияние на конечный результат.
Во-первых, я знаю, что есть пара функций R, которые дают пропускную способность KDE. Я не уверен, какой из них является более предпочтительным. Кто-нибудь может порекомендовать одну из этих функций R для пропускной способности KDE?
Во-вторых, для производной от KDE я должен выбрать ту же полосу пропускания?
r
nonparametric
pdf
kernel-smoothing
user13154
источник
источник
Ответы:
Оптимальная ширина полосы для оценки производной будет отличаться от ширины полосы для оценки плотности. В общем, каждая функция плотности имеет свой собственный оптимальный выбор полосы пропускания.
Если ваша цель - минимизировать среднеквадратичную ошибку (которая является обычным критерием), в этом нет ничего субъективного. Это вопрос получения значения, которое минимизирует критерий. Уравнения приведены в разделе 2.10 Хансена (2009) .
Сложность в том, что оптимальная полоса пропускания является функцией самой плотности, поэтому это решение напрямую не используется. Существует множество способов решить эту проблему. Они обычно аппроксимируют некоторые функционалы плотности, используя нормальные приближения. (Обратите внимание, что нет предположения, что сама плотность нормальна. Предполагается, что некоторые функционалы плотности могут быть получены в предположении нормальности.)
От того, где введены приближения, зависит, насколько хорош селектор полосы пропускания. Самый грубый подход называется «нормальным эталонным правилом», которое налагает приближение на высоком уровне. В конце раздела 2.10 в Hansen (2009) приведена формула с использованием этого подхода. Этот подход реализован в
hns()
функции изks
пакета на CRAN. Это, вероятно, лучшее, что вы получите, если не хотите писать свой собственный код. Таким образом, вы можете оценить производную плотности следующим образом (используяks
):Лучший подход, обычно называемый селектором с «прямым подключением», предполагает приближение на более низком уровне. Для прямой оценки плотности это метод Шизера-Джонса, реализованный в R с использованием
density(x,bw="SJ")
. Тем не менее, я не думаю, что подобная возможность доступна в любом R-пакете для оценки производных.Вместо того, чтобы использовать прямую оценку ядра, вам лучше использовать локальную оценку полинома. Это можно сделать с помощью
locpoly()
функции изks
пакета в R. Опять же, выбор оптимальной полосы пропускания не реализован, но смещение будет меньше, чем для оценок ядра. например,источник