26.1描述性统计

描述性统计的一个主要目标是简明地表示警报数据集的本质。Octave提供了均值、中值和模式函数,所有这些函数都用一个对应于数据中心趋势的数字来总结数据集。

 
m = mean (x)
m = mean (x, dim)
m = mean (x, vecdim)
m = mean (x, "all")
m = mean (…, nanflag)
m = mean (…, outtype)
m = mean (…, 'Weights', w)

计算的元素的均值x.

均值的定义为

mean (x) = SUM_i x(i) / N

这里的N是中的元素数x.

加权平均数的定义为

weighted_mean (x) = SUM_i (w(i) * x(i)) / SUM_i (w(i))

这里的 Nx中的元素数量.

如果 x 是一个向量,那么mean (x)返回x中元素的平均值。

如果 x 是一个矩阵,那么mean (x)返回一个行向量,其中每个元素包含x中相应列的平均值。

如果x是一个数组,那么mean (x)计算的第一个非奇异维度的均值x.

可选输入参数dim指定要在其上操作的维度,并且必须是正整数。指定x中的任何奇异尺寸,包括任意超过ndims (x)的维度,将返回x.

vecdim指定多个维度,一个非重复维度的向量,将返回从定义的数组切片上的均值vecdim如果vecdim索引的所有维度x,那么它相当于参数"all"。中的任何尺寸vecdim大于ndims (x)被忽略。

将尺寸指定为"all"将导致mean操作的所有元素x,相当于mean (x(:)).

可选输入outtype指定返回的数据类型。outtype可以采用以下值:

'default'

输出是double类型, 除非输入是single类型,在这种情况下输出为single类型。

'double'

输出是double类型.

'native'

输出是与输入相同的类型,如class (x)报告的那样,除非输入是逻辑类型的,在这种情况下输出是double类型。

可选变量nanflag指定是使用前面指定的任何输入参数组合在计算中包括NaN值还是排除NaN值。的默认值nanflag"includenan"其在计算中保持NaN值。若要排除NaN值,请设置的值nanflag"omitnan"。如果x从操作维度中的所有NaN值组成。

可选参数对"Weights", w指定了一个权重方案w, 它应用于输入x,因此mean 计算加权平均数。沿着单个维度操作时,w必须与操作维度的长度相同或与x的大小相同。 当通过由vecdim定义的数组切片进行操作时,w必须与操作数组切片的大小相同, 即size (w) == size (x)(vecdim),或者与x的大小相同。

详见: median, mode, movmean.

 
m = median (x)
m = median (x, dim)
m = median (x, vecdim)
m = median (x, "all")
m = median (…, nanflag)
m = median (…, outtype)

计算的元素的中值x.

中值在排序数据s (s = sort (x)) 上定义为

             |  s(ceil (N/2))          N odd
median (x) = |
             | (s(N/2) + s(N/2+1))/2   N even

如果 x 是一个向量,那么 median (x) 返回 x中的元素的中值.

如果 x 是一个矩阵,那么 median (x) 返回一个行向量,其中每个元素包含x中相应列的中值。

如果 x 是一个数组,那么 median (x) 计算x的第一个非奇异维度的中值.

可选输入参数dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸,包括任意超过ndims (x)的尺寸,将返回x

vecdim指定多个维度,一个非重复维度的向量,将返回从定义的数组切片上的中值vecdim如果vecdim索引的所有维度x,那么它相当于参数"all"。中的任何尺寸vecdim大于ndims (x)被忽略。

将尺寸指定为"all"将导致median操作的所有元素x,相当于median (x(:)).

median (…, outtype)使用前面语法中的任何输入参数,返回具有指定数据类型的中值。outtype可以采用以下值:

"default"

输出类型为double,除非输入为single,在这种情况下输出类型为single。

"double"

输出类型为double。

"native".

输出与输入类型相同(class (x)),除非输入是逻辑的,在这种情况下输出的类型是double。

可选变量nanflag指定是使用前面指定的任何输入参数组合在计算中包括NaN值还是排除NaN值。的默认值nanflag"includenan"其在计算中保持NaN值。若要排除NaN值,请设置的值nanflag"omitnan"。如果x从操作维度中的所有NaN值组成。

详见: mean, mode, movmedian.

 
m = mode (x)
m = mode (x, dim)
m = mode (x, vecdim)
m = mode (x, "all")
[m, f, c] = mode (…)

计算输入数据x中的最频繁出现的值(模式)。

mode确定沿着第一非单重维度的值的频率,并返回具有最高频率的值。如果两个或更多个值具有相同的频率mode返回最小值。

可选输入参数dim指定要操作的维度,并且必须是正整数。指定任何奇异尺寸x,包括任意超过ndims (x)的尺寸,将返回x.

vecdim指定多个维度,一个非重复维度的向量,将在由vecdim定义的数组切片上操作。 如果vecdim索引x的所有维度,那么它相当于参数"all"。 在vecdim中的任何大于ndims (x)的尺寸将被忽略。 如果vecdim中的所有维度都大于ndims (x),则mode将返回x.

指定dim"all"将导致mode操作所有x中的元素, 相当于mode (x(:)).

返回变量f是模式在数据集中的出现次数。

元胞数组c包含具有最大频率的所有元素。

详见: mean, median.

仅使用一个数字(如均值)来表示整个数据集可能无法提供准确的数据图片。表征拟合的一种方法是测量数据的离散度。Octave提供了几种测量色散的函数。

 
[s, l] = bounds (x)
[s, l] = bounds (x, dim)
[s, l] = bounds (x, vecdim)
[s, l] = bounds (x, "all")
[s, l] = bounds (…, nanflag)

返回输入数据的最小值和最大值x.

如果x是一个向量,那么bounds (x)返回x中元素的最小值和最大值, 分别为sl.

如果x是一个矩阵,那么bounds (x)返回x中每列的最小值和最大值, 分别为行向量sl.

如果x是一个数组,那么bounds (x)计算x的第一个非奇异维度的最小值和最大值.

x中的数据必须是数值型的。默认情况下,任何NaN值都会被忽略。sl的大小等于x的大小, 除了操作维度,该维度变为1。

可选输入参数dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸, 包括任意超过ndims (x)的尺寸,将返回x.

用输入参数vecdim指定多个维度,一个非重复维度的向量,将沿着由vecdim定义的数组切片进行操作。 如果vecdim索引x的所有维度,那么它相当于参数"all"vecdim中的任何大于ndims (x)的尺寸将被忽略。

指定维度为"all"将导致bounds操作x的所有元素, 相当于bounds (x(:)).

可选参数nanflag指定是否使用任何先前指定的输入参数组合来包含或排除NaN值进行计算。 默认的nanflag"omitnan",此时在结果中不包括NaN值。 如果给出参数"includenan",并且存在NaN值,那么最小值(s)和最大值(l)的结果将是NaN。

使用注意:边界是数据集离散度的快速计算度量,但如果存在异常数据点,则不如iqr准确。

详见: range, iqr, mad, std.

 
y = range (x)
y = range (x, dim)
y = range (x, vecdim)
y = range (x, "all")
y = range (…, nanflag)

返回输入数据x的最大值和最小值的差。

如果x是一个向量,那么range (x) 返回x中元素的最大值和最小值的差。

如果x是一个矩阵,那么range (x) 返回行向量y,值为x中每列的最大值和最小值的差。

如果x是一个数组,那么range (x) 沿着x的第一个非奇异维度计算最大值和最小值的差。

x中的数据必须是数字。默认情况下,任何NaN值都会被忽略。 r的尺寸等于x的大小,除了操作维度外,该维度变为1。

可选输入参数dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸, 包括任意超过ndims (x)的尺寸,将返回x.

用输入参数vecdim指定多个维度,一个非重复维度的向量,将沿着由vecdim定义的数组切片进行操作。 如果vecdim索引x的所有维度,那么它相当于参数"all"vecdim中的任意大于ndims (x)的维度将被忽略。

指定维度为"all"将导致range操作x的所有元素, 相当于range (x(:)).

可选参数nanflag指定是否使用任何先前指定的输入参数组合来包含或排除NaN值进行计算。 默认的nanflag"omitnan",此时在结果中不包括NaN值。 如果给出参数"includenan",并且存在NaN值,那么相关的结果将是NaN。

使用注意:范围是数据集离散度的快速计算度量,但如果存在异常数据点,则不如iqr准确。

详见: bounds, iqr, mad, std.

 
r = iqr (x)
r = iqr (x, dim)
r = iqr (x, vecdim)
r = iqr (x, "all")
[r, q] = iqr (…)

计算输入数据x的四分位间距。

四分位间距定义为x的第75百分位数和第25百分位数的差值,使用以下公式计算:

quantile (x, [0.25 , 0.75])

如果x是一个向量,那么iqr (x)返回x中元素的四分位间距。

如果x是一个矩阵,那么iqr (x)返回一个行向量,其中每个元素包含x中相应列的四分位间距。

如果x是一个数组,那么iqr (x)沿着x的第一个非奇异维度计算四分位间距。

x中的数据必须是数字。默认情况下,任何NaN值都会被忽略。 r的尺寸等于x的大小,除了操作维度外,该维度变为1。

可选输入参数dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸, 包括任意超过ndims (x)的尺寸,将返回zeros (size (x)).

用输入参数vecdim指定多个维度,一个非重复维度的向量,将沿着由vecdim定义的数组切片进行操作。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任意在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致iqr操作x的所有元素, 相当于iqr (x(:)).

可选输出参数q包含数据第25和75百分位的四分位数。

使用注意:在度量数据集离散度时,四分位数间距比rangestd更不易受异常值的影响。 标量的四分位间距必然是0。

详见: bounds, mad, range, std, prctile, quantile.

 
m = mad (x)
m = mad (x, opt)
m = mad (x, opt, dim)
m = mad (x, opt, vecdim)
m = mad (x, opt, "all")

计算x中的元素的平均绝对偏差或中值绝对偏差(MAD).

平均绝对偏差定义为

mad = mean (abs (x - mean (x)))

中值绝对偏差定义为

mad = median (abs (x - median (x)))

mad从计算中排除NaN值,类似于使用omitnan中的参数meanmedian.

如果x是一个向量,那么mad (x)返回x中元素的平均绝对偏差。

如果x是一个矩阵,那么mad (x)返回一个行向量, 其中每个元素包含x中相应列的平均绝对偏差。

如果x是一个数组,那么mad (x)沿着x的第一个非奇异维度计算平均绝对偏差。

可选参数opt指定计算平均绝对偏差还是中值绝对偏差。默认值是0,对应于平均绝对偏差; 值为1对应于中值绝对偏差。传递空输入[]默认为平均绝对偏差。

可选输入参数dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸, 包括任意超过ndims (x)的尺寸,将返回zeros (size (x)).

指定维度为vecdim,一个非重复维度的向量,将在由vecdim定义的数组切片上返回mad。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。

将尺寸指定为"all"将导致mad操作的所有元素x,相当于mad (x(:)).

使用注意:在度量数据集离散度时,madstd更不易受异常值的影响。

详见: bounds, range, iqr, std, mean, median.

 
y = meansq (x)
y = meansq (x, dim)
y = meansq (x, vecdim)
y = meansq (x, "all")
y = meansq (…, nanflag)

计算输入数据x的均方。

均方定义为

meansq (x) = 1/N SUM_i x(i)^2

这里的N是的长度x向量。

如果x是一个向量,那么meansq (x)返回x中元素的均方。

如果x是一个矩阵,那么meansq (x)返回一个行向量,其中每个元素包含x中相应列的均方。

如果x是一个数组,那么meansq (x)沿着x的第一个非奇异维度计算均方。

x中的数据必须是数字。y的尺寸等于x的大小,除了操作维度外,该维度变为1。

可选输入参数dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸, 包括任意超过ndims (x)的尺寸,将返回 x.^2.

指定维度为vecdim,一个非重复维度的向量,将在由vecdim定义的数组切片上进行计算。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致meansq操作x的所有元素, 相当于meansq (x(:)).

可选参数nanflag指定是否使用任何先前指定的输入参数组合来包含或排除NaN值进行计算。 默认的nanflag"includenan",此时在结果中包括NaN值。 如果要不包括NaN值进行计算,可以将nanflag的值设置为"omitnan"。 如果x在操作维度上全部由NaN值组成,则输出仍将包含NaN值。

详见: rms, var, std, moment.

 
y = rms (x)
y = rms (x, dim)
y = rms (x, vecdim)
y = rms (x, "all")
y = rms (…, nanflag)

计算输入数据x的均方根。

均方根定义为

rms (x) = sqrt (1/N SUM_i x(i)^2)

这里的N是向量x的长度。

如果x是一个向量,那么rms (x)返回x中元素的均方根。

如果x是一个矩阵,那么rms (x)返回一个行向量,其中每个元素包含x中相应列的均方根。

如果x是一个数组,那么rms (x)沿着x的第一个非奇异维度计算均方根。

x中的数据必须是数字。y的尺寸等于x的大小,除了操作维度外,该维度变为1。

可选输入参数dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸, 包括任意超过ndims (x)的尺寸,将返回 x.

指定维度为vecdim,一个非重复维度的向量,将在由vecdim定义的数组切片上进行计算。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致rms操作x的所有元素, 相当于rms (x)(:).

可选参数nanflag指定是否使用任何先前指定的输入参数组合来包含或排除NaN值进行计算。 默认的nanflag"includenan",此时在结果中包括NaN值。 如果要不包括NaN值进行计算,可以将nanflag的值设置为"omitnan"。 如果x在操作维度上全部由NaN值组成,则输出仍将包含NaN值。

详见: meansq, var, std, moment.

 
s = std (x)
s = std (x, w)
s = std (x, w, dim)
s = std (x, w, vecdim)
s = std (x, w, "all")
s = std (…, nanflag)
[s, m] = std (…)

计算元素x的标准差.

标准差定义为

std (x) = sqrt ((1 / (N-1)) * SUM_i ((x(i) - mean(x))^2))

这里的N是的元素数x.

如果x是一个向量,那么std (x)返回x中元素的标准差。

如果x是一个矩阵,那么std (x)返回一个行向量,其中每个元素包含x中相应列的标准差。

如果x是一个数组,那么std (x)沿着x的第一个非奇异维度计算标准差。

可选参数w确定要使用的加权方案。有效值为:

0 [default]:

规范化为N-1(总体标准差)。这提供了标准差的最佳无偏估计量的平方根。

1:

规范化为N(样本标准差)。这提供了二阶矩在均值附近的平方根。

a vector:

使用非负权重计算加权标准差。的长度w必须等于的大小x在操作尺寸中。中允许NaN值w,将与中的关联值相乘x,并且可以被排除在外nanflag参数

an array:

类似于向量权重,但是w必须与大小相同x.如果操作尺寸提供为vecdim"all"w不是标量,w必须是相同大小的数组。

注意: w必须始终在指定任何以下尺寸选项之前指定。要使用w的默认值,可以传递一个空输入参数[]

可选变量dim指定要操作的维度,并且必须是正整数。指定x中的任何奇异尺寸, 包括任意超过ndims (x)的尺寸,将返回 zeros (size (x)).

vecdim指定多个维度,一个非重复维度的向量,将在由vecdim定义的数组切片上返回std。 如果vecdim索引x的所有维度,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致std操作x的所有元素, 相当于std (x(:)).

可选变量nanflag指定是使用前面指定的任何输入参数组合在计算中包括NaN值还是排除NaN值。的默认值nanflag"includenan"其在计算中保持NaN值。若要排除NaN值,请设置的值nanflag"omitnan"。如果x从操作维度中的所有NaN值组成。

可选的第二个返回变量m包含的元素的均值x用于计算标准差。如果v是加权标准差,那么m也是加权平均数。

详见: var, bounds, mad, range, iqr, mean, median.

除了知道分散体的大小之外,了解数据集的形状也是有用的。例如,数据点是集中在均值的左边还是右边?Octave提供了几种常用的度量来描述数据集的形状。Octave还可以计算矩,从而开发任意的形状测量。

 
v = var (x)
v = var (x, w)
v = var (x, w, dim)
v = var (x, w, vecdim)
v = var (x, w, "all")
v = var (…, nanflag)
[v, m] = var (…)

计算元素x的方差.

方差定义为

var (x) = (1 / (N-1)) * SUM_i ((x(i) - mean(x))^2)

这里的N是的元素数x.

如果x是一个向量,那么var (x)返回x中元素的方差.

如果x是一个矩阵,那么var (x)返回一个行向量,其中每个元素包含x中相应列的方差.

如果x是一个数组,那么var (x)沿着x的第一个非奇异维度计算方差.

可选参数w确定要使用的加权方案。有效值为:

0 [default]:

规范化为N-1(总体方差)。这提供了方差的最佳无偏估计器的平方根。

1:

规范化为N(样本方差)。这提供了二阶矩在均值附近的平方根。

a vector:

使用非负权重计算加权方差。的长度w必须等于的大小x在操作维度上。中允许NaN值w,将与中的关联值相乘x,并且可以被排除在外nanflag参数

an array:

类似于向量权重,但是w必须与大小相同x. 如果操作尺寸提供为vecdim"all"w不是标量,那么w必须和指定切片的大小相同。

注意w在指定以下任何尺寸参数之前,必须始终指定。使用的默认值w您可以传递一个空的输入参数[]

可选输入参数dim指定要操作的尺寸,并且必须是一个正整数。 指定任何奇异维度x,包括任何超过ndims (x)的维度,将返回 zeros (size (x)).

vecdim指定多个维度,一个非重复维度的向量,将在由vecdim定义的数组切片上返回var。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致var操作x的所有元素, 相当于var (x(:)).

可选变量nanflag指定是使用前面指定的任何输入参数组合在计算中包括NaN值还是排除NaN值。的默认值nanflag"includenan"其在计算中保持NaN值。若要排除NaN值,请设置的值nanflag"omitnan"。如果x从操作维度中的所有NaN值组成。

可选的第二个返回变量m包含的元素的均值x用于计算方差。如果v是加权方差,那么m也是加权平均数。

详见: std, mean, cov, skewness, kurtosis, moment.

 
y = skewness (x)
y = skewness (x, flag)
y = skewness (x, flag, dim)
y = skewness (x, flag, vecdim)
y = skewness (x, flag, "all")

计算输入数据x元素的样本偏度.

样本偏度定义为

               mean ((x - mean (x)).^3)
skewness (X) = ------------------------.
                      std (x).^3

可选参数flag控制使用哪种规范化。如果flag等于1(默认值,用于flag省略或为空),返回上面定义的样本偏斜度。如果flag等于0,则返回调整后的偏斜度系数:

                  sqrt (N*(N-1))   mean ((x - mean (x)).^3)
skewness (X, 0) = -------------- * ------------------------.
                      (N - 2)             std (x).^3

这里的N是的长度x向量。

通过将样本二次和三次中心矩替换为它们的偏置校正版本来获得调整后的偏斜度系数。

如果x是一个向量,那么skewness (x)返回x中元素的偏度。

如果x是一个矩阵,那么skewness (x)返回一个行向量,其中每个元素包含x中相应列的偏度。

如果x是一个数组,那么skewness (x)沿着x的第一个非奇异维度计算偏度。

x中的数据必须是数字,并且任何NaN值都被忽略。 y的尺寸等于x的尺寸,除了操作维度,它变为1。

可选输入参数dim指定要操作的维度,并且必须是一个正整数。 指定x中的任何奇异维度,包括任何超过ndims (x)的维度, 将返回 x.

vecdim指定多个维度,一个非重复维度的向量,将在由vecdim定义的数组切片上返回skewness。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致skewness操作x的所有元素, 相当于skewness (x(:)).

详见: var, kurtosis, moment.

 
y = kurtosis (x)
y = kurtosis (x, flag)
y = kurtosis (x, flag, dim)
y = kurtosis (x, flag, vecdim)
y = kurtosis (x, flag, "all")

计算输入数据x元素的样本峰度.

样本峰度定义为

     mean ((x - mean (x)).^4)
k1 = ------------------------
            std (x).^4

可选参数flag控制使用哪种规范化。如果flag等于1(默认值,用于flag省略或为空),返回如上定义的样本峰度。如果flag等于0,返回“已校正的偏差 峰度系数:

              N - 1
k0 = 3 + -------------- * ((N + 1) * k1 - 3 * (N - 1))
         (N - 2)(N - 3)

这里的N是的长度x向量。

通过用样本的无偏版本替换样本的第二和第四中心矩来获得经偏置校正的峰度系数。这是对正常人群峰度的无偏估计。

如果x是一个向量,那么kurtosis (x)返回x中元素的峰度。

如果x是一个矩阵,那么kurtosis (x)返回一个行向量,其中每个元素包含x中相应列的峰度。

如果x是一个数组,那么kurtosis (x)计算数据在x的第一个非奇异维度上的峰度。

x中的数据必须是数值的,任何NaN值都会被忽略。 y的大小等于x的大小,除了操作维度外,操作维度变为1。

可选输入参数dim指定要操作的维度,并且必须是一个正整数。 指定x中的任何奇异维度,包括任何超过ndims (x)的维度,将返回 x.

vecdim指定多个维度,一个非重复维度的向量,将在vecdim定义的数组切片上操作。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致kurtosis操作x的所有元素, 相当于kurtosis (x(:)).

详见: var, skewness, moment.

 
m = moment (x, p)
m = moment (x, p, dim)
m = moment (x, p, vecdim)
m = moment (x, p, "all")
m = moment (x, p, …, type)

计算输入数据x元素的第p中心矩。

x元素的第p中心矩定义为:

1/N SUM_i (x(i) - mean(x))^p

这里的N是向量x的长度。

如果x是一个向量,那么moment (x)计算x中数据的第p中心矩。

如果x是一个矩阵,那么moment (x)返回一个向量,其中包含x中对应列的第p中心矩。

如果x是一个数组,那么moment (x)x的第一个非奇异维度上计算第p中心矩。

x中的数据必须是非空数字数组,并且沿着操作维度的任何NaN值都会返回中心矩的NaN。 m的尺寸等于x的尺寸,除了操作维度外,操作维度变为1。

可选输入参数dim指定要操作的维度,并且必须是一个正整数。 指定x中的任何奇异维度,包括任何超过ndims (x)的维度,将返回 x.

vecdim指定多个维度,一个非重复维度的向量,将在vecdim定义的数组切片上操作。 如果vecdim索引所有维度的x,那么它相当于参数"all"。 任何在vecdim中的大于ndims (x)的维度将被忽略。 如果有任何在vecdim中的大于ndims (x)的维度, 那么moment将返回 x.

指定维度为"all"将导致moment操作x的所有元素, 相当于moment (x(:)).

可选的第四个输入参数type是一个字符串,指定要计算的矩的类型。 可用的选项有:

"c"

中心矩(默认值)。

"a"
"ac"

绝对中心矩。关于均值忽略符号的时刻定义为

1/N SUM_i (abs (x(i) - mean(x)))^p
"r"

原始时刻。关于零的矩定义为

moment (x) = 1/N SUM_i x(i)^p
"ar"

绝对原始矩。关于零忽略符号的矩定义为

1/N SUM_i ( abs (x(i)) )^p

详见: var, skewness, kurtosis.

 
q = quantile (x)
q = quantile (x, p)
q = quantile (x, n)
q = quantile (x, …, dim)
q = quantile (x, …, vecdim)
q = quantile (x, …, "all")
q = quantile (x, p, …, method)
q = quantile (x, n, …, method)

计算样本的分位数x

如果x是一个向量,那么quantile (x)返回x中元素的p分位数。

如果x是一个矩阵, 那么quantile (x)返回一个矩阵,其中每个元素包含x中相应列的p分位数。

如果x是一个数组, 那么quantile (x)沿着第一个x的非奇异维度计算p分位数。

x中的数据必须是数字,并且任何NaN值都会被忽略。 q的尺寸等于x的尺寸,除了操作维度,该维度的数量由pn指定的分位数的数量决定。

p是一个向量,用于指定在哪些百分比上计算分位数。 这些百分比对应于数据的累积概率。 p的所有元素必须在0到1的范围内。 如果未指定p, 则返回[0.00 0.25 0.50 0.75 1.00]的分位数。 此外, 第二个输入参数可以指定为一个正整数值n, 在这种情况下, quantile返回n个均匀分布的累积概率的分位数, 计算为(1/(n + 1), 2/(n + 1), ..., n/(n + 1)) ,此时n > 1.

可选输入参数dim指定要操作的维度,并且必须是一个正整数。 指定x中的任何奇异维度,包括任何超过ndims (x)的维度,将返回 N个沿着该维度的x的复制,其中N是所指定分位数的数量。

vecdim指定多个维度,其中包含不重复的维度索引,将沿着由vecdim定义的数组切片进行操作。 如果vecdim索引了x的所有维度,则等同于选项"all"。 任何大于ndims (x)的维度在vecdim中将被忽略。 如果vecdim中所有维度都大于ndims (x), 那么quantile将返回沿着vecdim中最小维度的x的N个副本。

指定维度为"all"将导致iqr操作x的所有元素, 相当于iqr (x(:)).

第四个输入参数method确定了计算由pn指定的分位数的方法。可用的方法是R语言使用的九种方法 (https://www.r-project.org/),可以通过相应的整数值指定。默认值是method = 5

不连续样本分位数方法1、2和3

  1. 方法一:经验分布函数的逆。
  2. 方法2:类似于方法1,但在不连续处取均值。
  3. 方法三:SAS定义:最接近偶阶统计量。

连续样本分位数方法4到9,其中p(k) 是关于每种方法的代表性cdf的线性插值函数。

  1. 方法4:p(k) =k/N。也就是说,经验cdf的线性插值,其中N是的长度P.
  2. 方法5:p(k) =(k-0.5)/N。也就是说,分段线性函数,其中节点是经验cdf步骤的中间值。
  3. 方法6:p(k) =k/(N+1)。
  4. 方法7:p(k) =(k-1)/(N-1)。
  5. 方法8:p(k) =(k-1/3)/(N+1/3)。从此返回的分位数估计值近似为中值,无需考虑的分布x.
  6. 方法9:p(k) =(k-3/8)/(N+1/4)。如果x是正态分布的。

Hyndman和Fan(1996)推荐了方法8。Maxima、S和R(2.0.0之前的版本)使用7作为默认值。Minitab和SPSSuse方法6。MATLAB使用方法5。

参考文献:

  • R. A. Becker, J. M. Chambers, and A. R. Wilks, The New S Language, Wadsworth & Brooks/Cole, 1988.
  • R. J. Hyndman, and Y. Fan, "Sample quantiles in statistical packages", American Statistician, 50, pp. 361–365, 1996.
  • R: A Language and Environment for Statistical Computing, https://cran.r-project.org/doc/manuals/fullrefman.pdf.

示例:

x = randi (1000, [10, 1]);  # Create empirical data in range 1-1000
q = quantile (x, [0, 1]);   # Return minimum, maximum of distribution
q = quantile (x, [0.25 0.5 0.75]); # Return quartiles of distribution

详见: prctile.

 
q = prctile (x)
q = prctile (x, p)
q = prctile (x, p, dim)
q = prctile (x, p, vecdim)
q = prctile (x, p, "all")
q = prctile (x, p, …, method)

计算x的百分位数。

如果x是一个向量,那么prctile (x)计算x中数据的p百分位数。

如果x是一个矩阵,那么prctile (x)返回一个矩阵, 其中每个元素包含x中相应列的p百分位数。

如果x是一个数组,那么prctile (x)沿着x的第一个非奇异维度计算p百分位数。

x中的数据必须是数值型的,任何NaN值都会被忽略。 q的大小等于x的大小,除了操作维度外,操作维度等于由p指定的分位数的数量。

p是一个数字向量,指定要计算的百分位数。 所有p中的元素必须在0到100的范围内。如果未指定p,则返回[0 25 50 75 100]的百分位数。

可选输入参数dim指定要操作的维度,必须是正整数。 指定x的任何奇异维度,包括任何超过ndims (x)的维度, 将返回沿着操作维度的x的N个副本,其中N是所指定分位数的数量。

vecdim指定多个维度,一个非重复维度的向量,将在vecdim定义的数组切片上操作。 如果vecdim索引所有维度的x,则相当于"all"选项。 任何在vecdim中的大于ndims (x)的维度将被忽略。 如果vecdim中所有维度都大于ndims (x), 那么quantile将返回沿着vecdim中最小维度的x的N个副本。

指定维度为"all"将导致iqrx的所有元素上操作, 相当于 iqr (x(:)).

第四个输入参数method确定计算由p指定的百分位数的算法。可用的算法是R语言使用的九种方法 (https://www.r-project.org/) ,可以通过相应的整数值指定。默认值是method = 5.

离散样本分位数方法1、2和3

  1. Method 1: Inverse of empirical distribution function.
  2. Method 2: Similar to method 1 but with averaging at discontinuities.
  3. Method 3: SAS definition: nearest even order statistic.

Continuous sample quantile methods 4 through 9, where p(k) is the linear interpolation function respecting each method’s representative cdf.

  1. 方法4: p(k) = k / N. That is, linear interpolation of the empirical cdf, where N is the length of P.
  2. 方法5: p(k) = (k - 0.5) / N. That is, a piecewise linear function where the knots are the values midway through the steps of the empirical cdf.
  3. 方法6: p(k) = k / (N + 1).
  4. 方法7: p(k) = (k - 1) / (N - 1).
  5. 方法8: p(k) = (k - 1/3) / (N + 1/3). The resulting quantile estimates are approximately median-unbiased regardless of the distribution of x.
  6. 方法9: p(k) = (k - 3/8) / (N + 1/4). The resulting quantile estimates are approximately unbiased for the expected order statistics if x is normally distributed.

详见: quantile.

可以使用快速生成数据集的摘要视图statistics作用

 
stats = statistics (x)
stats = statistics (x, dim)
stats = statistics (x, vecdim)
stats = statistics (x, "all")
stats = statistics (…, nanflag)

返回x的统计参数向量。

statistics (xx的第一个非奇异维度上操作,并计算以下统计参数:

  1. minimum
  2. first quartile
  3. median
  4. third quartile
  5. maximum
  6. mean
  7. standard deviation
  8. skewness
  9. kurtosis

如果x是一个行向量,那么statistics (x)返回一个行向量,其中包含上述统计参数。 如果x是一个列向量,那么它返回一个列向量。

如果x是一个矩阵,那么statistics (x)返回一个矩阵,其中每列包含上述统计参数, 计算对应列的统计参数。

如果x是一个数组,那么statistics (x)沿着x的第一个非奇异维度计算上述统计参数。

x中的数据必须是数值型的,默认情况下,在计算除了中值和标准差之外的统计数据时,任何NaN值都会被忽略。 设置nanflag参数为"omitnan"将从计算均值和标准差参数中排除NaN值。 设置nanflag参数为"includenan"将被忽略, 相当于调用statistics函数而不带nanflag参数。

stats的尺寸等于x的尺寸,除了操作维度外,操作维度的大小等于9(即返回的统计参数的数量)。

可选输入参数dim指定要操作的维度,必须是正整数。 指定x的任何奇异维度,包括任何超过ndims (x)的维度,将返回 x.

vecdim指定多个维度,一个非重复维度的向量,将在vecdim定义的数组切片上操作。 如果vecdim索引所有维度的x,则相当于"all"选项。 任何在vecdim中的大于ndims (x)的维度将被忽略。

指定维度为"all"将导致statisticsx的所有元素上操作, 相当于statistics (x(:)).

详见: min, max, median, mean, std, skewness, kurtosis.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2