4.5 随机变量的数字特征
4.5.1 平均值、中值
命令 利用mean求算术平均值
格式 mean(X) %X为向量,返回X中各元素的平均值
mean(A) %A为矩阵,返回A中各列元素的平均值构成的向量
mean(A,dim) %在给出的维数内的平均值
说明 X为向量时,算术平均值的数学含义是,即样本均值。
例4-30
>> A=[1 3 4 5;2 3 4 6;1 3 1 5]
A =
1 3 4 5
2 3 4 6
1 3 1 5
>> mean(A)
ans =
1.3333 3.0000 3.0000 5.3333
>> mean(A,1)
ans =
1.3333 3.0000 3.0000 5.3333
命令 忽略NaN计算算术平均值
格式 nanmean(X) %X为向量,返回X中除NaN外元素的算术平均值。
nanmean(A) %A为矩阵,返回A中各列除NaN外元素的算术平均值向量。
例4-31
>> A=[1 2 3;nan 5 2;3 7 nan]
A =
1 2 3
NaN 5 2
3 7 NaN
>> nanmean(A)
ans =
2.0000 4.6667 2.5000
命令 利用median计算中值(中位数)
格式 median(X) %X为向量,返回X中各元素的中位数。
median(A) %A为矩阵,返回A中各列元素的中位数构成的向量。
median(A,dim) %求给出的维数内的中位数
例4-32
>> A=[1 3 4 5;2 3 4 6;1 3 1 5]
A =
1 3 4 5
2 3 4 6
1 3 1 5
>> median(A)
ans =
1 3 4 5
命令 忽略NaN计算中位数
格式 nanmedian(X) %X为向量,返回X中除NaN外元素的中位数。
nanmedian(A) %A为矩阵,返回A中各列除NaN外元素的中位数向量。
例4-33
>> A=[1 2 3;nan 5 2;3 7 nan]
A =
1 2 3
NaN 5 2
3 7 NaN
>> nanmedian(A)
ans =
2.0000 5.0000 2.5000
命令 利用geomean计算几何平均数
格式 M=geomean(X) %X为向量,返回X中各元素的几何平均数。
M=geomean(A) %A为矩阵,返回A中各列元素的几何平均数构成的向量。
说明 几何平均数的数学含义是,其中:样本数据非负,主要用于对数正态分布。
例4-34
>> B=[1 3 4 5]
B =
1 3 4 5
>> M=geomean(B)
M =
2.7832
>> A=[1 3 4 5;2 3 4 6;1 3 1 5]
A =
1 3 4 5
2 3 4 6
1 3 1 5
>> M=geomean(A)
M =
1.2599 3.0000 2.5198 5.3133
命令 利用harmmean求调和平均值
格式 M=harmmean(X) %X为向量,返回X中各元素的调和平均值。
M=harmmean(A) %A为矩阵,返回A中各列元素的调和平均值构成的向量。
说明 调和平均值的数学含义是,其中:样本数据非0,主要用于严重偏斜分布。
例4-35
>> B=[1 3 4 5]
B =
1 3 4 5
>> M=harmmean(B)
M =
2.2430
>> A=[1 3 4 5;2 3 4 6;1 3 1 5]
A =
1 3 4 5
2 3 4 6
1 3 1 5
>> M=harmmean(A)
M =
1.2000 3.0000 2.0000 5.2941
4.5.2 数据比较
命令 排序
格式 Y=sort(X) %X为向量,返回X按由小到大排序后的向量。
Y=sort(A) %A为矩阵,返回A的各列按由小到大排序后的矩阵。
[Y,I]=sort(A) % Y为排序的结果,I中元素表示Y中对应元素在A中位置。
sort(A,dim) %在给定的维数dim内排序
说明 若X为复数,则通过|X|排序。
例4-36
>> A=[1 2 3;4 5 2;3 7 0]
A =
1 2 3
4 5 2
3 7 0
>> sort(A)
ans =
1 2 0
3 5 2
4 7 3
>> [Y,I]=sort(A)
Y =
1 2 0
3 5 2
4 7 3
I =
1 1 3
3 2 2
2 3 1
命令 按行方式排序
函数 sortrows
格式 Y=sortrows(A) %A为矩阵,返回矩阵Y,Y按A的第1列由小到大,以行方式排序后生成的矩阵。
Y=sortrows(A, col) %按指定列col由小到大进行排序
[Y,I]=sortrows(A, col) % Y为排序的结果,I表示Y中第col列元素在A中位置。
说明 若X为复数,则通过|X|的大小排序。
例4-37
>> A=[1 2 3;4 5 2;3 7 0]
A =
1 2 3
4 5 2
3 7 0
>> sortrows(A)
ans =
1 2 3
3 7 0
4 5 2
>> sortrows(A,1)
ans =
1 2 3
3 7 0
4 5 2
>> sortrows(A,3)
ans =
3 7 0
4 5 2
1 2 3
>> sortrows(A,[3 2])
ans =
3 7 0
4 5 2
1 2 3
>> [Y,I]=sortrows(A,3)
Y =
3 7 0
4 5 2
1 2 3
I =
3
2
1
命令 求最大值与最小值之差
函数 range
格式 Y=range(X) %X为向量,返回X中的最大值与最小值之差。
Y=range(A) %A为矩阵,返回A中各列元素的最大值与最小值之差。
例4-38
>> A=[1 2 3;4 5 2;3 7 0]
A =
1 2 3
4 5 2
3 7 0
>> Y=range(A)
Y =
3 5 3
4.5.3 期望
命令 计算样本均值
函数 mean
格式 用法与前面一样
例4-39 随机抽取6个滚珠测得直径如下:(直径:mm)
14.70 15.21 14.90 14.91 15.32 15.32
试求样本平均值
解:>>X=[14.70 15.21 14.90 14.91 15.32 15.32];
>>mean(X) %计算样本均值
则结果如下:
ans =
15.0600
命令 由分布律计算均值
利用sum函数计算
例4-40 设随机变量X的分布律为:
X |
-2 |
-1 |
0 |
1 |
2 |
P |
0.3 |
0.1 |
0.2 |
0.1 |
0.3 |
求E (X) E(X2-1)
解:在Matlab编辑器中建立M文件如下:
X=[-2 -1 0 1 2];
p=[0.3 0.1 0.2 0.1 0.3];
EX=sum(X.*p)
Y=X.^2-1
EY=sum(Y.*p)
运行后结果如下:
EX =
0
Y =
3 0 -1 0 3
EY =
1.6000
4.5.4 方差
命令 求样本方差
函数 var
格式 D=var(X) %var(X)=,若X为向量,则返回向量的样本方差。
D=var(A) %A为矩阵,则D为A的列向量的样本方差构成的行向量。
D=var(X, 1) %返回向量(矩阵)X的简单方差(即置前因子为的方差)
D=var(X, w) %返回向量(矩阵)X的以w为权重的方差
命令 求标准差
函数 std
格式 std(X) %返回向量(矩阵)X的样本标准差(置前因子为)即:
std(X,1) %返回向量(矩阵)X的标准差(置前因子为)
std(X, 0) %与std (X)相同
std(X, flag, dim) %返回向量(矩阵)中维数为dim的标准差值,其中flag=0时,置前因子为;否则置前因子为。
例4-41 求下列样本的样本方差和样本标准差,方差和标准差
14.70 15.21 14.90 15.32 15.32
解:
>>X=[14.7 15.21 14.9 14.91 15.32 15.32];
>>DX=var(X,1) %方差
DX =
0.0559
>>sigma=std(X,1) %标准差
sigma =
0.2364
>>DX1=var(X) %样本方差
DX1 =
0.0671
>>sigma1=std(X) %样本标准差
sigma1 =
0.2590
命令 忽略NaN的标准差
函数 nanstd
格式 y = nanstd(X) %若X为含有元素NaN的向量,则返回除NaN外的元素的标准差,若X为含元素NaN的矩阵,则返回各列除NaN外的标准差构成的向量。
例4-42
>> M=magic(3) %产生3阶魔方阵
M =
8 1 6
3 5 7
4 9 2
>> M([1 6 8])=[NaN NaN NaN] %替换3阶魔方阵中第1、6、8个元素为NaN
M =
NaN 1 6
3 5 NaN
4 NaN 2
>> y=nanstd(M) %求忽略NaN的各列向量的标准差
y =
0.7071 2.8284 2.8284
>> X=[1 5]; %忽略NaN的第2列元素
>> y2=std(X) %验证第2列忽略NaN元素的标准差
y2 =
2.8284
命令 样本的偏斜度
函数 skewness
格式 y = skewness(X) %X为向量,返回X的元素的偏斜度;X为矩阵,返回X各列元素的偏斜度构成的行向量。
y = skewness(X,flag) %flag=0表示偏斜纠正,flag=1(默认)表示偏斜不纠正。
说明 偏斜度样本数据关于均值不对称的一个测度,如果偏斜度为负,说明均值左边的数据比均值右边的数据更散;如果偏斜度为正,说明均值右边的数据比均值左边的数据更散,因而正态分布的偏斜度为 0;偏斜度是这样定义的:
其中:μ为x的均值,σ为x的标准差,E(.)为期望值算子
例4-43
>> X=randn([5,4])
X =
0.2944 0.8580 -0.3999 0.6686
-1.3362 1.2540 0.6900 1.1908
0.7143 -1.5937 0.8156 -1.2025
1.6236 -1.4410 0.7119 -0.0198
-0.6918 0.5711 1.2902 -0.1567
>> y=skewness(X)
y =
-0.0040 -0.3136 -0.8865 -0.2652
>> y=skewness(X,0)
y =
-0.0059 -0.4674 -1.3216 -0.3954
4.5.5 常见分布的期望和方差
命令 均匀分布(连续)的期望和方差
函数 unifstat
格式 [M,V] = unifstat(A,B) %A、B为标量时,就是区间上均匀分布的期望和方差,A、B也可为向量或矩阵,则M、V也是向量或矩阵。
例4-44
>>a = 1:6; b = 2.*a;
>>[M,V] = unifstat(a,b)
M =
1.5000 3.0000 4.5000 6.0000 7.5000 9.0000
V =
0.0833 0.3333 0.7500 1.3333 2.0833 3.0000
命令 正态分布的期望和方差
函数 normstat
格式 [M,V] = normstat(MU,SIGMA) %MU、SIGMA可为标量也可为向量或矩阵,则M=MU,V=SIGMA2。
例4-45
>> n=1:4;
>> [M,V]=normstat(n'*n,n'*n)
M =
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
V =
1 4 9 16
4 16 36 64
9 36 81 144
16 64 144 256
命令 二项分布的均值和方差
函数 binostat
格式 [M,V] = binostat(N,P) %N,P为二项分布的两个参数,可为标量也可为向量或矩阵。
例4-46
>>n = logspace(1,5,5)
n =
10 100 1000 10000 100000
>>[M,V] = binostat(n,1./n)
M =
1 1 1 1 1
V =
0.9000 0.9900 0.9990 0.9999 1.0000
>>[m,v] = binostat(n,1/2)
m =
5 50 500 5000 50000
v =
1.0e+04 *
0.0003 0.0025 0.0250 0.2500 2.5000
常见分布的期望和方差见下表4-6。
表4-6 常见分布的均值和方差
函数名 |
调用形式 |
注 释 |
unifstat |
[M,V]=unifstat ( a, b) |
均匀分布(连续)的期望和方差,M为期望,V为方差 |
unidstat |
[M,V]=unidstat (n) |
均匀分布(离散)的期望和方差 |
expstat |
[M,V]=expstat (p, Lambda) |
指数分布的期望和方差 |
normstat |
[M,V]=normstat(mu,sigma) |
正态分布的期望和方差 |
chi2stat |
[M,V]=chi2stat (x, n) |
卡方分布的期望和方差 |
tstat |
[M,V]=tstat ( n) |
t分布的期望和方差 |
fstat |
[M,V]=fstat ( n1, n2) |
F分布的期望和方差 |
gamstat |
[M,V]=gamstat ( a, b) |
分布的期望和方差 |
betastat |
[M,V]=betastat ( a, b) |
分布的期望和方差 |
lognstat |
[M,V]=lognstat ( mu, sigma) |
对数正态分布的期望和方差 |
nbinstat |
[M,V]=nbinstat ( R, P) |
负二项式分布的期望和方差 |
ncfstat |
[M,V]=ncfstat ( n1, n2, delta) |
非中心F分布的期望和方差 |
nctstat |
[M,V]=nctstat ( n, delta) |
非中心t分布的期望和方差 |
ncx2stat |
[M,V]=ncx2stat ( n, delta) |
非中心卡方分布的期望和方差 |
raylstat |
[M,V]=raylstat ( b) |
瑞利分布的期望和方差 |
Weibstat |
[M,V]=weibstat ( a, b) |
韦伯分布的期望和方差 |
Binostat |
[M,V]=binostat (n,p) |
二项分布的期望和方差 |
Geostat |
[M,V]=geostat (p) |
几何分布的期望和方差 |
hygestat |
[M,V]=hygestat (M,K,N) |
超几何分布的期望和方差 |
Poisstat |
[M,V]=poisstat (Lambda) |
泊松分布的期望和方差 |
4.5.6 协方差与相关系数
命令 协方差
函数 cov
格式 cov(X) %求向量X的协方差
cov(A) %求矩阵A的协方差矩阵,该协方差矩阵的对角线元素是A的各列的方差,即:var(A)=diag(cov(A))。
cov(X,Y) %X,Y为等长列向量,等同于cov([X Y])。
例4-47
>> X=[0 -1 1]';Y=[1 2 2]';
>> C1=cov(X) %X的协方差
C1 =
1
>> C2=cov(X,Y) %列向量X、Y的协方差矩阵,对角线元素为各列向量的方差
C2 =
1.0000 0
0 0.3333
>> A=[1 2 3;4 0 -1;1 7 3]
A =
1 2 3
4 0 -1
1 7 3
>> C1=cov(A) %求矩阵A的协方差矩阵
C1 =
3.0000 -4.5000 -4.0000
-4.5000 13.0000 6.0000
-4.0000 6.0000 5.3333
>> C2=var(A(:,1)) %求A的第1列向量的方差
C2 =
3
>> C3=var(A(:,2)) %求A的第2列向量的方差
C3 =
13
>> C4=var(A(:,3))
C4 =
5.3333
命令 相关系数
函数 corrcoef
格式 corrcoef(X,Y) %返回列向量X,Y的相关系数,等同于corrcoef([X Y])。
corrcoef (A) %返回矩阵A的列向量的相关系数矩阵
例4-48
>> A=[1 2 3;4 0 -1;1 3 9]
A =
1 2 3
4 0 -1
1 3 9
>> C1=corrcoef(A) %求矩阵A的相关系数矩阵
C1 =
1.0000 -0.9449 -0.8030
-0.9449 1.0000 0.9538
-0.8030 0.9538 1.0000
>> C1=corrcoef(A(:,2),A(:,3)) %求A的第2列与第3列列向量的相关系数矩阵
C1 =
1.0000 0.9538
0.9538 1.0000