问题标签 [revoscaler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R 中的 revoScaleR::rxGlm() 问题 - GLM 残差
我可能在这里找不到答案,因为我不认为这个revoScaleR
包被广泛使用。
如果我使用它创建一个 GLMrxGlm()
就可以了。然而,可用的模型残差rxPredict()
似乎只是“原始”残差,即观察值减去拟合值。各种转换版本(偏差残差、皮尔逊残差等)似乎不可用。
有谁知道是否有办法实现这一目标?我可以glm()
通过使用(使用相同的公式、数据、误差结构、链接函数、权重)再次运行模型并使用 来获得模型的偏差残差(例如)residuals(glm_object, type = "deviance")
,但这很麻烦,因为glm()
运行速度非常慢(大型数据集,很多模型参数)。
谢谢。
编辑:包括我试图遵循的文献中的指导:
r - R 中的逻辑回归:glm() 与 rxGlm()
我在 R 中安装了很多 GLM。通常我使用revoScaleR::rxGlm()
它是因为我使用大型数据集并使用非常复杂的模型公式 - 而且glm()
无法应对。
在过去,这些都是基于泊松或伽马错误结构和日志链接功能。这一切都很好。
今天我正在尝试建立一个逻辑回归模型,这是我以前在 R 中没有做过的,我偶然发现了一个问题。我正在使用revoScaleR::rxLogit()
虽然revoScaleR::rxGlm()
产生相同的输出 - 并且有同样的问题。
考虑这个代表:
第一次调用glm()
产生正确的答案。第二次调用rxLogit()
没有。阅读以下文档rxLogit()
:https ://docs.microsoft.com/en-us/machine-learning-server/r-reference/revoscaler/rxlogit它指出“因变量必须是二进制的”。
所以看起来rxLogit()
需要我y
用作因变量而不是p
. 但是,如果我跑
我得到一个总体平均值
取而代之的是 0.5,这也不是正确答案。
有谁知道我该如何解决这个问题?我是否需要offset()
在模型公式中使用一个术语,或者更改权重,或者...
(通过使用这个revoScaleR
包我偶尔把自己画成这样的角落,因为似乎没有多少其他人使用它)
r - shinyapps.io 和 Microsoft R 客户端的问题 - “rsconnect 包已过期”
我在revoScaleR
Windows 10 PC 上运行 RStudio 1.3 和 Microsoft R Client 3.5.2(让我可以访问包)。我现在正在尝试设置自己以共享 Shiny 应用程序,shinyapps.io
以便将来可以远程向客户发送各种“小部件”。
我已按照shinyapps.io
网站上的说明在 RStudio 中安装 rsconnect 包。安装包正常。但是,然后我被指示运行以下代码来授权该帐户:
(显然我已经隐藏了名称/令牌/秘密的详细信息)
我收到一条错误消息:
错误:HTTP 426 GET https://api.shinyapps.io/v1/users/current/ rsconnect 包已过期。请更新到 CRAN 上可用的最新版本。
发生这种情况是因为通过使用 Microsoft R Client 3.5.2(例如,而不是 R 4.0.0),我无法访问最新版本的包吗?如果是这样,有没有办法解决这个问题?
谢谢你。
r - R 中 revoScaleR::rxGlm() 的方差分析问题
我建立了很多 GLM。通常在具有许多模型参数的大型数据集上。这意味着 base R 的glm()
函数并不是真正有用,因为它无法处理大小/复杂性,所以我通常使用它revoScaleR::rxGlm()
。
但是,我希望能够对嵌套模型对进行 ANOVA 测试,但我还没有找到一种方法来对rxGlm()
创建的模型对象执行此操作,因为 R 的anova()
函数不适用于它们。revoScaleR
提供了一个将对象as.glm()
转换为rxGlm()
对象的glm()
函数 - 有点 - 但它在这里不起作用。
例如:
工作正常,但如果我这样做:
我看到错误消息:
同样的问题出现在之前的 SO 帖子中:Error convert rxGlm to GLM but not似乎已经解决了。
有人可以帮忙吗?如果as.glm()
在这里没有帮助,还有其他方法吗?我可以编写一个自定义函数来执行此操作(将我的编码能力扩展到我怀疑的极限!)?
此外,SO 是最好的论坛,还是其他 StackExchange 论坛之一是寻求指导的更好地方?
谢谢你。
r - R 中的 GLM - 大型数据集/复杂模型公式
我使用 R 在中大型数据集上拟合大量 GLM。我的模型中通常有 500k-1M 行和多达 50 个因子(在简化之前 - 带状或删除不可预测的因子等)
Base Rglm()
似乎不能很好地应对这种规模的问题。我可以并且确实使用revoScaleR::rxGlm()
,这在这方面要好得多,但这有其自身的问题(不完整的文档,无法使用其他设计用于处理glm
对象的 R 函数等)。
有没有我不知道的替代方案?目前这种事情首选的 glm 包是什么?
(我现在确实需要坚持 GLM 框架——我可能会在某个时候分支到其他建模技术——其中当然有很多——但这是以后的一种......)
谢谢。
r - rxLinMod 和 lm() 不一致。为什么要删除其中一个系数?
我一直在尝试对不同的值集进行线性回归,但发现有些奇怪。每当我尝试使用函数 rxLinMod() 进行线性回归时,其中一个系数会被丢弃,而每当我使用 lm() 时,这种情况都不会发生。
给我带来麻烦的数据集是这个:
日期 | 价值观 |
---|---|
2020-06-19 | 5950 |
2020-06-16 | 5950 |
使用 rxLinMod 后,我得到了这个:
同时, lm() 返回:
我已经确保没有任何变量被视为一个因素,Date 属于 Date 类,而 Values 是一个数字类。我期待一个非常接近 0 的斜率。有谁知道为什么第一个系数会下降?
如果您还有什么想知道的,请随时提问。