Как мы можем найти E (X ^ n) для дискретной случайной величины X в R? - PullRequest
1 голос
/ 08 марта 2019

Предположим, что заданы значения дискретной случайной величины X, randomNumbers и ее распределение prob.

Я могу найти E (X) , используя следующий код:

weighted.mean(randomNumbers, prob)

Как мы можем найти E (X ^ n) в R?

Будет ли этот код работать?

weighted.mean(randomNumbers^n, prob)

1 Ответ

3 голосов
/ 08 марта 2019

Взять, например, случайную переменную Пуассона 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)
...