Model-R / modleR

An ecological niche model workflow based on dismo
https://model-r.github.io/modleR
51 stars 23 forks source link

Pseudoausencia #73

Closed luaratourinho closed 1 year ago

luaratourinho commented 4 years ago

Prezados(as),

Estou com dúvida sobre como escolho as diferentes estratégias de pseudoausencia considerando o artigo de Babet_Massin et al. 2012. A sugestão seria quando for usar algoritmos estatísticos, devo escolher essas duas estratégias a depender da quantidade de ocorrência: "When 100 or less presence points, a minimum of 10 runs with 100 PA; SRE strategy. When more than 300 presence points, 1000 PA should be select"; disk strategy. Quando for usar algoritmos de aprendizado de máquina o ideal seria usar 10000 PA com apenas 1run. No modleR devo fazer o setup e o do_any para cada algoritmo, escolhendo as diferentes estratégias? Se eu fizer assim devo mudar/criar diferentes objetos para chamar nas próximas funções ou tem alguma função no próprio modleR que faz isso automaticamente?

Desde já muito obrigada pelo retorno,

Luara Tourinho

AndreaSanchezTapia commented 4 years ago

Oi Luara,

entendo que isto vai ser feito para uma espécie só e que você quer usar alguns algoritmos com um setup e outros algoritmos com outro setup. Como está hoje, setups diferentes devem ser rodados em pastas diferentes porque o metadado diferente sobreescreveria. Eu rodaria setup_sdmdata() e do_any() em duas sequências separadas cuidando de modificar o parâmetro “models_dir” para cada setup. Juntar posteriormente não deve dar dificuldade.

luaratourinho commented 4 years ago

Oi Andrea, muito obrigada pela resposta! Vou ver se faço isso então.

Tenho outra dúvida, caso você consiga me responder. Na parte do final_model está dando o erro Error in { : task 1 failed - "cannot open the connection", mas não encontro onde pode estar o erro, li todo o help e me parece certo. A única coisa que me vem a cabeça é que posso estar colocando as pastas com nomes "errados", mas pelo que entendi as pastas são criadas, então não faz sentido...

Meu final_model está assim:

foreach(i = 1:length(especies), .packages = c("dismo", "kernlab", "modleR", "raster", "rJava", "maptools")) %dopar% {

for (i in 1:length(especies)){

    especie <- especies[i]
    occs <- vole_all[vole_all$sp == especie, c("lon", "lat")]
    final_model(species_name = especie,
        algorithms = NULL,
        weight_par = "TSSmax",
        select_partitions = TRUE,
        cut_level = c("spec_sens"),
        scale_models = T,
        select_par = "TSSmax",
        select_par_val = 0.7,
        consensus_level = 0.5,
        models_dir = "./results",
        final_dir = "final_models",
        proj_dir = "future", #raster do futuro
        which_models = c ("raw_mean_cut","bin_consensus"), #aqui seria onde eu colocaria a media ponderada
        uncertainty = T,
        write_final = T)

}

AndreaSanchezTapia commented 4 years ago

Oi Luara, só com o código não tem como saber qual pode ser o erro ou se é o pacote. Tente isolar o erro o mais que puder, fora do paralelismo, para uma espécie só, com argumentos padrão, sem projeção, por exemplo, e nos conte onde acontece, por favor.