我们如何找到 R 中离散随机变量 X 的 E(X^n)?
How can we find E(X^n) for a discrete random variable X in R?
假设离散随机变量 X 的值 randomNumbers
及其分布 prob
已给定。
我可以使用以下代码找到 E(X):
weighted.mean(randomNumbers, prob)
我们如何在 R 中找到 E(X^n)?
此代码有效吗?
weighted.mean(randomNumbers^n, prob)
以泊松随机变量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)
假设离散随机变量 X 的值 randomNumbers
及其分布 prob
已给定。
我可以使用以下代码找到 E(X):
weighted.mean(randomNumbers, prob)
我们如何在 R 中找到 E(X^n)?
此代码有效吗?
weighted.mean(randomNumbers^n, prob)
以泊松随机变量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)