Mathematica:难以使用多重正态分布和 InverseCDF 函数
Mathematica: difficulty using Multinormal Distribution and InverseCDF functions
我正在努力使用 MultivariateStatistics 包中的函数 MultinormalDistribution 和 InverseCDF。本质上
<< MultivariateStatistics`
sig = .5; u = .5;
dist = MultinormalDistribution[{0, 0}, sig*IdentityMatrix[2]];
delta=InverseCDF[dist, 1 - u]
输出是
InverseCDF[
MultinormalDistribution[{0, 0}, {{0.5, 0}, {0, 0.5}}], {0.5}]
有人可以更正上面的代码吗?如果我没理解错的话,delta 应该是一个数字。
1) MultinormalDistribution
现在是内置的,所以不要加载 MultivariateStatistics
它,除非你是 运行 版本 7 或更早的版本。如果这样做,您会看到 MultinormalDistribution
红色表示存在冲突。
2) 这有效:
sig = .5; u = .5;
dist = MultinormalDistribution[{0, 0}, sig IdentityMatrix[2]];
delta = CDF[dist, {xx, yy}]
(*1/4 Erfc[-1. xx] Erfc[-1. yy]*)
请注意,它是一个二维分布,因此 CDF
在其第二个参数中需要两个变量。这个"inverse"是{xx,yy}space中的一条曲线。不过,我认为 InverseCDF
不适用于此类多元分布。
你可以像这样想象你的逆:
ContourPlot[delta == 1/2 , {xx, -2, 4}, {yy, -2, 4}]
我正在努力使用 MultivariateStatistics 包中的函数 MultinormalDistribution 和 InverseCDF。本质上
<< MultivariateStatistics`
sig = .5; u = .5;
dist = MultinormalDistribution[{0, 0}, sig*IdentityMatrix[2]];
delta=InverseCDF[dist, 1 - u]
输出是
InverseCDF[
MultinormalDistribution[{0, 0}, {{0.5, 0}, {0, 0.5}}], {0.5}]
有人可以更正上面的代码吗?如果我没理解错的话,delta 应该是一个数字。
1) MultinormalDistribution
现在是内置的,所以不要加载 MultivariateStatistics
它,除非你是 运行 版本 7 或更早的版本。如果这样做,您会看到 MultinormalDistribution
红色表示存在冲突。
2) 这有效:
sig = .5; u = .5;
dist = MultinormalDistribution[{0, 0}, sig IdentityMatrix[2]];
delta = CDF[dist, {xx, yy}]
(*1/4 Erfc[-1. xx] Erfc[-1. yy]*)
请注意,它是一个二维分布,因此 CDF
在其第二个参数中需要两个变量。这个"inverse"是{xx,yy}space中的一条曲线。不过,我认为 InverseCDF
不适用于此类多元分布。
你可以像这样想象你的逆:
ContourPlot[delta == 1/2 , {xx, -2, 4}, {yy, -2, 4}]