gpt4 book ai didi

julia - Julia 中的二项式 GLM - 如何指定命中和未命中

转载 作者:行者123 更新时间:2023-12-01 03:36:55 25 4
gpt4 key购买 nike

在 Julia 中,我想与家人一起计算 GLM Binomial()LogitLink() .我的数据是三个线性阵列:xvalues ,数量hits ,以及 misses 的数量.我想通过它们在 x 轴上的位置来解释二项分布的命中和未命中。我有多个具有相同 x 坐标的样本(因为数据最初来自扁平化的二维数组)。

在 R 中,我必须在两列矩阵中提供命中和未命中。类似以下的工作:
glm1 <- glm(cbind(hits, misses)~xvalues, family=binomial)
但是在 Julia 的 GLM 公式中,我不能指定任意数组。相反,我必须从数据框中指定列,而数据框列似乎不能是 2D 的。所以我把我的数据放到了一个数据框中:
data = DataFrame(xvals = xvals, hits = hits, misses = misses)
并尝试了不起作用的东西(像这样):
glm1 = glm(hcat(hits, misses) ~ xvals, data, family = Binomial, link = LogitLink())
可以下载数据示例here .

有什么建议吗?
干杯,
汉内斯

最佳答案

虽然将数据集膨胀到大约 100k 行的数据帧并不是很好,但它确实让它起作用。要使用下面的代码,首先将您的数据集加载到 xvals , hitsmisses (如问题中的链接)然后:

# spreading dataset to one row per trial...   
data = DataFrame(
xvals = vcat(rep(xvals,hits),rep(xvals,misses)),
outcome = vcat(rep(1,sum(hits)),rep(0,sum(misses))))

glm1 = glm(outcome ~ xvals, data, Binomial(),LogitLink())

结果似乎符合我粗略的数据。另请注意 BinomialLogicLink是位置参数而不是命名参数。

关于julia - Julia 中的二项式 GLM - 如何指定命中和未命中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33874667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com