Почему использование cluster = аргумент в mgcv :: bam () приводит к ошибке? - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь воспроизвести пример, приведенный здесь:

https://stat.ethz.ch/R-manual/R-devel/library/mgcv/html/mgcv-parallel.html

В частности, использование аргумента cluster = в mgcv :: bam ().

Воспроизводимый пример:

require(mgcv)
require(parallel) 

    k <- 13;bs <- "cr"; set.seed(9)
    dat <- gamSim(1,n=6000,dist="poisson",scale=.1)

    nc <- 2   ## cluster size, set for example portability
    if (detectCores()>1) { ## no point otherwise
      cl <- makeCluster(nc) 
    } else cl <- NULL

    system.time(b3 <- bam(y ~ s(x0,bs=bs,k=7)+s(x1,bs=bs,k=7)+s(x2,bs=bs,k=k)
                ,data=dat,family=poisson(),chunk.size=5000,cluster=cl))

Это приводит к следующей ошибке на моем компьютере:

Ошибка в checkForRemoteErrors (val): 2 узла выдавали ошибки; первый ошибка: нет применимого метода для «предсказания», примененного к объекту Класс "gam" Время остановилось на: 0,31 0 0,37

Другая информация, которая может быть полезна:

R version 3.4.4 (2018-03-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Моя машина имеет 4 ядра и 16 ГБ оперативной памяти.

Спасибо.

1 Ответ

0 голосов
/ 21 марта 2019

Я не смог воспроизвести ошибку и получил этот вывод.

> b3

Family: poisson 
Link function: log 

Formula:
y ~ s(x0, bs = bs, k = 7) + s(x1, bs = bs, k = 7) + s(x2, bs = bs, 
    k = k)

Estimated degrees of freedom:
3.64 4.05 9.95  total = 18.64 

fREML score: 8563.705     

Попробуйте обновить пакеты и посмотрите, поможет ли это.В противном случае было бы полезно получить более глубокое понимание.

...