主要内容

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 =罪(2 *π* (0:99)/ 100);x (6) = 2;x (20) = 2;

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

[y,我xmedianψ]= 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">“离群值”

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

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

hampel (x, 1)

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

产生一个由不同频率的正弦信号组成的双通道信号。在随机的地方放置刺钉。使用nan随机添加缺失的样本。重置随机数生成器以获得可重复的结果。画出信号。

rng (<年代pan style="color:#A020F0">“默认”) n = 59;x =罪(π。/[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)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

使用hampel使用默认设置。

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

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

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

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

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

输出每个通道的运行中值。在信号的图上覆盖中位数。

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

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

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

rng (<年代pan style="color:#A020F0">“默认”) t = 0:60;x =罪(pi. / (10; 2) * t)”+ randn(元素个数(t) 2);

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

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

把信号的每个通道画在各自的坐标轴上。画出原始信号、滤波后的信号和异常值。注释异常点位置。

K = 1:2 hk = h(:, K);ax =情节(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(香港);<年代pan style="color:#0000FF">结束

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

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

n = 1:10 0;x =罪(2 *π* n / 100);x (6) = 2;x (20) = 2;

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

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

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

  • 策划的结果。

    [y,我xmedianψ]= 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">“离群值”

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

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

    sds = 2;disorderly = 10;[y,我xmedianψ]= hampel (x的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">“离群值”

    图中包含一个axes对象。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,定义点对点中值和标准差估计值使用: