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