【发布时间】:2018-10-24 05:27:48
【问题描述】:
我正在使用 glmulti 来选择一组候选广义线性模型,并且每次运行模型时我的变量重要性值和“最佳”模型都会不断变化。
我很难理解为什么会这样,glmulti 是否需要 set.seed 值才能使结果可重现?
谢谢。
【问题讨论】:
我正在使用 glmulti 来选择一组候选广义线性模型,并且每次运行模型时我的变量重要性值和“最佳”模型都会不断变化。
我很难理解为什么会这样,glmulti 是否需要 set.seed 值才能使结果可重现?
谢谢。
【问题讨论】:
我相信glmulti 函数在glmulti 包中。 (你应该在你的问题中说明这一点......)如果是这样,帮助页面说有时它使用遗传算法来找到最佳模型。这些确实是随机算法,因此您可以期望得到一个取决于随机数种子的答案。
【讨论】:
set.seed() 函数,在生成一组随机值之前调用一次。如果您在调用glmulti() 之前执行set.seed(123) 之类的操作,您会得到可重现的结果吗?
glmulti 依赖于rJava,所以可能是它使用了 Java 随机数生成器。我不知道是否有可能为此设置种子;您必须询问软件包维护者。