【问题标题】:How can we find E(X^n) for a discrete random variable X in R?我们如何为 R 中的离散随机变量 X 找到 E(X^n)?
【发布时间】:2019-03-08 04:44:20
【问题描述】:

假设离散随机变量 X 的值 randomNumbers 及其分布 prob 已给出。

我可以使用以下代码找到 E(X)

weighted.mean(randomNumbers, prob)

我们如何在 R 中找到 E(X^n)

这段代码行得通吗?

weighted.mean(randomNumbers^n, prob)

【问题讨论】:

    标签: r statistics probability weighted-average


    【解决方案1】:

    以泊松随机变量X ~ Poisson(2)为例。

    概率法

    f1 <- function (N) {
      x <- 0:N
      p <- dpois(x, 2)
      ## approximate E[X]
      m1 <- weighted.mean(x, p)
      ## approximate E[X ^ 2]
      m2 <- weighted.mean(x ^ 2, p)
      ## approximate E[X ^ 3]
      m3 <- weighted.mean(x ^ 3, p)
      ## return
      c(m1, m2, m3)
      }
    

    随着N 变大,近似越来越准确,因为序列在解析上收敛。

    N <- seq(10, 200, 10)
    m123_prob <- t(sapply(N, f1))
    matplot(m123_prob, type = "l", lty = 1)
    

    统计方法(基于抽样的方法)

    f2 <- function (sample_size) {
      x <- rpois(sample_size, 2)
      ## unbiased estimate of E[x]
      m1 <- mean(x)
      ## unbiased estimate of E[x ^ 2]
      m2 <- mean(x ^ 2)
      ## unbiased estimate of E[x ^ 3]
      m3 <- mean(x ^ 3)
      ## return
      c(m1, m2, m3)
      }
    

    随着sample_size 的增长,估计越来越准确,因为序列在概率上收敛。

    sample_size <- seq(10, 200, 10)
    m123_stat <- t(sapply(sample_size, f2))
    matplot(m123_stat, type = "l", lty = 1)
    

    【讨论】:

      猜你喜欢
      • 2014-05-18
      • 2022-01-01
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多