Exploratory アワー #454 - ある列の数値を0から1の間で標準化したい

ばらつきや値の範囲が異なるグループ間の指標を比べたいときには数値を「標準化」することがあります。この標準化にはいくつかの方法があるのですが、正の数字(0から1の間の数値)に標準化する方法(Min-Max Normalization)を紹介します。

問題

一般的に利用されることが多い平均が0、標準偏差が1になるような数値の標準化(z-score normalization)をすると、実際には、負でない数値も負の値となってしまい、直感的に数値を解釈しづらいことがあります。

解決方法

標準化について

データ分析において、異なる単位や尺度のデータを比較する際に直面する課題があります。

例えば、ある顧客の購買データを分析する場合、購入金額に注目をしたり、購買回数に注目したりと異なる単位やスケールのデータを扱うことになります。

例えば、とあるビジネスにおける顧客の購買額と購買回数の分布に対して、鈴木さんは以下のような購買状況だったとします。

購買額と購買回数の単位は異なるので、顧客の中で、鈴木さんの購買額が大きいのか、あるいは、購買回数が大きいのかといったことを、数値から直感的に理解することは難しくなっています。

このように数値のばらつきが異なるときやスケールが異なるときに、「標準化」をすると、各データが平均からどれだけ離れているかを明確にし、比較がしやすくなるだけでなく、複数の指標間での比較が容易になります。

これが標準化の基本的なコンセプトなのですが、標準化にはいくつかの手法があり、一般的には、「z score normalization」という手法が利用されます。

Exploratoryでも数値関数メニューの中でいくつか標準化のメニューを用意しており、「標準化(normalization)」では、「z score normalization」を採用しています。

「標準化(normalization)」を利用すると、データの平均が0になるようになり、平均より大きければ、正の数値をとり、数値が大きくなるほ、平均と比較して、注目している指標の値が大きいことを示します。また、注目している指標が、平均より小さくなる場合、負の数値をとり、数値が小さくなるほ、平均と比較して、注目している指標の値が小さいことを示します。

このとき、実際の指標が負の値でないにも関わらず、負の値でないのも関わらず、負の値になってしまうため、0から1の正の数値として、その大小関係がわかるように標準化をする方法があります。

それが、Min-Max Normalizationという標準化の方法で、以下の計算をすることで実行できます。

(観測値 - 最小値) / (最大値 - 最小値)

例えば、1から10の段階のアンケートにおいて、最小値が5で、最大値が10、標準化する回答が7だった場合、以下のような計算で標準化ができ、0から1の間の値に変換されます。

今回は1行が1つのアンケート回答を表し、列には各質問項目の評価値(数値)が含まれているデータを利用して、数値列に対して、Min-Max Normalizationを実施する方法を紹介します。

単一列の標準化

まず1つの列に対して標準化を適用する方法を説明します。

標準化したい列のヘッダーメニューから「計算を作成」の「標準」を選択します。

計算を作成するためのダイアログが開いたら、以下の計算式を入力し、実行します。

 (標準化したい列名 - min(標準化したい列名)) / (max(標準化したい列名) - min(標準化したい列名))

新しい列名を「サービス推奨度_MinMax」として設定し、実行ボタンをクリックします。

これで0から1の間で標準化された新しい列が作成できました。

複数列の一括標準化

次に複数の列に対して一度に標準化を適用する方法を説明します。

標準化したい複数の列を選択した状態で、「計算を作成」の「標準」を選択します。

計算エディターが表示されたら、先ほどと同じ計算式を入力します。この時、列名の代わりにドット(.)を使用することで、選択した全ての列に対して同じ計算を適用することができます。

元の列を残したい場合は「上書きする」のチェックを外し、新しい列名の接尾語として「_MinMax」を指定して実行ボタンをクリックします。

これで選択した全ての列に対して0から1の間での標準化が適用され、新しい列が作成できました。

ビデオ

参考情報

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio