R中联合概率质量函数的协方差计算

h4cxqtbf  于 2023-06-19  发布在  其他
关注(0)|答案(2)|浏览(122)

我有一个两个变量X,Y的联合概率质量函数,像这样

如何计算R中的协方差?
我创建了两个向量x,y并将它们输入cov(),但我得到了错误的结果。
我该怎么做?
提前感谢和快乐的编码!

mjqavswn

mjqavswn1#

由于SO是一个编码论坛,我将把数学/统计细节留给您。下面是R中的实现。
1.我们首先注意X和Y的样本空间

# For G
G <- 0:3;

# For R
R <- 0:2;

1.联合概率质量函数由以下矩阵给出

joint_pmf <- matrix(
    c(4/84, 12/84, 4/84,
      18/84, 24/84, 3/84,
      12/84, 6/84, 0,
      1/84, 0, 0),
     ncol = 3, byrow = T);

1.我们计算人口平均值

# For G
mu_G <- rowSums(joint_pmf) %*% G;

# For R
mu_R <- colSums(joint_pmf) %*% R;

1.我们可以利用定理Cov(X, Y) = E[XY] - E[X]E[Y]来计算协方差

cov_GR <- G %*% joint_pmf %*% R - mu_G * mu_R;
#           [,1]
#[1,] -0.1666667

其中我们使用了E[G] = mu_GE[R] = mu_R是各自的总体均值的事实。

yhuiod9q

yhuiod9q2#

g <- 0:3          # values of the r.v. G
r <- 0:2          # values of the r.v. R
gr <- outer(g, r) # all possible values of product of pairs from G x R
  
f_GR <- matrix(
  c(4/84, 12/84, 4/84,
    18/84, 24/84, 3/84,
    12/84, 6/84, 0,
    1/84, 0, 0),
  ncol = 3, byrow = T)  # Joint PMF f_GR(.)

f_G <- rowSums(f_GR)    # marginal PMF f_G(.)
f_R <- colSums(f_GR)    # marginal PMF f_R(.)

E_G <- sum(f_G*g)       # E[G] = sum(f_G(g)*g)
E_R <- sum(f_R*r)       # E[R] = sum(f_R(r)*r)

E_GR <- sum(gr*f_GR)    # E[GR] = sum(f_GR(g*r)*g*r)

covar <- E_GR - E_G*E_R # cov(G, R) = E[GR] - E[G]E[R]
covar
# [1] -0.1666667

相关问题