微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R:预测函数结果因版本而异,响应越界0-1

如何解决R:预测函数结果因版本而异,响应越界0-1

首先,感谢您阅读本文。

我刚买了一台新电脑,正在安装最新版本的 R (4.0.3) 和 Rstudio。我用 install.packages() 下载了我所有的包,我在旧电脑上的包是一样的,所以我下载了每个包的最新版本。

我打开了一个项目并尝试运行一个脚本,该脚本已经在我的旧计算机上产生了结果。除了 predict() 函数之外,所有函数的响应结果都与我的旧计算机相同。

predict() 函数生成的概率不在 0-1 之间。除了预测之外,Rstudio 在我的“新机器”上生成的每个输出都与旧机器相同。

# Create the probit model
myprobit <- glm(Delta ~ L4+L10,family = binomial(link = "probit"),data = office_data)
### FINAL RESULTS ###
# Make predictions
probabilities <- myprobit %>% predict(final_model,type = "response")
probabilities<-probabilities[!is.na(probabilities)]
prob <- data.frame(probabilities)

生成的概率是: (1.-1.519594872) (2.-1.259374062) (3.-0.825930396) (4.-0.554464690) (5. 0.338585816) (6. 1.738214267) (7. 2.538773665) (8. 2.085306103) (9. 1.719974131),等等...

当脚本在我的旧电脑上运行时,概率在 0 和 1 之间。

这是我目前尝试过的

先前版本场景:我尝试下载先前版本的 library(stats) 以匹配我拥有的版本,但我的版本比 Rstudio 固定的限制旧,我有 3.4.3 和我有一个错误,指出我需要 3.5 版本或更高版本。新的 R (4.0.3) 不支持旧的东西。看起来我的大部分脚本都运行良好,所以我想保留我的包的更新版本,我只想知道如何从 predict() 函数中获得正确的概率

在旧电脑上设置 R 版本 3.4.3 RStudio 版本 1.1.456 (2009-2018) 图书馆(统计)3.4.3

在新计算机上设置 R 版本 4.0.3 RStudio 版本 1.1.456 (2009-2018) 图书馆(统计)4.0.3

所以我的问题是:版本 3.4.3 和 4.0.3 之间是否有可能影响 predict() 函数的更改?以及如何将概率作为输出

最后,这是我之前结果的图表 Probabilities of a certain event

这是我用新版本和新电脑的结果 Same code as before,except the value are now not in the probabiltie range

非常感谢您抽出宝贵时间。这是我在论坛上的第一篇文章

解决方法

我解决了我的问题。对于可能遇到此问题的任何人,请在运行代码之前验证您加载的库。就我而言,我加载了太多库,我的脚本中有一些未使用。

我认为是因为加载了太多的库,导致active函数的优先级被搞乱了,虽然我的旧电脑没有问题,但新电脑出现了问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。