主要内容

hampel

使用Hampel标识符去除异常值

描述

例子

y= hampel (x对输入向量应用Hampel过滤器x检测和去除异常值。对于每个样本x,该函数计算由样本及其周围6个样本(每边3个)组成的窗口的中位数。它还使用中位数绝对偏差估计每个样本关于其窗口中位数的标准偏差。如果样本与中位数相差超过三个标准差,则用中位数代替。如果x是矩阵,那么函数处理每一列的x作为独立渠道。

y= hampel (xk邻居数k在每个样品的两侧x在测量窗口。k默认值为3。

例子

y= hampel (xknsigma指定一个标准差数nsigma的样本x必须与本地中值不同,才能用中值替换。nsigma默认值为3。

例子

yj= hampel(<年代pan class="argument_placeholder">___还返回一个逻辑矩阵,该矩阵在所有被标识为异常值的点的位置为真。此语法接受以前语法中的任何输入参数。

例子

yjxmedianψ= hampel(<年代pan class="argument_placeholder">___的每个元素的局部中值和估计的标准偏差x

hampel (<年代pan class="argument_placeholder">___在没有输出参数的情况下,对过滤后的信号进行绘图,并注释被移除的异常值。

例子

全部折叠

生成100个正弦信号样本。将第6和第20个样本替换为尖刺。

X = sin(2*pi*(0:99)/100);X (6) = 2;X (20) = -2;

使用hampel找出每一个与本地中位数相差超过三个标准差的样本。测量窗口由样品及其周围的六个样品组成,每边三个。

[y,i,xmedian,xsigma] = hampel(x);

绘制滤波后的信号并标注异常值。

N = 1:长度(x);情节(n, x)<年代pan style="color:#A020F0">在xmedian-3 *ψ情节(n, n, xmedian + 3 *ψ)情节(找到(i), x (i),<年代pan style="color:#A020F0">“sk”)举行<年代pan style="color:#A020F0">从传奇(<年代pan style="color:#A020F0">原始信号的,<年代pan style="color:#A020F0">“下限”,<年代pan style="color:#A020F0">“上限”,<年代pan style="color:#A020F0">“离群值”

图中包含一个轴对象。axis对象包含4个line类型的对象。这些对象代表原始信号,下限,上限,异常值。

重复计算,但现在在计算中位数时,每边只取一个相邻的样本。该函数将极值视为异常值。

hampel (x, 1)

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象代表原始信号、滤波信号、异常值。

产生由不同频率的正弦波组成的双通道信号。在随机的地方放置钉子。使用nan随机添加缺失样本。重置随机数发生器可重现的结果。画出信号。

rng (<年代pan style="color:#A020F0">“默认”) n = 59;X = sin(。/[15 10]'*(1:n)+pi/3)'; spk = randi(2*n,9,1); x(spk) = x(spk)*2; x(randi(2*n,6,1)) = NaN; plot(x)

图中包含一个轴对象。axis对象包含2个line类型的对象。

使用hampel使用默认设置。

Y = hampel(x);情节(y)

图中包含一个轴对象。axis对象包含2个line类型的对象。

增加移动窗口的长度,降低阈值,将样本视为异常值。

Y = hampel(x,4,2);情节(y)

图中包含一个轴对象。axis对象包含2个line类型的对象。

输出每个通道的运行中值。在信号图上叠加中值。

[y,j,xmd,xsd] = hampel(x,4,2);情节(x)<年代pan style="color:#A020F0">在情节(xmd<年代pan style="color:#A020F0">“——”

图中包含一个轴对象。axis对象包含4个line类型的对象。

生成一个多通道信号,该信号由嵌入在单位方差高斯白噪声中的两个不同频率的正弦信号组成。

rng (<年代pan style="color:#A020F0">“默认”) t = 0:60;X = sin(pi./[10;2]*t)'+randn(numel(t),2);

对信号应用汉普尔滤波器。将那些与周围9个样本窗口的中位数相差超过两个标准差的点视为异常值。输出一个在异常值位置为真的逻辑矩阵。

K = 4;Nsig = 2;[y,h] = hampel(x,k,nsig);

将信号的每个通道画在其各自的轴集中。画出原始信号、滤波信号和异常值。注释离群点位置。

K = 1:2 hk = h(:, K);Ax = subplot(2,1,k);情节(t) x (:, k))<年代pan style="color:#A020F0">在情节(t y (:, k))情节(t(香港),x(香港,k),<年代pan style="color:#A020F0">‘*’)举行<年代pan style="color:#A020F0">从斧子。XTick = t(hk);<年代pan style="color:#0000FF">结束

图中包含2个轴对象。Axes对象1包含3个line类型的对象。坐标轴对象2包含3个line类型的对象。

生成100个正弦信号样本。将第6和第20个样本替换为尖刺。

N = 1:100;X = sin(2* π *n/100);X (6) = 2;X (20) = -2;

使用hampel计算每个样本的局部中值和估计的标准偏差。使用输入参数的默认值:

  • 窗口大小为<年代pan class="inlineequation"> 2<米o> × 3.<米o> + 1<米o> = 7

  • 与窗口中值相差超过3个标准差的点被认为是异常值。

  • 画出结果。

    [y,i,xmedian,xsigma] = hampel(x);情节(n, x)<年代pan style="color:#A020F0">在情节(n, [1; 1] * xmedian + 3 *[1; 1] *ψ)情节(找到(i), x (i),<年代pan style="color:#A020F0">“sk”)举行<年代pan style="color:#A020F0">从传奇(<年代pan style="color:#A020F0">“信号”,<年代pan style="color:#A020F0">“低”,<年代pan style="color:#A020F0">“上”,<年代pan style="color:#A020F0">“离群值”

    图中包含一个轴对象。axis对象包含4个line类型的对象。这些对象表示信号、下值、上值和异常值。

    的窗口大小重复计算<年代pan class="inlineequation"> 2<米o> × 1<米n>0<米o> + 1<米o> = 2<米n>1 两个标准差作为识别异常值的标准。

    SDS = 2;Adj = 10;[y,i,xmedian,xsigma] = hampel(x,adj,sds);情节(n, x)<年代pan style="color:#A020F0">在情节(n, [1; 1] * xmedian + sds *[1; 1] *ψ)情节(找到(i), x (i),<年代pan style="color:#A020F0">“sk”)举行<年代pan style="color:#A020F0">从传奇(<年代pan style="color:#A020F0">“信号”,<年代pan style="color:#A020F0">“低”,<年代pan style="color:#A020F0">“上”,<年代pan style="color:#A020F0">“离群值”

    图中包含一个轴对象。axis对象包含4个line类型的对象。这些对象表示信号、下值、上值和异常值。

    输入参数

    全部折叠

    输入信号,指定为矢量或矩阵。如果x是矩阵吗hampel处理的每一列x作为独立渠道。

    例子:因为(π/ 4 * (0:159))+ randn (1160)是单通道行向量信号。

    例子:因为(pi. / (4; 2) * (0:159)) ' + randn (160 2)是一个双通道信号。

    数据类型:|

    样本两边的邻居数<年代pan class="inlineequation">x<年代ub>年代,指定为整数标量。信号边附近的样本小于k将一侧的样本与较小窗口的中位数进行比较。

    数据类型:|

    样本的标准差数x必须与本地中值不同才能被认为是异常值。指定nsigma作为实标量。该函数通过将局部中位数绝对偏差(MAD)缩放一个因子来估计标准偏差<年代pan class="inlineequation"> κ<米o> = 1<米row> 2 小块土地 1 1<米o> / 2 1.4826

    数据类型:|

    输出参数

    全部折叠

    经过过滤的信号,返回为与x

    数据类型:|

    离群值索引,返回为相同大小的向量或矩阵x

    数据类型:逻辑

    局部中位数,作为相同大小的向量或矩阵返回x

    数据类型:|

    估计的标准偏差,作为相同大小的向量或矩阵返回x

    数据类型:|

    更多关于

    全部折叠

    Hampel标识符

    汉佩尔标识符是统计中三西格玛规则的一种变体,对异常值具有鲁棒性。

    给定一个序列<年代pan class="inlineequation">x1x2x3.、……x<年代ub>n还有一扇滑动窗k,定义点对点中值和标准偏差估计值,使用: