简介
对于一个向量X,可以利用z-score方法将其标准化为X‘,向量X中的每一个值x转化为x’的计算公式如下:x’=(x-mean(X))./std(X)
所以,可以理解为z-score 标准化(正太标准化)是基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。
matlab使用方法
- 输入是向量
>> a=[1,2,3]
a =
1 2 3
>> b=zscore(a)
b =
-1 0 1
>>
- 输入是矩阵(默认是使用矩阵a每一列的向量来计算)
>> a=[1,2,3;4,5,6]
a =
1 2 3
4 5 6
>> b=zscore(a)
b =
-0.7071 -0.7071 -0.7071
0.7071 0.7071 0.7071
>>
- 输入是矩阵,想要使用矩阵a每一行的向量来计算,使用方法如下
>> a=[1,2,3;4,5,6]
a =
1 2 3
4 5 6
>> b=zscore(a, 0, 2)
b =
-1 0 1
-1 0 1
- 讲解:Z = zscore(X,flag,dim)
- flag参数:
- 如果flag为0(默认值),则zscore使用样本标准差对X进行缩放,在标准差公式的分母中使用n -1。 zscore(X,0)与 zscore(X)相同。
- 如果flag为1,则zscore使用总体标准差对X进行缩放,其中n为标准差公式的分母。
- dim参数:
- 如果dim = 1,则zscore使用沿矩阵X 列 的平均值和标准偏差,如果dim = 2,则zscore使用沿矩阵X 行 的平均值和标准偏差。
zscore使用场景
可通过zscore将两组或多组数据转化为无单位的zscore分值,使得数据标准统一化。若转换后,某些数值较大,则表明偏离均值较远,则可舍去这几组数据。