2014-12-05 2 views
2

Тот, кто знаком с оценкой плотности ядра, должен знать, что существуют некоторые методы коррекции границ. Функция ksdensity имеет потенциал для ограниченной поддержки [L U]. Тогда, мой вопрос: «Какой метод граничной коррекции используется здесь?» Отражение или перенормировка?Выполняет ли функция ksdensity MATLAB коррекцию границы?

ответ

4

Я не знаю, как перенормировки делается традиционно в оценке KDE, но судя по этой части кода в ksdensity, который имеет дело с поддержкой (Run type ksdensity или edit ksdensity в окне командной MATLAB)

function ty = apply_support(yData,L,U) 
% Compute transformed values of data 
if L==-Inf && U==Inf % unbounded support 
    ty = yData; 
elseif L==0 && U==Inf % positive support 
    ty = log(yData); 
else     % finite support [L, U] 
    ty = log(yData-L) - log(U-yData); % same as log((y-L)./(U-y)) 
end 

Я ожидал бы, что связанный выход поддержки ty = log(yData-L) - log(U-yData) будет нормированной и зарегистрированной версией исходного сигнала yData.

+0

Нет проблем. Я думаю, что это часть информации, которая должна быть более явной для MATLAB, и в документации нет ничего. –