【问题标题】:probability of sample of distribution分布样本的概率
【发布时间】:2021-10-20 23:12:09
【问题描述】:

我正在尝试生成 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)。我的问题是,我们如何才能获得具有每个场景概率的某个分布的样本?

【问题讨论】:

  • 我不确定我是否没看错,但 X 和 Y 只是具有多元正态分布,对吗?您拥有均值和协方差矩阵,因此您可以将这些参数和 (k,p) 值插入到多元正态概率密度函数中。

标签: optimization julia probability normal-distribution


【解决方案1】:

按照 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    相关资源
    最近更新 更多