【问题标题】:Does the glmulti function (from the gmulti package) need a set.seed value?glmulti 函数(来自 gmulti 包)是否需要 set.seed 值?
【发布时间】:2018-10-24 05:27:48
【问题描述】:

我正在使用 glmulti 来选择一组候选广义线性模型,并且每次运行模型时我的变量重要性值和“最佳”模型都会不断变化。

我很难理解为什么会这样,glmulti 是否需要 set.seed 值才能使结果可重现?

谢谢。

【问题讨论】:

    标签: r glm glmulti


    【解决方案1】:

    我相信glmulti 函数在glmulti 包中。 (你应该在你的问题中说明这一点......)如果是这样,帮助页面说有时它使用遗传算法来找到最佳模型。这些确实是随机算法,因此您可以期望得到一个取决于随机数种子的答案。

    【讨论】:

    • 谢谢。是的,我指的是 glmulti 包(问题已编辑)。我也在使用遗传算法,但我看不到任何指定种子集的地方。现在,不幸的是,每次运行都会产生不同的结果。
    • 设置种子的常规方法是set.seed() 函数,在生成一组随机值之前调用一次。如果您在调用glmulti() 之前执行set.seed(123) 之类的操作,您会得到可重现的结果吗?
    • 我已经尝试过了,但仍然收到不同的输出。我想知道种子是否设置在 gmulti 函数的其他位置。
    • glmulti 依赖于rJava,所以可能是它使用了 Java 随机数生成器。我不知道是否有可能为此设置种子;您必须询问软件包维护者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多