Я делаю трехмерную оценку плотности ядра с помощью функции kde из пакета ks в R: https://cran.r -project.org / web / packages / ks / ks.pdf .Функция принимает аргумент "H", который является пропускной способностью - однако я не понимаю формат, в котором этот аргумент предоставляется.Мое понимание математики предполагает, что полоса пропускания должна быть либо одним значением (на которое умножается вывод функции ядра), либо тремя значениями (т. Е. Разной полосой пропускания в каждом измерении).Однако значение, которое фактически принимает функция, представляет собой матрицу 3x3.Используя функции выбора полосы пропускания, такие как Hucv или Hucv.diag из того же пакета, я могу генерировать значения, которые затем с радостью принимает функция kde, например:
[,1] [,2] [,3]
[1,] 6679417.38 72656228.3 69791.9709
[2,] 72656228.26 790328476.1 759145.3598
[3,] 69791.97 759145.4 816.4863
или
[,1] [,2] [,3]
[1,] 3532545052 0.00000 0.00000
[2,] 0 4.58034 0.00000
[3,] 0 0.00000 33.42598
Однако,Я получаю предупреждение о том, что эти функции выбора полосы пропускания плохо себя ведут в таких случаях, как мои данные (где много повторяющихся значений) - и действительно, если посмотреть на результаты, эти полосы пропускания явно слишком велики в одном измерении и слишком малы вдругие два.Но так как я не понимаю, что это за матрица и как она используется в kde, я не могу с пользой ее изменить.Виньетка и руководство для пакета не объясняют этого.
Мои вопросы: кто-нибудь знает, почему эта функция R принимает матрицу 3x3 в качестве аргумента пропускной способности?Как изменить эту матрицу, чтобы изменить вывод ядра?