optimization - 分布样本概率

标签 optimization julia probability normal-distribution

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

# We do a Cholesky decomposition to generate correlated scenarios
nScenarios = 10

Σ = [25 0.4; 0.4 4]
μ = [50, 30]
L = cholesky(Σ)
v = [rand(Normal(0, 1), nScenarios), rand(Normal(0, 1), nScenarios)]

X = reshape(zeros(nScenarios),1,nScenarios)
Y = reshape(zeros(nScenarios),1,nScenarios)

for i = 1:nScenarios
    X[1, i] = sum(L.U[1, j] *v[j][i] for j = 1:nBreadTypes) + μ[1]
    Y[1, i] = sum(L.U[2, j] *v[j][i] for j = 1:nBreadTypes) + μ[2]
end
但是我需要每个场景的概率,即 P(X=k and Y=p)。我的问题是,我们如何获得具有每个场景概率的特定分布的样本?

最佳答案

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

julia> using Distributions

julia> d = MvNormal([50.0, 30.0], [25.0 0.4; 0.4 4.0])
FullNormal(
dim: 2
μ: [50.0, 30.0]
Σ: [25.0 0.4; 0.4 4.0]
)


julia> point = rand(d)
2-element Vector{Float64}:
 52.807189619051485
 32.693811008760676

julia> pdf(d, point)
0.0056519503173830515

关于optimization - 分布样本概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69654013/

相关文章:

julia - 是否可以使用环境文件(如 .yml)在 Julia 中创建新的虚拟环境?

julia - 如何在类似 awk 的方法中对 Julia 目录中的某些文件长度求和?

MySQL 没有使用可能的索引 - 为什么?

java - 如何优化将访问状态存储在 HashSet 中的代码?

javascript - 如何在不使用 document.writes 的情况下在 document.getelementById 函数中编写 for 循环

julia - 为什么我们需要 `iteratoreltype()` ?

c# - 如何将标准差为 1 的逆 CDF 编码转换为不同的 STDDEV?

math - 在环(环)内生成均匀随机点

c - 如何在C中以随机生成的0和1的概率生成mxn矩阵

mysql - 什么查询最快?