はじめに
「zスコア正規化」「zスコア標準化」「Z-score normalization」など、似た言葉を見て違いが分かりにくいことがあります。さらに、0~1の範囲へ変換するMin-Max正規化も「正規化」と呼ばれるため、用語だけを見ると混同しやすい分野です。
zスコアによる変換では、各値から平均を引き、標準偏差で割ります。これにより、元の単位が異なる特徴量でも「平均から標準偏差何個分離れているか」という共通の尺度で表せます。
この記事では、zスコア正規化(標準化)の意味と計算方法を中心に、Min-Max正規化との違い、機械学習で使うときの注意点まで整理します。
zスコア正規化(標準化)とは
zスコア正規化は、値を平均からの距離として表し直す変換です。機械学習では「標準化(standardization)」や「Z-score scaling」と呼ばれることが多く、広い意味では正規化・スケーリングの一種として扱われることもあります。
変換後の値は、平均より大きければ正、平均より小さければ負になります。たとえばzスコアが1.5なら、その値は平均より1.5標準偏差だけ上にあることを意味します。
この変換の目的は、データを正規分布へ変形することではありません。元の分布の形を大きく変えず、位置と尺度をそろえるための線形変換です。正規分布を前提に確率を求める考え方については、標準正規分布とは?平均・分散・Z変換で確率を求める方法で扱います。
zスコアの計算方法
zスコアは次の式で求めます。
z = (x − μ) / σ
- x:変換したい値
- μ:対象データの平均
- σ:対象データの標準偏差
たとえば平均70点、標準偏差10点のテストで85点だった場合、zスコアは次のようになります。
z = (85 − 70) / 10 = 1.5
つまり85点は、平均より1.5標準偏差だけ高い位置にあると読めます。同じ方法で60点ならz = -1となり、平均より1標準偏差だけ低い位置です。
元の点数は「点」という単位を持ちますが、zスコアに変換すると単位を持たない共通尺度になります。そのため、単位や値の大きさが違う特徴量を比較しやすくなります。なお、すべての値が同じで標準偏差が0になる特徴量では、この式で割ることができないため別の扱いが必要です。
変換すると平均0・標準偏差1になる
同じデータの平均と標準偏差を使ってzスコアへ変換すると、変換後の平均は0、標準偏差は1になります。
平均を引くことでデータの中心が0へ移り、標準偏差で割ることでばらつきの尺度が1にそろいます。たとえば「年齢」と「年収」のように単位も値の範囲も違う特徴量でも、変換後はそれぞれの平均からどの程度離れているかという尺度で扱えます。
ただし、zスコア変換をしただけで元の分布が正規分布になるわけではありません。強く偏った分布や外れ値を含むデータは、変換後もその特徴を残します。
Min-Max正規化との違い
Min-Max正規化は、最小値と最大値を基準に、通常は0~1の範囲へ値を変換する方法です。
Min-Max正規化値 = (x − 最小値) / (最大値 − 最小値)
zスコア正規化とMin-Max正規化では、そろえる基準が異なります。
| 項目 | zスコア正規化(標準化) | Min-Max正規化 |
|---|---|---|
| 基準 | 平均と標準偏差 | 最小値と最大値 |
| 代表的な変換後 | 平均0・標準偏差1 | 0~1の範囲 |
| 値の範囲 | 上限・下限は固定されない | 基準データでは指定範囲に収まる |
| 外れ値の影響 | 平均・標準偏差が影響を受ける | 最小値・最大値が影響を受ける |
| 向いている場面 | 中心とばらつきを基準に尺度をそろえたい | 値を一定範囲へ収めたい |
「正規化」という言葉は資料やライブラリによって広い意味で使われることがあります。そのため、方法を区別したいときは「zスコア標準化」「Min-Max正規化」のように具体的な手法名まで確認すると混同しにくくなります。
zスコアとMin-Maxはどう使い分けるか
zスコア正規化は、平均とばらつきを基準に特徴量の尺度をそろえたいときに使いやすい方法です。距離、内積、勾配、正則化などの影響を受ける機械学習モデルでは、特徴量ごとのスケール差を小さくすることが学習を安定させる助けになります。
一方、0~1のように値の範囲を明確にそろえたい場合はMin-Max正規化が選択肢になります。ただし、どちらも外れ値の影響を受けます。特に極端な値があると、平均・標準偏差や最小値・最大値が大きく変わるため、変換前にデータの分布を確認することが重要です。
外れ値の確認や扱い方は、データ分析における外れ値・異常値・欠損値の検出と対応方法で整理しています。
機械学習で使うときの注意点
最も重要なのは、学習データとテストデータを分ける前に全データから平均・標準偏差を計算しないことです。
モデル評価では、まず学習データだけから平均と標準偏差を求めます。その値を使って学習データを変換し、同じ平均・標準偏差を検証データ、テストデータ、推論時のデータにも適用します。テストデータを含めて平均や標準偏差を計算すると、本来は未知である情報が学習側へ漏れる「データリーク」になります。
また、すべてのモデルで標準化が必須というわけではありません。特徴量のスケールに影響されやすいモデルでは有効ですが、木構造を使うモデルのように、尺度の違いの影響を受けにくい手法もあります。前処理はモデルとデータの性質に合わせて選びます。
前処理全体の考え方は、特徴量エンジニアリングとは?データ変換の手法と活用ポイントも参考にしてください。
まとめ
zスコア正規化(標準化)は、各値から平均を引き、標準偏差で割ることで、平均からの距離を共通尺度で表す方法です。
- z = 0は平均と同じ位置
- zが正なら平均より上、負なら平均より下
- 絶対値は平均から何標準偏差離れているかを表す
- 変換後は平均0・標準偏差1になる
- zスコア変換だけでデータが正規分布になるわけではない
- Min-Max正規化は最小値・最大値を基準に値の範囲をそろえる方法で、基準が異なる
機械学習で使う場合は、平均と標準偏差を学習データから求め、同じ値をテストデータや推論時にも使うことが重要です。用語だけで「標準化」「正規化」を区別するのではなく、どの式と基準で値を変換しているかを確認すると理解しやすくなります。