"One after the other"离散随机变量的实现
"One after the other" realisation of discrete random variables
我遇到了以下问题:
给定n+1个离散随机变量:
X = {1,...,n} with P(x=i) = p_i
Y_i = {1,...,n_i} with P(y_i = j) = p_ij and i = 1,...,n
我们执行以下操作:
- 我们从 X 中抽取,结果决定了我们为下一步选择哪个 Y_i:如果 x = a,我们使用 Y_a。
- 我们从中得出 Y_a。
现在我的问题是:
- 如何得到整体的期望值和方差?
- 这个“过程”可以由单个随机变量定义吗?
- 假设我们只知道所有 Y_i 的 EV 和 Var,但不知道所有(甚至 none)的概率。还能算出整个过程的EV和Var吗?
- 如果 2) 可以做到,如何在 R 中高效地做到这一点?
举个我试过的例子:
X = {1,2} with P(x = 1) = 0.3 and P(x = 2) = 0.7
Y_1 = {2,3} with P(y_1 = 1) = 0.5 and P(y_1 = 3) = 0.5
Y_2 = {1,5,20} with P(y_2 = 1) = 0.3, P(y_2 = 5) = 0.6 and P(y_2 = 20) = 0.1
我试图将它们组合成一个随机变量 Z,但我不确定是否可以这样做:
Z = {2,3,1,5,20} with probabilities (0.5*0.3, 0.5*0.3, 0.3*0.7, 0.6*0.7, 0.1*0.7)
加权EV是正确的,但“加权”Var是不同的-如果使用线性组合的Var公式对独立随机变量是正确的。 (也许只是组合 Var 的公式是错误的。)
我使用了 R 和包“discreteRV”:
install.packages("discreteRV")
library(discreteRV)
#defining the RVs
Y_1 <- RV(outcomes = c(2, 3), probs = c(0.5, 0.5)) #occures 30% of the time
Y_2 <- RV(outcomes = c(1, 5, 20), probs = c(0.3, 0.6, 0.1)) #occures 70% of the time
Z <- RV(outcomes = c(2, 3, 1, 5, 20),
probs = c(0.5*0.3, 0.5*0.3, 0.3*0.7, 0.6*0.7, 0.1*0.7))
#calculating the EVs
E(Z)
E(Y_1)*0.3 + E(Y_2)*0.7
#calculating the VARs
V(Z)
V(Y_1)*(0.3)^2 + V(Y_2)*(0.7)^2
感谢您的帮助。
实际上Z
有一个更大的样本space扩展了Y1
和Y2
,这不是两个分量的线性叠加。换句话说,我们应该像 Z = [0.3*Y1, 0.7*Y2]
一样呈现 Z
而不是 Z = 0.3*Y1 + 0.7*Y2
.
因为我们有
V(Z) = E(Z**2)-E(Z)**2
> E(Z**2) -E(Z)**2
[1] 20.7684
> V(Z)
[1] 20.7684
我们很容易发现,在E(Z)**2
项中,Y1
和Y2
之间存在叉积项,使得V(Z) != V(Y_1)*(0.3)^2 + V(Y_2)*(0.7)^2
.
我遇到了以下问题:
给定n+1个离散随机变量:
X = {1,...,n} with P(x=i) = p_i
Y_i = {1,...,n_i} with P(y_i = j) = p_ij and i = 1,...,n
我们执行以下操作:
- 我们从 X 中抽取,结果决定了我们为下一步选择哪个 Y_i:如果 x = a,我们使用 Y_a。
- 我们从中得出 Y_a。
现在我的问题是:
- 如何得到整体的期望值和方差?
- 这个“过程”可以由单个随机变量定义吗?
- 假设我们只知道所有 Y_i 的 EV 和 Var,但不知道所有(甚至 none)的概率。还能算出整个过程的EV和Var吗?
- 如果 2) 可以做到,如何在 R 中高效地做到这一点?
举个我试过的例子:
X = {1,2} with P(x = 1) = 0.3 and P(x = 2) = 0.7
Y_1 = {2,3} with P(y_1 = 1) = 0.5 and P(y_1 = 3) = 0.5
Y_2 = {1,5,20} with P(y_2 = 1) = 0.3, P(y_2 = 5) = 0.6 and P(y_2 = 20) = 0.1
我试图将它们组合成一个随机变量 Z,但我不确定是否可以这样做:
Z = {2,3,1,5,20} with probabilities (0.5*0.3, 0.5*0.3, 0.3*0.7, 0.6*0.7, 0.1*0.7)
加权EV是正确的,但“加权”Var是不同的-如果使用线性组合的Var公式对独立随机变量是正确的。 (也许只是组合 Var 的公式是错误的。)
我使用了 R 和包“discreteRV”:
install.packages("discreteRV")
library(discreteRV)
#defining the RVs
Y_1 <- RV(outcomes = c(2, 3), probs = c(0.5, 0.5)) #occures 30% of the time
Y_2 <- RV(outcomes = c(1, 5, 20), probs = c(0.3, 0.6, 0.1)) #occures 70% of the time
Z <- RV(outcomes = c(2, 3, 1, 5, 20),
probs = c(0.5*0.3, 0.5*0.3, 0.3*0.7, 0.6*0.7, 0.1*0.7))
#calculating the EVs
E(Z)
E(Y_1)*0.3 + E(Y_2)*0.7
#calculating the VARs
V(Z)
V(Y_1)*(0.3)^2 + V(Y_2)*(0.7)^2
感谢您的帮助。
实际上Z
有一个更大的样本space扩展了Y1
和Y2
,这不是两个分量的线性叠加。换句话说,我们应该像 Z = [0.3*Y1, 0.7*Y2]
一样呈现 Z
而不是 Z = 0.3*Y1 + 0.7*Y2
.
因为我们有
V(Z) = E(Z**2)-E(Z)**2
> E(Z**2) -E(Z)**2
[1] 20.7684
> V(Z)
[1] 20.7684
我们很容易发现,在E(Z)**2
项中,Y1
和Y2
之间存在叉积项,使得V(Z) != V(Y_1)*(0.3)^2 + V(Y_2)*(0.7)^2
.