对于自定义分布,则可根据方差的计算公式,先分别计算出
X
X
X的1阶原点矩
E
(
X
)
E(X)
E(X)和2阶原点矩
E
(
X
2
)
E(X^2)
E(X2),然后计算
D
(
X
)
=
E
(
X
2
)
−
[
E
(
X
)
]
2
D(X)=E(X^2)-[E(X)]^2
D(X)=E(X2)−[E(X)]2。
例1 设随机变量
X
X
X的密度函数为
f
(
x
)
=
1
2
e
−
∣
x
∣
,
x
∈
(
−
∞
,
+
∞
)
f(x)=\frac{1}{2}e^{-|x|}, x\in(-\infty, +\infty)
f(x)=21e−∣x∣,x∈(−∞,+∞)。计算方差
D
(
X
)
D(X)
D(X)。
解: 注意到
f
(
x
)
f(x)
f(x)是一个偶函数,所以
x
f
(
x
)
xf(x)
xf(x)是奇函数,而
x
2
f
(
x
)
x^2f(x)
x2f(x)为偶函数。于是
E
(
X
)
=
∫
−
∞
+
∞
x
f
(
x
)
d
x
=
0
E(X)=\int_{-\infty}^{+\infty}xf(x)dx=0
E(X)=∫−∞+∞xf(x)dx=0。
E
(
X
2
)
=
∫
−
∞
+
∞
x
2
f
(
x
)
d
x
=
2
∫
0
+
∞
x
2
f
(
x
)
d
x
=
2
∫
0
+
∞
x
2
⋅
1
2
e
−
x
d
x
=
∫
0
+
∞
x
2
e
−
x
d
x
=
−
∫
0
+
∞
x
2
d
e
−
x
=
2
∫
0
+
∞
x
e
−
x
d
x
=
2
E(X^2)=\int_{-\infty}^{+\infty}x^2f(x)dx=2\int_{0}^{+\infty}x^2f(x)dx\\ =2\int_{0}^{+\infty}x^2\cdot\frac{1}{2}e^{-x}dx=\int_{0}^{+\infty}x^2e^{-x}dx\\ =-\int_{0}^{+\infty}x^2de^{-x}=2\int_{0}^{+\infty}xe^{-x}dx=2
E(X2)=∫−∞+∞x2f(x)dx=2∫0+∞x2f(x)dx=2∫0+∞x2⋅21e−xdx=∫0+∞x2e−xdx=−∫0+∞x2de−x=2∫0+∞xe−xdx=2
故
D
(
X
)
=
E
(
X
2
)
−
[
E
(
X
)
]
2
=
2
−
0
=
2.
D(X)=E(X^2)-[E(X)]^2=2-0=2.
D(X)=E(X2)−[E(X)]2=2−0=2.
下列代码验算本例计算结果。
import numpy as np #导入numpy
f=lambda x: np.exp(-abs(x))/2 #概率密度函数f(x)
Ex=expectcont(pdf=f) #1阶原点矩
Ex2=expectcont(pdf=f, func=lambda x:x**2) #2阶原点矩
print('D(X)=%.2f'%(Ex2-Ex**2)) #输出方差
程序的第2行设置概率密度函数 f ( x ) = 1 2 e − ∣ x ∣ f(x)=\frac{1}{2}e^{-|x|} f(x)=21e−∣x∣。第3行调用博文《连续型自定义分布数学期望的计算》定义的expectcont函数,向表示概率密度函数的参数pdf传递 f ( x ) f(x) f(x),表示随机变量函数的参数func使用缺省值 g ( x ) = x g(x)=x g(x)=x,计算数学期望 E ( X ) E(X) E(X)。第5行调用expectcont函数,传递给参数func的是 g ( x ) = x 2 g(x)=x^2 g(x)=x2,计算2阶原点矩 E ( X 2 ) E(X^2) E(X2)。第6行输出 D ( X ) = E ( X 2 ) − [ E ( X ) ] 2 D(X)=E(X^2)-[E(X)]^2 D(X)=E(X2)−[E(X)]2。运行程序,输出
D(X)=2.00
此即为
D
(
X
)
=
2
D(X)=2
D(X)=2精确到百分位的值。
例2 设
(
X
,
Y
)
(X, Y)
(X,Y)的联合分布律为
计算
D
(
X
)
D(X)
D(X),
D
(
Y
)
D(Y)
D(Y)。
解 :不难算得
X
X
X和
Y
Y
Y的边缘分布律均为
(
−
1
0
1
3
/
8
2
/
8
3
/
8
)
\begin{pmatrix}-1&0&1\\3/8&2/8&3/8\end{pmatrix}
(−13/802/813/8)。因此,
E
(
X
)
=
E
(
Y
)
=
0
E(X)=E(Y)=0
E(X)=E(Y)=0,
E
(
X
2
)
=
E
(
Y
2
)
=
3
/
4
E(X^2)=E(Y^2)=3/4
E(X2)=E(Y2)=3/4。于是
D
(
Y
)
=
D
(
X
)
=
E
(
X
2
)
−
[
E
(
X
)
]
2
=
3
/
4
D(Y)=D(X)=E(X^2)-[E(X)]^2=3/4
D(Y)=D(X)=E(X2)−[E(X)]2=3/4。下列代码验算这一结果。
import numpy as np #导入numpy
from sympy import Rational as R #导入Rational
X=np.array([-1, 0, 1]) #X的取值
Y=np.array([-1, 0, 1]) #Y的取值
Pxy=np.array([[R(1,8), R(1,8), R(1,8)], #联合分布律
[R(1,8), R(0), R(1,8)],
[R(1,8), R(1,8), R(1,8)]])
Ex=expect(Pxy, X) #计算E(X)
Ex2=expect(Pxy,X, func=lambda x,y: x*x) #计算E(X^2)
Ey=expect(Pxy, Yv=Y, func=lambda x,y:y) #计算E(Y)
Ey2=expect(Pxy, Yv=Y, func=lambda x, y: y*y) #计算E(Y^2)
Dx=Ex2-Ex**2 #计算D(X)
Dy=Ey2-Ey**2 #计算D(Y)
print('D(X)=%.2f'%Dx)
print('D(Y)=%.2f'%Dy)
借助代码中的注释信息,不难理解程序。第8~11行调用函数exepect(详见博文《离散型自定义分布数学期望的计算》)计算 X X X, Y Y Y的1、2阶原点矩。注意,由于我们对1-维的和2-维的数据采用统一的程序计算变量的期望,所以不用对2-维数据单独计算边缘分布。运行程序,输出
D(X)=3/4
D(Y)=3/4
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好。
返回《导引》