В R я использую Rjags, который вызывает JAGS для образца для последующего распределения, которое возвращает образцы в форме mcmc.list. Моя цель - принять режим каждой выборочной переменной (первой цепочки), представленной в форме mcmc.list.Эффективный способ расчета режима объекта mcmc.list в R или Как преобразовать mcmc.list в тип данных ff? (Обработка больших данных типа mcmc.list)
Когда я загружаю файл объекта mcmc.list, он потребляет 8 из 24 ГБ оперативной памяти, к которой у меня есть доступ. Кроме того, когда я использую приведенный ниже метод для вычисления его режима, ОЗУ пересекает метку 23 ГБ, и процесс выходит из строя.
Я считаю, что есть лучшие и эффективные способы сделать это, поэтому, если кто-то может выбросить какой-то свет.
Метод, который я использую для генерации режима, приведен ниже. Здесь образцы [[1]] является первой цепью mcmc.list
Mode<-lapply(samples[[1]], function(x){ ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]})
Я также смотрел на пакет и след, так как в приведенном выше примере это только половину моего набора данных. Я не могу понять, как преобразовать mcmc.list в фрейм данных типа ff. sample<-as.ffdf(samples[[1]])
берет навсегда выполнение.
Если кто-то может предоставить некоторые ресурсы, объясняющие пакет ff подробно, например, это тоже было бы здорово. Спасибо
Я использую 20000 образцов. Сколько вы порекомендуете мне похудеть? Я использовал n.thin = 3. –
В настоящее время ваш выход составляет ~ 8 ГБ, и вы прореживаетесь на 3, что вызывает проблемы с вычислением. Вы не хотите так сильно утончаться, чтобы у вас не было много образцов из вашего заднего, но вы должны достаточно тонко, чтобы вы могли его суммировать. Я бы рекомендовал прореживание на 5 или 6, что, надеюсь, уменьшит размер вашей продукции. –