- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 R 并行计算的初学者。我遇到了 doParallel
包,我认为它对我的情况可能有用。
以下代码旨在并行评估多个 pglm
回归:
require("foreach")
require("doParallel")
resVar <- sample(1:6,100,TRUE)
x1 <- 1:100
x2 <- rnorm(100)
x3 <- rchisq(100, 2, ncp = 0)
x4 <- rweibull(100, 1, scale = 1)
Year <- sample(2011:2014,100,replace=TRUE)
X <- data.frame(resVar,x1,x2,x3,x4,Year)
facInt = 1:4 # no factors
#find all possible combinations
cmbList <- lapply(2, function(nbFact) {
allCmbs <- t(combn(facInt, nbFact))
dupCmbs <- combn(1:4, nbFact, function(x) any(duplicated(x)))
allCmbs[!dupCmbs, , drop = FALSE] })
noSubModel <- c(0, sapply(cmbList, nrow))
noModel <- sum(noSubModel)
combinations <- cmbList[[1]]
factors <- X[,c("x1","x2","x3","x4")]
coeff_vars <- matrix(colnames(factors)[combinations[1:length(combinations[,1]),]],ncol = length(combinations[1,]))
yName <- 'resVar'
cl <- makeCluster(4)
registerDoParallel(cl)
r <- foreach(subModelInd=1:noSubModel[2], .combine=cbind) %dopar% {
require("pglm")
vars <- coeff_vars[subModelInd,]
formula <- as.formula(paste('as.numeric(', yName, ')',' ~ ', paste(vars,collapse=' + ')))
XX<-X[,c("resVar",vars,"Year")]
ans <- pglm(formula, data = XX, family = ordinal('logit'), model = "random", method = "bfgs", print.level = 3, R = 5, index = 'Year')
coefficients(ans)
}
stopCluster(cl)
cl <- c()
当我尝试通过以下方式并行化它时,它不起作用。我收到以下错误:
Error in { : task 1 failed - "object 'XX' not found"
一组按顺序评估的多个 pglm
回归有效:
require("pglm")
r <- foreach(icount(subModelInd), .combine=cbind) %do% {
vars <- coeff_vars[subModelInd,]
formula <- as.formula(paste('as.numeric(', yName, ')',' ~ ', paste(vars,collapse=' + ')))
XX<-X[,c("resVar",vars,"Year")]
ans <- pglm(formula, data = XX, family = ordinal('logit'), model = "random", method = "bfgs", print.level = 3, R = 5, index = 'Year')
coefficients(ans)
}
有人可以建议如何正确并行化此任务吗?
谢谢!
最佳答案
是的,pglm
看起来确实存在问题。以及它访问变量的方式。一个简单的修复方法是分配 XX
到全局变量中,即更改
XX<-X[,c("resVar",vars,"Year")]
至
assign("XX", X[,c("resVar",vars,"Year")], pos = 1)
这应该可以解决问题,因为每个集群都作为单独的进程运行(据我所知,不是单独的线程),因此两个进程/线程尝试使用 XX
不会出现问题。变量。
我添加了两行 - a set.seed(131)
coefficients(ans)
之后还有另一行,即
set.seed(131)
... rest of your code ....
coefficients(ans)
write(paste0(coefficients(ans)[1],"\n"),file="c:\\temp\\r\\out.txt",append=TRUE)
并且在文件中得到一致的 6 行(相同的数字,但显然顺序不同):
0.703727602527463
1.03799340156792
1.15220874833614
1.30381769320552
1.42656613017171
1.77287504108163
这也应该适合你。
关于r - R 中对一组不同解释变量的并行面板 logit 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42761775/
我在程序 R 中使用 mlogit 包。我已将数据从原始宽格式转换为长格式。这是转换后的 data.frame 的示例,我将其称为“long_perp”。所有的自变量都是个体特定的。我在数据集中有 4
我需要 logit 和反 logit 函数,以便 logit(inv_logit(n)) == n。我使用 numpy,这是我所拥有的: import numpy as np def logit(p)
我正在尝试制作一个简单的 CNN 分类器模型。对于我的训练图像 (BATCH_SIZEx227x227x1) 和标签 (BATCH_SIZEx7) 数据集,我使用 numpy ndarray,它们通过
我有这样一句话:"I like sitting in my new chair and _____ about life" . 我有一组特定的 token ,如 ["watch", "run", "t
在仔细阅读 logit 模型说明时,我遇到了一种叫做“尺度参数”的可能性。有人可以解释一下这是什么以及它的用途。不使用它会发生什么。另外,它也用于概率模型吗? 干杯 最佳答案 这是 5 个月前提出的问
我知道这两个模型有不同的方程,但我不确定为什么人们使用 logistic 模型而不是 logit 模型,反之亦然?其背后的主要原因是什么?如果我的响应变量是一个决策变量(是,否),那么这里哪个模型会更
我似乎无法弄清楚对逻辑回归模型进行评分的语法。 logit = sm.Logit(data[response],sm.add_constant(data[features])) model = log
当我尝试使用 softmax 交叉熵函数时,我收到一个 ValueError 消息 ValueError: Rank mismatch: Rank of labels (received 2) sho
我正在尝试创建一个神经网络,该网络一次从多个 csv 文件中获取 13 个特征作为输入,并在每次迭代后测量准确性。这是我的代码片段: import tensorflow as tf import nu
我已经启动了tensorflow,并尝试实现简单的神经网络,并识别来自analyticsvidhya.com的数字练习问题,并遵循以下帖子: https://www.analyticsvidhya.c
请尝试给出参数化解决方案(有三个以上的选择)。 我有一个带有 beta 值的字典: {'B_X1': 2.0, 'B_X2': -3.0} 这个数据框: X1_123 X1_456 X1_789
让我使用 UCLA 的多项 logit 示例作为运行示例--- library(nnet) library(foreign) ml <- read.dta("http://www.ats.ucla.e
我是 TF 机器学习新手。我生成了这个数据集并将其导出到 .csv 文件中。它在这里:tftest.csv . “分布”列对应于一个独特的方程组,我试图将其压缩为 SageMath 中的一系列数字。
我是一名新手程序员,试图关注this指导。但是,我遇到了一个问题。该指南说将损失函数定义为: def loss(labels, logits): return tf.keras.losses.
在 python 中使用统计模型进行逻辑回归时,我试图将协方差类型从非稳健更改为稳健。 我阅读了 statsmodels.org 上的文档,但无法找到有关如何执行此操作的解决方案。 如果这里有人可以帮
我通常使用 mfx 包和 logitmfx 函数生成 logit 模型边际效应。但是,我使用的当前调查具有权重(由于某些人群的过度采样,这对样本中 DV 的比例有很大影响)并且 logitmfx 似乎
在 Tensorflow 中,我有一个分类器网络和不平衡的训练类。由于各种原因,我不能使用重采样来补偿不平衡的数据。因此,我不得不通过其他方式来补偿失衡,特别是根据每个类中的示例数量将 logits
我正在 Keras 中创建一个模型并想计算我自己的指标(困惑度)。这需要使用非标准化概率/logits。然而,keras 模型只返回 softmax 概率: model = Sequential()
我是 R 并行计算的初学者。我遇到了 doParallel 包,我认为它对我的情况可能有用。 以下代码旨在并行评估多个 pglm 回归: require("foreach") require("doP
我想获得具有标准误差的多项式 logit 模型的平均边际效应 (AME)。为此,我尝试了不同的方法,但到目前为止还没有达到目标。 最好的尝试 我最好的尝试是使用 mlogit 手动获取 AME。我在下
我是一名优秀的程序员,十分优秀!