分布样本的概率

dev*_*raf 4 optimization normal-distribution probability julia

我正在尝试生成 100 个场景 (X, Y) 的样本,其中 X 和 Y 均呈正态分布 X=N(50,5^2)、Y=N(30,2^2) 并且 X 和 Y 相关Cov(X,Y)=0.4。

\n

我已经能够使用 Cholesky 分解生成 100 个场景:

\n
# We do a Cholesky decomposition to generate correlated scenarios\nnScenarios = 10\n\n\xce\xa3 = [25 0.4; 0.4 4]\n\xce\xbc = [50, 30]\nL = cholesky(\xce\xa3)\nv = [rand(Normal(0, 1), nScenarios), rand(Normal(0, 1), nScenarios)]\n\nX = reshape(zeros(nScenarios),1,nScenarios)\nY = reshape(zeros(nScenarios),1,nScenarios)\n\nfor i = 1:nScenarios\n    X[1, i] = sum(L.U[1, j] *v[j][i] for j = 1:nBreadTypes) + \xce\xbc[1]\n    Y[1, i] = sum(L.U[2, j] *v[j][i] for j = 1:nBreadTypes) + \xce\xbc[2]\nend\n
Run Code Online (Sandbox Code Playgroud)\n

但是我需要每种情况的概率,即 P(X=k 和 Y=p)。我的问题是,我们如何才能获得具有每种情况的概率的特定分布的样本?

\n

Bog*_*ski 5

按照 BatWannaBe 的解释,通常我会这样做:

\n
julia> using Distributions\n\njulia> d = MvNormal([50.0, 30.0], [25.0 0.4; 0.4 4.0])\nFullNormal(\ndim: 2\n\xce\xbc: [50.0, 30.0]\n\xce\xa3: [25.0 0.4; 0.4 4.0]\n)\n\n\njulia> point = rand(d)\n2-element Vector{Float64}:\n 52.807189619051485\n 32.693811008760676\n\njulia> pdf(d, point)\n0.0056519503173830515\n
Run Code Online (Sandbox Code Playgroud)\n