#r #statistics #probability #weighted-average
#r #Статистика #вероятность #средневзвешенное
Вопрос:
Предположим, что заданы значения дискретной случайной величины X, randomNumbers
и ее распределение prob
.
Я могу найти E (X), используя следующий код:
weighted.mean(randomNumbers, prob)
Как мы можем найти E (X ^ n) в R?
Сработает ли этот код?
weighted.mean(randomNumbers^n, prob)
Ответ №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)