正規化(Min-Max正規化)とは

平等とは、自分と同様に他の人々にも同じチャンスと権利を与えることだ。
- ホイットマン -

単位や大きさの幅が異なるデータを比較する際に使われる手法の1つに正規化があります。正規化(Min-Max正規化)は、データの値を0~1の値にする方法で、対象とするデータの単位や大きさの幅が異なっても、相対的に比較することができます。


計算方法は以下です。
図1


( [対象の値] - [データ内の最小値] ) / ( [データ内の最大値] - [データ内の最小値] )

最小値を0、最大値を1、それ以外は最大値に近いほど1に近い値を取ることができます。
今回はこの値を使って、データを可視化してみました。



正規化した計算値を使ってみよう

今回はデータソースにポケモンの能力値を使い、正規化した値を計算してみました。
計算式は以下です。

(MAX([Value])-WINDOW_MIN(MAX([Value])))/ (WINDOW_MAX(MAX([Value]))-WINDOW_MIN(MAX([Value])))

※集計関数を使う都合で、MAX([Value])という書き方をしていますが、これ自体に意味はありません。

データ内の最小値をWINDOW_MIN関数、データ内の最大値をWINDOW_MAX関数を使用して計算しています。WINDOW関数は、使用しているグラフ(シート)全体を対象とすることができる表計算関数です。


これをX軸・Y軸それぞれで計算して可視化した散布図が以下です。
図2

値の幅が0~1で固定されるため、軸の範囲を固定したり、中央の線(0.5)を引いたりすることができるのでわかりやすく表現することができました。


まとめ

今回は正規化した値を使ってデータを可視化してみました。
標準化した値を使用したい場合は、ぜひお試しください!