如何解决在没有太多 RAM 的情况下通过多次迭代运行回归的策略
但是我需要用这个基数进行的分析非常繁重,因为它需要分析许多变量之间的迭代。
我一直在尝试使用 Lavaan
包进行确证因子分析 (CFA)。
但是,该函数在运行一天后在 4.521 次迭代时停止运行。使用Stata,计算机在一段时间后重新启动。
当它结束时(在 R 中),我有一个 200mb 的 df,以及控制台消息:
Warning messages:
1: In lav_data_full(data = data,group = group,cluster = cluster,:
lavaan WARNING: some ordered categorical variable(s) have more than 12 levels: idade_coop n_pac membros cs_sobre_cooperados soma_pl_deposito ativocomp pl_sobre_ativos roa
2: In lav_samplestats_step2(UNI = FIT,wt = wt,ov.names = ov.names,:
lavaan WARNING: correlation between variables sul and sudeste is (nearly) 1.0
3: In lav_samplestats_step2(UNI = FIT,:
lavaan WARNING: correlation between variables ativocomp and soma_pl_deposito is (nearly) 1.0
4: In lav_model_estimate(lavmodel = lavmodel,lavpartable = lavpartable,:
lavaan WARNING: the optimizer warns that a solution has NOT been found!
5: In lav_model_estimate(lavmodel = lavmodel,:
lavaan WARNING: the optimizer warns that a solution has NOT been found!
6: In lav_model_estimate(lavmodel = lavmodel,:
lavaan WARNING: the optimizer warns that a solution has NOT been found!
7: In lav_model_estimate(lavmodel = lavmodel,:
lavaan WARNING: the optimizer warns that a solution has NOT been found!`
当我尝试运行 summary
时,我得到:lavaan 0.6-7 did NOT end normally after 4521 iterations
我认为它是由于内存不足而停止运行,因为在 Stata 中,计算机只是重新启动。
我的代码示例:
# Biblioteca ----
library(tidyverse)
library(haven)
library(semPlot)
library(lavaan)
# importando base ----
base <- read_dta("base.dta")
# Rodando o CFA ----
# Atribuindo grupos
mod_cfa <- 'AIL =~ idade_coop + n_pac + sudeste + sul + centro + norte + nordeste
CONS_SUP =~ reunioes_ano + estrutura_governanca + membros + comite
ESTR_CAP =~ cs_sobre_cooperados + soma_pl_deposito + ativocomp + pl_sobre_ativos + roa'
# Rodando cfa
cfa_coop <- cfa(mod_cfa,data = base,missing = "default",estimator = "WLSMV",orthogonal = FALSE,ordered = names(base)
)
# Results
summary(cfa_coop,standardized = T,fit.measures = T,modindices = F)
fitMeasures(cfa_coop,c("chisq","df","pvalue","cfi","tli","rmsea"))
我的基地示例:
structure(list(cnpj = c("554656546","767867868687","132131232","876768","786765","786575","78678686","65767568","45678","8675867"),niveis_superv = c("2","2","0","0"),classe_bc = c("02","02","01","01"),idade_coop = c(22,22,21,21),n_pac = c(1,10,11,1,3,13,4,1),sudeste = c(0,sul = c(0,0),centro = c(0,nordeste = c(1,norte = c(0,atuacao_regional = c(1,atuacao_estadual = c(0,atuacao_nacional = c(0,qtd_cooperados = c(1288,3461,11310,1203,4530,3274,7954,3090,983,633),auditor = c("0","1","1"),contratar_auditoria_ind = c("2","2"),reunioes_ano = c(12,12,12),estrutura_governanca = c("3","3","3"),membros = c(9,7,16,6,9,15,3),comite = c("0",cs_sobre_cooperados = c(6324.9228515625,5602.01416015625,6778.712890625,790.086608886719,1236.85620117188,2393.3583984375,6248.63232421875,6032.5859375,9310.8828125,1582.30786132812),soma_pl_deposito = c(27017868,75570352,523851488,1025653.1875,6256179,46703636,409542080,60845500,10978892,1100099.625),ativocomp = c(27371496,143889792,535524864,1117028.25,7135122.5,63281840,429233920,93440432,11219289,1256903.25),pl_sobre_ativos = c(0.195353165268898,0.0269169881939888,0.0544663555920124,0.611539125442505,0.440605372190475,0.0862450525164604,0.0495623573660851,0.0553100071847439,0.432251751422882,0.297396898269653),roa = c(0.0260528121143579,0.0159006342291832,0.0089608347043395,0.027274627238512,0.0233467519283295,0.00636459980159998,0.0053424290381372,-0.0262128747999668,0.0410496257245541,0.0629174262285233),deposito_sobre_ativo = c(0.636883497238159,0.341013759374619,0.805505573749542,0.594665348529816,0.818691551685333,0.405729651451111,0.0734363198280334,capital_social = c(8146501,19388572,76667240,950474.1875,5602958.5,7835855,49701624,18640690,9152598,1001600.875
)),row.names = c(NA,-10L),class = c("tbl_df","tbl","data.frame"
))
PS:我知道你有类似的问题,但它们是在基数很大的情况下处理的,而不是在回归对 ram 要求很高的情况下处理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。