簡體   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