小编com*_*ues的帖子

不同电脑的回归输出不同

我们正在 Fedora 33 上使用 R 将广义线性模型拟合到一组数据。我们 3 个人拥有完全相同的数据集、完全相同的操作系统 (Fedora 33)、完全相同的 R 版本和软件包版本。sessionInfo() 输出看起来也一样。这是当前的函数调用:

probitModel <- glm(Y ~ a + b + c +
                     d + e + f + g,
                   control=glm.control(maxit=100), 
                   start=startingval,
                   family = binomial(link = "probit"),
                   data = thisData)
Run Code Online (Sandbox Code Playgroud)

需要注意的是,正常的“lm”拟合在比较时会产生完全相同的结果。关于“glm”的一些东西在不同的计算机上会产生不同的结果。最后,结果是一致的,因为我们在同一台计算机上使用相同的数据得到相同的结果。只有当我们比较结果时才会出现问题。

我们已经检查过:

  • 相同的操作系统版本。
  • 相同的R版本。
  • 相同的包版本。
  • 一样的种子。
  • 所有计算机都是 64 位,R 安装是 64 位。
  • 相同的 sessionInfo()
  • 相同的 g++ 版本。

数据文件可以在这里找到。我们只是使用 load() 来设置数据,调用上面的函数,当输出应该相同时,我们得到的输出略有不同。

我的 sprintf("%.20f", probitModel$coefficients) 结果:

"-2.87521118137333120401" "-0.29134882504319664642" "0.11641651353472137753"  "-0.00811350544106945529" "0.00939647781971938295"  "0.00000000889056301580"  "-0.00000000003021053820" "0.04553200818707187070" 
Run Code Online (Sandbox Code Playgroud)

另一台电脑的结果:

"-2.87521124006409856122" "-0.29134881939721285482" "0.11641651896472486605"  "-0.00811350937056383621" "0.00939647799201156347" "0.00000000889056417264" …
Run Code Online (Sandbox Code Playgroud)

statistics regression r numeric glm

6
推荐指数
0
解决办法
133
查看次数

标签 统计

glm ×1

numeric ×1

r ×1

regression ×1

statistics ×1