繁体   English   中英

Julia 和 Python RAND 函数

[英]Julia and Python RAND function

背景

在 Julia 编程中,我们有一个 Rand 函数,其 sintaxis 是:

rand([rng=GLOBAL_RNG], [S], [dims...])

它从 S 指定的值集中选择一个随机元素或随机元素数组,并给出第三个 arg 的维度数组。

我想应用相同的逻辑来模拟保证政策问题:

m = 60000
n = len(policy.AGE)
k=1/10
@time begin
    Death = zeros(Bool, m, n)
    Accident = rand(Bernoulli(k), m, n)
    for j ∈ 1:n
        Death[:, j] = rand(Bernoulli(q[policy.AGE[j]]), m)
    end
    for i ∈ 1:m
        S[i] = sum(policy.INSAMOUNT .* Death[i, :] .* (1 .+ Accident[i, :]))
    end
end

这是 Julia 代码,但是当把它带到 python 时,我没有找到rand(Bernoulli(k), m, n)的正确形式

我知道模拟伯努利只是bernoulli.rvs(k,n)由 S 指定的一组值的部分并给出第三个 arg 的维度数组。

您可能想使用rvs size关键字参数:

>>> from scipy.stats import bernoulli
>>> bernoulli.rvs(0.25, size=10)
array([0, 0, 1, 0, 0, 0, 0, 0, 0, 0])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM