时间序列分析的matlab统计量函数1

mad

功能:计算时间序列的平均绝对偏差

格式:

y = mad(x)    % 计算时间序列x的平均绝对偏差,即mean(abs(X-mean(X))

y = mad(x, 1) % 等价于median(abs(X-median(X))

y = mad(x, 0) % 等价于mean(abs(X-mean(X))

例:

>> x = normrnd(0,1,1,50);
xo = [x 10]; % Add outlier
>> r1 = std(xo)/std(x) % 可以看到由于异常值的存在,严重影响了序列的标准差
r1 =
          1.54835828624808
>> r2 = mad(xo,0)/mad(x,0) % 平均绝对偏差减小了异常值的影响
r2 =
          1.22955086918314
>> r3 = mad(xo,1)/mad(x,1) % 中值绝对偏差很好的减小了异常值的影响
r3 =
          1.02092052229879

 

kurtosis

功能:计算时间序列的峰度。

格式:

k = kurtosis(x) % 计算时间序列x的峰度,峰度用于度量x偏离某分布的情况,正态分布的峰度为3。当时间序列的曲线峰值比正态分布的高时,峰度大于3,当比正态分布的低时,峰度小于3.

k = kurtosis(x, flag) % 指定是否校正系统偏差,flag=0时进行校正,flag=1时不校正,缺省为不校正。

补充:峰度

    峰度是用来反映频数分布曲线顶端尖峭或扁平程度的指标。有时两组数据的算术平均数、标准差和偏态系数都相同,但他们分布曲线顶端的高耸程度却不同。

    统计上是用四阶中心矩来测定峰度的。因为实验研究表明,偶阶中心矩的大小与图形分布的峰度有关。其中的二阶中心矩就是数据的方差,它在一定程度上可以反映分布的峰度,但有时方差相同的数据却有不同的峰度,因此就利用四阶中心矩来反映分布的尖峭程度。为了消除变量值水平和计量单位不同的影响,实际工作中是利用四阶中心矩与σ4的比值作为衡量峰度的指标,称为峰度系数。但是在SPSS中的计算公式是四阶中心矩与σ4的比值减去3后的值,这个值与0相比,如果为0,说明其峰度与正态分布相同。大于0,说明它是比正态分布要陡峭。

    峰度系数(Kurtosis)用来度量数据在中心聚集程度。在正态分布情况下,峰度系数值是0。正的峰度系数说明观察量更集中,有比正态分布更长的尾部;负的峰度系数说明观测量不那么集中,有比正态分布更短的尾部,类似于矩形的均匀分布。峰度系数的标准误差用来判断分布的正态性。峰度系数与其标准误差的比值用来检验正态性。如果该比值绝对值大于2,将拒绝正态性。

   在matlab中,是不减去3的,公式则为

时间序列分析的matlab统计量函数1_第1张图片

而根据flag的设定,公式亦不同,如下

时间序列分析的matlab统计量函数1_第2张图片即相当于上面公式的展开

时间序列分析的matlab统计量函数1_第3张图片

>>  x = randn(1,100000);
kurtosis(x)
ans =
          3.01871336482003
>>  x = randn(1,100000);
kurtosis(x)
ans =
          2.99025499519812

 

skewness

功能:计算时间序列的偏度。

格式:

y = skewness(x) % 计算时间序列x的偏度,偏度用于衡量x的对称性。若偏度为负,则x均值左侧的离散度比右侧强;若偏度为正,则x均值左侧的离散度比右侧弱。对于正态分布(或严格对称分布)偏度等于0.

y = skewness(x, flag) % 指定是否校正系统偏差,flag=0时进行校正,flag=1时不校正,缺省为不校正。

补充:偏度

    表征概率分布密度曲线相对于平均值不对称程度的特征数。直观看来就是密度函数曲线尾部的相对长度。

正态分布的偏度为0,两侧尾部长度对称。bs<0称分布具有负偏离,也称左偏态,此时数据位于均值左边的比位于右边的少,直观表现为左边的尾部相对于与右边的尾部要长,因为有少数变量值很小,使曲线左侧尾部拖得很长;bs>0称分布具有正偏离,也称右偏态,此时数据位于均值右边的比位于左边的少,直观表现为右边的尾部相对于与左边的尾部要长,因为有少数变量值很大,使曲线右侧尾部拖得很长;而bs接近0则可认为分布是对称的若知道分布有可能在偏度上偏离正态分布时,可用偏离来检验分布的正态性。右偏时一般算术平均数>中位数>众数,左偏时相反,即众数>中位数>平均数。正态分布三者相等。

时间序列分析的matlab统计量函数1_第4张图片

在matlab中,计算为

时间序列分析的matlab统计量函数1_第5张图片

而根据flag的设定,公式亦不同,如下

时间序列分析的matlab统计量函数1_第6张图片

时间序列分析的matlab统计量函数1_第7张图片

>> x = randn(1,100000);
skewness(x)
ans =
        0.0156183309078295
>> x = randn(1,100000);
skewness(x)
ans =
       0.00508506228685203

 

std

功能:计算时间序列的标准差。

格式:

m = std(x) % 利用如下公式计算

时间序列分析的matlab统计量函数1_第8张图片

m = std(x, 0) % 同std(x)

m = std(x, 1) % 利用如下公式计算

时间序列分析的matlab统计量函数1_第9张图片

 

var

功能:计算时间序列的方差。

格式:

m = var(x) % 计算公式参考标准差的计算

m = var(x, 0)

m = var(x, 1)

 

moment

功能:计算时间序列的所有阶次的中心距。

格式:

m = moment(x, order) % 计算时间序列x的order阶中心矩,参数order为中心矩的阶次。一阶矩为0,二阶矩计算除数为n-1,计算公式为

时间序列分析的matlab统计量函数1_第10张图片

 

cov

功能:计算两时间序列的协方差。

格式:

m = cov(x) % 计算时间序列x的方差

m = cov(x1, x2) % 计算两时间序列x1和x2的协方差,得到2X2协方差矩阵。其中,主对角线的值分别为x1和x2的方差。x1和x2的长度应相同。

 

corrcoef

功能:计算两时间序列的相关系数。

格式:

m = corrcoef(x) % 计算时间序列x的自相关系数,结果为1

m = corrcoef(x1, x2) % 计算两时间序列x1和x2的相关系数

你可能感兴趣的:(MATBLE)