ソフトウェア
Chemometrix > ケモメトリックス > 前処理  
EZ Chrom Elite

5. 前処理(Preprocessing)

変換は、データセットの各サンプルに対して実行されますが、前処理は列単位の操作になるため、前処理の結果はサンプルのセットに対して特定になります。変数に基づいた前処理データとサンプルに基づいた変換データの違いは、重要なため正しい認識が必要です。

いくつかの多変量解析のアルゴリズムでは、説明変数の分散のパターンに基づいて計算を実行するため、前処理が必要になります。前処理が省略されると、任意な測定範囲や単位のから、間違った結果を導いてしまう場合があります。
1. 平均化(Mean-Center)
平均化とは、データセットの中心にプロットの原点を移動することです。つまり、各変数の平均値はゼロになります。例として表1のデータを考えます。

表1 元のデータ
  iodine index Oleic Acid
Tucuma 76.0 65.67
Dende 58.0 37.00
inaja 74.9 48.72
Buriti 68.5 72.81
Pataua 75.1 80.20
Pupunha 56.6 53.56

まず、各変数の平均値を計算します:

平均値を各データ値から差し引いて、平均化された行列を導きます。

表1のデータを平均化した結果を、表2に示します。

表2 平均化されたデータ
  iodine index Oleic Acid
Tucuma 7.8167 6.0100
Dende -10.1833 -22.6600
inaja 6.7167 -10.9400
Buriti 0.3167 13.1500
Pataua 6.9167 20.5400
Pupunha -11.5833 -6.1000
表1と表2に関する散布図を、下図に示します。

図 元のデータ(a)と平均化されたデータ(b)のプロット

平均化は、サンプル間の相対的な関係を変えずに、単に原点を移動するだけなので、多くのデータに適用されます。しかし、濃度で異なる直線性を示すデータや、ベースラインがないデータ、クローズでないデータで多変量回帰を行う場合には、平均化の処理を避けるべきです)。
2. 分散スケール(Variance Scale)(Variance Scale)
2つ(または3つ以上)の変数のデータが、異なった規模の範囲に分布している場合、一番大きい変数がすべての分散の計算において支配的になります。例えば、異なった性質の測定値(温度、pH、湿度等)を考えます。この場合、データセットが複数の単位において、任意の変数範囲から成り立っています。つまり、pHの1単位の変動(例えば、 pH7からpH8)は、温度の10単位の変動(例えば、 300Kから310Kに)によって隠されてしまう場合があります。このような状況下では、支配的な変数による影響を、分散スケールによって取り除きます。

表3には、2つの変数の測定値が含まれています。この場合、単位(%)は同じですが、大きさの違いによって1つの変数(オレイン酸)が、データセットの全分散に対して支配的になっています。

表3 分散の大きさが異なる変数
  % Oleic Acid % Linoleic Acid
Tucuma 65.67 3.65
Dende 37.00 9.26
inaja 48.72 15.50
Buriti 75.81 4.86
Pataua 80.20 6.70
Pupunha 53.56 6.27
下図の二次元散布図のプロットでは、支配的な変数を明確に示しています。両方が同様な範囲で変化する場合、ポイントは散布図全体に分布します。データポイントのすべてが1つの座標軸に対して圧縮されていることは、リノール酸がオレイン酸よりずっと小さな範囲で変化していることを示しています。スケーリングが実行されないと、分散に基づいたアルゴリズムでは、支配的な変数(この場合オレイン酸)を最初に表現してしまいます。

図 オレイン酸とリノール酸の分散の比較

この問題を解決する1つの方法は、すべての変数の値を、それぞれの変数の標準偏差で割ることです。つまり、分散を1にします。まず、各変数の分散を計算します:

そして、説明変数を各列の標準偏差で割ります。

表3のデータに分散スケールを適用した結果を表4に示します。

表4  分散スケールによるデータ
  Oleic Acid Linoleic Acid
Tucuma 3.05628 0.75109
Dende 1.72198 1.90551
inaja 2.26743 3.18956
Buriti 3.52819 1.00008
Pataua 3.73250 1.37871
Pupunha 2.49268 1.29023
Mucaja 0.93080 0.00000
表4のデータを、散布図として下図に示します。ポイントは、両座標軸に関して同様な範囲で分布しています。上図のプロットと比較してみてください。

図 分散スケールによるデータ
3. オートスケール(Autoscale)
オートスケールは、分散スケーリングの後に平均化を行う方法です。つまり、平均が0、分散が1のデータになります。

表5は、表3のデータをオートスケール処理したデータです。

表5 オートスケール後のデータ
  Oleic Acid Linoleic Acid
Tucuma 0.52344 -0.60820
Dende -0.81080 0.54619
inaja -0.26540 1.83025
Buriti 0.99536 -0.35920
Pataua 1.19967 0.01940
Pupunha -0.04010 -0.06900
Mucaja -1.60200 -1.35930
オートスケール後のデータを散布図として示した下図と、上図を比較してみてください。

図 オートスケーリング後のデータ
4. レンジスケール(Range Scale)
レンジスケールはすべての変数の値を、0から1の間の範囲に変更します。数学的には、以下のように表現されます。

表3のレンジスケールの結果が、表6に示されています。

表6 レンジスケールされたデータ
  Oleic Acid Linoleic Acid
Tucuma 0.75864 0.23548
Dende 0.28239 0.59742
inaja 0.47708 1.00000
Buriti 0.92708 0.31355
Pataua 1.00000 0.43226
Pupunha 0.55748 0.40452
Mucaja 0.00000 0.00000
それぞれの変数の極端な値が範囲を決定するため、この方法はアウトライヤーの存在に大きく影響されます。レンジスケールされた表6のデータを、散布図として下図に示します。

図 レンジスケーリングされたデータ

前処理の全ての方法は、アウトライヤーの存在に大きく影響されます。このことは、分散に基づくモデリング技法に対しての、アウトライヤー診断の重要性を意味しています。

備考:前処理が適用されない場合、PCA、PCR、PLS、SiMCAの最初のローディングベクトルは、(単位長さに調整した)説明変数ブロックの平均を表現する場合がありあます。つまり、平均化やオートスケールを行うと、1つの因子によってモデルの複雑さを減らせます。次の図はこの概念を示しています。

図 前処理なしの(a) 生データ (b) 最初のローディングベクトル

変換は、説明変数だけに影響しますが、前処理は説明変数と目的変数の両方に影響します。最初に変換が行われ、次に変換されたデータが前処理され、それからアルゴリズムが実行されます。
注: 著作権について:
ここで記載されている情報は、予告なしに変更される場合があり、これらの情報についてジーエルサイエンス(株)およびinfometrix inc.はいかなる責任も負いません。また、ここで記載されている情報の全部または一部を複写及び使用することを禁じます。
Software