gpt4 book ai didi

r - Julia 中 R 的模拟函数的模拟?

转载 作者:行者123 更新时间:2023-12-01 16:14:49 27 4
gpt4 key购买 nike

我正在尝试使用 Julia 的 GLM 包。根据我在 R 中的经验,我一直很喜欢它的 simulate 功能

simulate(object, nsim = 1, seed = NULL, ...)

从拟合模型中得出响应。 Julia 中是否有类似的方法可以应用于其拟合的 GLM 模型?

最佳答案

据我所知,没有这样的功能,但对于您的特殊情况,实现它应该相对容易。

下面是一个使用高斯(family Normal())假设的未加权 OLS 示例:

function simulate(m, n=1)
predict(m) .+ randn(Int(nobs(m)), n)*sqrt(deviance(m)/dof_residual(m))
end

相当于 R 实现。

附带说明:根据我的经验,R 中 simulate 使用的分布通常是 mean responsepredicted response 分布更多根据您的需要有用。

编辑:

可能更 Julian 的方法是避免生成样本,而是返回一个您可以从中采样的对象,如下所示:

simdist(m) = Normal.(predict(m), sqrt(deviance(m)/dof_residual(m)))

现在您可以使用rand 执行采样,例如:

sdm = simdist(m)
rand.(sdm)
rand.(sdm, 10)

这样你通常可以避免分配大内存块。例如。如果你想在 R 中使用 nobs=10^9,你很可能会耗尽内存,使用 simdist 你可以高效地生成你需要的东西。

关于r - Julia 中 R 的模拟函数的模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51578046/

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