Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中非常缓慢的GLM logistic回归_R_Logistic Regression_Glm - Fatal编程技术网

R中非常缓慢的GLM logistic回归

R中非常缓慢的GLM logistic回归,r,logistic-regression,glm,R,Logistic Regression,Glm,我试图将逻辑回归拟合到一个小数据集(17k行,16列)。但它在60多分钟后继续运行,我刚刚结束了它。我的CPU和RAM都没有达到最大值——我们只是观察到,一旦开始安装过程,利用率就会提高。为了排除异常编码错误的可能性,我使用5行16列的数据集测试了相同的代码。它成功了——我能够得到一份摘要和确认。因此,肯定还有另一个问题 数据集混合了因子、int和数值变量。我想分享它的模式,但它包含敏感的专有信息 我想知道是否有一些解决方案可以建议,或者在下面分享的五年前的帖子中提出的解决方案是否仍然相关(我现

我试图将逻辑回归拟合到一个小数据集(17k行,16列)。但它在60多分钟后继续运行,我刚刚结束了它。我的CPU和RAM都没有达到最大值——我们只是观察到,一旦开始安装过程,利用率就会提高。为了排除异常编码错误的可能性,我使用5行16列的数据集测试了相同的代码。它成功了——我能够得到一份
摘要
确认
。因此,肯定还有另一个问题

数据集混合了
因子
int
数值
变量。我想分享它的模式,但它包含敏感的专有信息

我想知道是否有一些解决方案可以建议,或者在下面分享的五年前的帖子中提出的解决方案是否仍然相关(我现在正在尝试那些旧的解决方案)

数据集尺寸和代码:

> dim(design_mat_final)
[1] 16812    16

log_model <- glm(label ~., 
                 family = binomial(link = 'logit'),
                 data = design_mat_final)
与此5年的职位相关:

与这个6岁的交叉验证职位相关:

更新:


我尝试了
speedglm
,但没有明显效果。

您的数据是数字数据还是分类数据?我最初的想法是删除分类数据,看看它是否加快了速度。如果存在大量的虚拟编码,分类数据可能会减慢速度。在我之前的工作中,我在一个相对较小的数据集(10000个样本左右)上使用了逻辑回归,有15个预测因子。我们所有的特征都是分类的,但经过虚拟编码后,我们得到了150多个特征。由于这个原因(普通最小二乘法的大矩阵),运行速度比预期慢得多。为了测试上述(@HXSP1947),您可以尝试运行
m@HXSP1947这实际上最终成为了主要问题之一。在我的数据集中有大量的不平衡因子变量,当这些不平衡的分类变量转化为虚拟变量时,很有可能得到一列与另一列的线性组合。由于默认插补方法涉及线性回归,这导致X矩阵无法反转。@user2205916显示
X的维度
> sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] bindrcpp_0.2        dplyr_0.7.4         bit64_0.9-7         bit_1.1-12          data.table_1.10.4-3

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.15     utf8_1.1.3       crayon_1.3.4     assertthat_0.2.0 R6_2.2.2         magrittr_1.5    
 [7] pillar_1.1.0     cli_1.0.0        rlang_0.1.6      tools_3.4.3      glue_1.2.0       yaml_2.1.16     
[13] compiler_3.4.3   pkgconfig_2.0.1  knitr_1.20       bindr_0.1        tibble_1.4.2