[英]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.