R中使用aniMotum处理ARGOS数据时Newton寻优失败的解决方法
使用aniMotum包生成移动持续性地图时遇Newton优化失败问题
- 场景:有多只动物的ARGOS追踪数据,使用R包aniMotum(原foiegras)创建移动持续性地图,目标为数据框内每只动物生成对应地图。
- 问题:适配示例代码时部分轨迹运行失败,出现
Newton failed to find minimum错误,最终提示优化器失败,建议用map = list(rho_o = factor(NA))简化模型。 - 示例代码:
library(aniMotum) library(tidyverse) movePersistence <- readRDS("newton_error.rds") x <-fit_ssm(movePersistence, vmax = 3, model = "mp", time.step = 2, control = ssm_control(verbose = 2) ) aniMotum::map(x, what = "p", normalise = TRUE, silent = TRUE)
- 排查情况:问题源于TMB包的Newton函数,调整
time.step会改变报错数量(如轨迹14在time.step=2时报13次错,time.step=12时无错误,但2的精度更优),调整ssm_control的容差和迭代数无效。 - 需求:寻求解决该问题的方法(已提供轨迹14的dput数据)。
内容的提问来源于stack exchange,提问作者Zac Warham
相关产品推荐
相关产品推荐

