Оцените оценку плотности ядра для 4d, которая составляет одну - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу сделать оценку плотности ядра для набора данных 4d (каждая точка представлена ​​четырьмя значениями).Насколько я знаю, только функция kde() в пакете ks может обрабатывать данные с более чем двумя измерениями.

Однако kde() возвращает ошибку, когда значения точек суммируются с единицей.В кратком примере.

library(ks)
data=runif(2)
data=cbind(data,1-data) # Data is a 2x2 matrix, with column 2 equal to 1-column 1
kde(data)
Error in chol.default(S) :
  the leading minor of order 2 is not positive definite

Однако, насколько мне известно, оценка ядра может использоваться для любых данных, включая данные, которые суммируются в единицу по измерениям.Это подтверждается пакетом kde2d() в MASS, не имеющем проблем с данными.

library(MASS)
data=runif(2)
data=cbind(data,1-data)
kde2d(data[,1],data[,2]) #runs as expected.

Может ли кто-нибудь предложить другую функцию для оценки ядра 4d или возможный обходной путь для использования kde()с данными, сумма которых равна единице?

...