主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

データのフィルター処理と平滑化

データの平滑化とフィルター処理について

関数光滑的を使用すると応答データを平滑化できます。オプションの方法として、移動平均、萨维茨基·戈雷フィルター、重みやロバスト性を使用するまたは使用しない局所回帰 (洛斯黄土rlowessおよびrloess)を使用できます。

移動平均フィルター

移動平均フィルターは、所定の範囲内で定義された隣接データ点の平均で各データ点を置き換えることによりデータを平滑化します。このプロセスは、次の差分方程式で与えられる平滑化の応答を使用するローパス フィルター処理と等価です。

Y s ( ) = 1. 2. N + 1. ( Y ( + N ) + Y ( + N 1. ) + ... + Y ( N ) )

ここでys(我)は番目のデータ点の平滑化値,Nはys(我)の片側の隣接データ点の数,2 n + 1は範囲です。

曲线拟合工具箱™ で使用する移動平均平滑化法は以下の規則に従います。

  • 範囲は奇数でなければなりません。

  • 平滑化するデータ点は範囲の中央になければなりません。

  • 片側に指定された数の隣接点が存在しないデータ点では、範囲が調整されます。

  • 端点では範囲を定義できないため、端点は平滑化されません。

関数过滤器を使用すると、上に示したような差分方程式を実装できることに注意してください。ただし、端点の扱い方が原因で、ツールボックスの移動平均の結果は过滤器が返す結果と異なります。詳細については、差分方程式とフィルター処理を参照してください。

たとえば,範囲が5の移動平均フィルターを使用してデータを平滑化することを考えます。上で説明した規則を使用すると,Ysの最初の4つの要素は次で与えられます。

Ys(1) =y(1)ys(2) = y(1)+y(2)+y(3) /3 ys(3) =(y(1)+y(2)+y(3)+y(4)+y(5))/5ys(4) = (y y (2) + (3) + (4) + y (5) + y (6)) / 5

Ys(1)Ys(2)、...、Ys(完)は並べ替えた後のデータの順序を示し、必ずしも元の順序ではないことに注意してください。

生成されたデータセットの最初の 4.つのデータ点に関する平滑化値と範囲を次に示します。

プロット(a)は,範囲を構成できないため最初のデータ点が平滑化されていないことを示します。プロット(b)は2番目のデータ点が範囲3を使用して平滑化されていることを示します。プロット(c)(d)は,範囲5を使用して平滑化値を計算していることを示します。

萨维茨基·戈雷フィルター

萨维茨基·戈雷フィルターは一般化された移動平均と考えられます。フィルター係数を導くために、指定した次数の多項式を使用する重みなし線形最小二乗近似を実行します。このため、萨维茨基·戈雷フィルターは、デジタル平滑化多項式フィルターまたは最小二乗平滑化フィルターとも呼ばれます。高次多項式を使用するとデータの特徴を損なわずに高いレベルの平滑化を実現できることに注意してください。

Savitzky-Golayフィルター法は多くの場合,周波数データまたは分光(ピーク)データに使用されます。周波数データの場合,この手法は信号の高周波数成分の維持に効果があります。分光データの場合,この手法は線幅などピークの高次モーメントの維持に効果があります。これに対して,移動平均フィルターは,信号の高周波数成分からかなりの部分を除去する傾向があり,重心などピークの低次モーメントのみを維持できます。ただし,Savitzky-Golayフィルターは移動平均に比べるとノイズをあまり適切に抑制できません。

曲线拟合工具箱ソフトウェアで使用する 萨维茨基·戈雷平滑化法は以下の規則に従います。

  • 範囲は奇数でなければなりません。

  • 多項式の次数は範囲より小さくなければなりません。

  • データ点が等間隔である必要はありません。

    通常、萨维茨基·戈雷フィルターでは予測子データが等間隔である必要があります。ただし、曲线拟合工具箱のアルゴリズムでは、等間隔でないデータをサポートしています。そのため、追加のフィルター処理手順を実行して等間隔のデータを作成する必要はありません。

以下に示すプロットには、生成されたガウス データと 萨维茨基·戈雷法を使用したいくつかの平滑化の結果を示しています。このデータにはかなりのノイズが含まれており、ピーク幅は広いものから狭いものまでさまざまです。範囲はデータ点数の 5% に相当します。

プロット(a)にはノイズの多いデータを示しています。平滑化した結果を比較しやすくするために、プロット(b)(c)には余分なノイズのないデータを示しています。

プロット(b)には 2.次多項式による平滑化の結果を示しています。この手法は幅の狭いピークでパフォーマンスが悪化することに注意してください。プロット(c)には 4.次多項式による平滑化の結果を示しています。一般的に、高次多項式は、幅の狭いピークの高さと幅を正確に捉えますが、幅の広いピークを適切に平滑化できません。

局所回帰平滑化

洛维斯と 黄土

“洛维斯”および "黄土“という名前は 局部加权散点图平滑(局所的に重み付けされた散布図平滑化)" から来ており、どちらの手法も局所的に重み付けされた線形回帰を使用してデータを平滑化します。

平滑化プロセスは、移動平均法のように、所定の範囲内で定義された隣接データ点によって平滑化した値が決まるため、局所的であると見なされます。所定の範囲に含まれるデータ点に対して回帰重み関数が定義されるため、このプロセスは重み付けを伴います。回帰重み関数に加え、ロバスト重み関数を使用して外れ値に対する耐性をこのプロセスにもたせることができます。さらに、この手法は回帰に使用するモデルによって区別されます。洛维斯は線形多項式を使用し、黄土は 2.次多項式を使用します。

曲线拟合工具箱ソフトウェアで使用する局所回帰平滑化法は以下の規則に従います。

  • 範囲は偶数でも奇数でもかまいません。

  • データセットの合計データ点数の割合として範囲を指定できます。0.1たとえば,範囲をとすると10%のデータ点が使用されます。

局所回帰法

局所回帰平滑化プロセスは,各データ点について以下の手順に従います。

  1. 範囲内の各データ点で "回帰重み"を計算します。この重みは,次に示すTricube関数で与えられます。

    W = ( 1. | x x D ( x ) | 3. ) 3.

    xは平滑化される応答値に関連する予測子値,xは範囲によって定義される xの最近傍、d(x)は横座標に沿った xから範囲内で最も遠くにある予測子値までの距離です。重みには次の特性があります。

    • 平滑されるデータ点は重みが最大で,近似に最も影響します。

    • 範囲外にあるデータ点は重みがゼロで,近似には影響しません。

  2. 重み付き線形最小二乗回帰を実行します。洛维斯の場合は、回帰に 1.次多項式を使用します。黄土の場合は、回帰に 2.次多項式を使用します。

  3. 平滑化値は,関心のある予測子値での加重回帰によって与えられます。

平滑化されるデータ点の両側で同じ数の隣接データ点について平滑化計算が行われる場合、重み関数は対称です。ただし、隣接点の数が、平滑化されるデータ点に関して対称でない場合、重み関数は対称ではありません。移動平均平滑化プロセスとは異なり、範囲が変化しないことに注意してください。たとえば、予測子値が最小であるデータ点を平滑化する場合、重み関数の形状は半分に切り取られた形状になり、範囲内の左端のデータ点の重みが最大で、すべての隣接点が平滑化値の右になります。

範囲が 31個のデータ点である場合について端点と内側の点の重み関数を次に示します。

範囲が 5.の 洛维斯を使用した場合について、生成されたデータセットの最初の 4.つのデータ点に関する平滑化値と関連する回帰を次に示します。

平滑化プロセスが各データ点を順に進んでも範囲は変化しないことに注意してください。ただし、最近傍点の数に応じて、回帰重み関数が平滑化されるデータ点に関して対称でない場合があります。特に、プロット(a)(b)では非対称な重み関数が使用され,プロット(c)(d)では対称な重み関数が使用されています。

黄土法の場合2次多項式によって平滑化値が生成されることを除き,グラフは同じようになります。

ロバスト局所回帰

データに外れ値が含まれている場合,平滑化値がゆがみ,大部分の隣接データ点の振る舞いが反映されない可能性があります。この問題を解決するために,ごく一部の外れ値からの影響を受けないロバスト手順を使用してデータを平滑化できます。外れ値の説明については,残差分析を参照してください。

曲线拟合工具箱ソフトウェアでは、洛维斯平滑化法と 黄土平滑化法の両方のロバスト バージョンが用意されています。これらのロバスト法には、外れ値に耐性のあるロバスト重みの計算が追加で含まれています。ロバスト平滑化手順は以下の手順に従います。

  1. 前節で説明した平滑化手順で残差を計算します。

  2. 範囲内の各データ点で”ロバスト重み”を計算します。この重みは,二重平方関数で与えられます。

    W = { ( 1. ( R / 6. M A. D ) 2. ) 2. , | R | < 6. M A. D , 0 , | R | 6. M A. D ,

    ここで,rは回帰平滑化手順で生成された 我番目のデータ点の残差、疯狂的は残差の中央絶対偏差です。

    M A. D = 中值的 ( | R | ) .

    中央絶対偏差は残差の広がりの尺度です。Rが 6MADより小さい場合、ロバスト重みは 1.に近づきます。Rが6疯狂より大きい場合,ロバスト重みは0であり,関連するデータ点は平滑化計算から排除されます。

  3. ロバスト重みを使用してデータを再度平滑化します。最終的な平滑化値は,局所回帰重みとロバスト重みの両方を使用して計算されます。

  4. 前の 2.つの手順を合計 5.回繰り返します。

生成されたデータセットが 1.つの外れ値を含む場合について、 洛维斯手順の平滑化結果とロバスト 洛维斯手順の結果を以下で比較します。どちらの手順の範囲もデータ点数は 11です。

プロット(a)は,いくつかの最近傍の平滑化値に外れ値が影響することを示しています。プロット(b)は、外れ値の残差が中央絶対偏差の 6.倍よりも大きいことを示しています。そのため、このデータ点でロバスト重みはゼロになります。プロット(c)は、外れ値の近くの平滑化値が大部分のデータを反映していることを示しています。

例:データの平滑化

count.datのデータを読み込みます。

加载计数.dat

24行 3.列の配列计数には、3.つの交差点におけるある日の 1.時間ごとの交通量が含まれています。

最初に,範囲が5時間の移動平均フィルターを使用して,すべてのデータを(線形インデックスによって)一度に平滑化します。

c =光滑(count (:));C1 =重塑(c, 24岁,3);

元のデータと平滑化したデータをプロットします。

次要情节(1,1)情节(统计,“:”);抓住情节(C1,“-”);标题('平滑C1(所有数据)')

次に、同じフィルターを使用してデータの列を別々に平滑化します。

C2 = 0(24日3);for I = 1:3, C2(:,I) = smooth(count(:,I));结束

元のデータと平滑化したデータを再度プロットします。

子地块(3,1,2)绘图(计数“:”);保留绘图(C2“-”);标题(“平滑C2(每列)”)

2.つの平滑化データセットの差をプロットします。

subplot(3,1,3) plot(C2 - C1,'o-') title('Difference C2 - C1')

3.列の平滑化の場合に余分な末端効果があることに注意してください。

例: 黄土および 粗壮黄土によるデータの平滑化

外れ値を含むノイズの多いデータを作成します。

x = 15 *兰德(150 1);Y = sin(x) + 0.5*(rand(size(x))-0.5);y(装天花板(长度(x) *兰特(2,1)))= 3;

黄土およびrloess幅10%,の手法を使用しでデータを平滑化します。

yy1 =光滑(x, y, 0.1,“黄土”);yy2 =光滑(x, y, 0.1,“rloess”);

元のデータと平滑化したデータをプロットします。

[xx,ind]=排序(x);子地块(2,1,1)图(xx,y(ind),'b','xx,yy1(ind),'r-')集(gca,'YLim',[-1.5 3.5])图例(“原始数据”,“使用“黄土”平滑的数据”,“位置”,“西北”)子地块(2,1,2)图(xx,y(ind),'b',xx,yyy2(ind),'r-')集(gca,'YLim,[-1.5 3.5])图例(“原始数据”,“使用“黄土”平滑的数据”,“位置”,“西北”)

外れ値がロバスト法に与える影響が小さいことに注意してください。

参考

関連するトピック