无法创建二元似然函数

2024-09-28 22:30:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算两个相关密度(先验密度和信号密度)下的可能性。对于每个X_网格值,都有不同的meanZgivenX。所附代码的最后一行给出了一个矩阵,其中沿对角线的数字应为正,而远离对角线的数字应为零

# Specify the grid on X,Z parameter space.
n_int = 5  # choose number of intervals for grid on theta.
X = np.linspace(-80, 100, n_int)
Z = X
X_grid, Z_grid = np.meshgrid(X, Z)

# prior probabilities on the X and Z values.
muX = 10
sigmaX = 20
muZ = 10
sigmaZ = 20

# Correlation between X and Z 
rho = 0.6

# compute vector of means for likelihood
meanZgivenX = muZ + rho * sigmaZ*(X_grid - muX)/sigmaX
varZgivenX = (1 - rho**2) * sigmaZ**2
sigmaZgivenX = np.sqrt(varZgivenX)

# compute likelihood
pZgivenX = norm.pdf(X_grid, meanZgivenX, sigmaZgivenX)

预期结果-不是特定值,而是5x5形状的图案

0.0020  0.0000  0.0000  0.0000  0.0000
0.0213  0.0132  0.0005  0.0000  0.0000
0.0001  0.0060  0.0249  0.0060  0.0001
0.0000  0.0000  0.0005  0.0132  0.0213
0.0000  0.0000  0.0000  0.0000  0.0020

实际结果

[[0.00716329 0.04781825 0.09003692 0.04781825 0.00716329]
 [0.00716329 0.04781825 0.09003692 0.04781825 0.00716329]
 [0.00716329 0.04781825 0.09003692 0.04781825 0.00716329]
 [0.00716329 0.04781825 0.09003692 0.04781825 0.00716329]
 [0.00716329 0.04781825 0.09003692 0.04781825 0.00716329]]

Tags: andoftheforonnp数字grid