データ変換のアルゴリズム

Origin では、データが正規分布に従うように変換する手法として、 Box-Cox変換、Johnson変換、Yeo-Johnson変換の3種類を提供しています。

Box-Cox変換とYeo-Johnson変換はともにべき変換です。違いは、Box-Cox変換は全て正のデータにしか適用ない一方、Yeo-Johnson変換はどんなデータにも制限なく適用できる点にあります。Johnson変換はJohnson分布システムを使用するが、元のデータの正規性をチェックしてデータを変換することができます。

目次

Box-Cox変換

Box-Cox変換はべき変換の一種で、正のデータに対してのみ適用できます。Box-Cox変換の結果は次のように定式化されます。


Y'=\left\{
    \begin{array}{ll}
    Y^\lambda&\lambda \neq 0\cr
    \ln(Y)&\lambda = 0
    \end{array}
\right.

ここで、\lambda[-5, 5]の範囲にあります。

最適な\lambda

Originは[-5, 5]の範囲で最適\lambdaを推定し、変換されたデータの最小標準偏差が最小となる推最適\lambdaを選択します。異なる\lambda間で標準偏差を比較できるように、標準偏差を計算する前に、変換されたデータの標準化が必要です。データの標準化には以下の式を用います。


Z_i=\left\{
    \begin{array}{ll}
\frac{Y_i^\lambda -1}{\lambda G^{\lambda-1}}&\lambda \neq 0\cr
G \ln(Y_i)&\lambda = 0
    \end{array}
\right.

ここで、iはデータGの場合、ithは元データの幾何平均です。Zは標準偏差の計算に使用します。

最適化の詳細なステップ(黄金分割探索(Golden Section Search Algorithm))は次のとおりです。

  1. 最適化の範囲を初期化します。ここでは-5から5、および反復の停止条件を決定します。
  2. 黄金比で範囲を縮小します。
    GoldenRatio=(\sqrt{5}+1)/2
    LenghOfOldRange=OldLargeEndPoint-OldSmallEndPoint
    NewSmallEndPoint=OldSmallEndPoint+LenghOfOldRange/GoldenRatio
    NewLargeEndPoint=OldLargeEndPoint-LenghOfOldRange/GoldenRatio
    より小さい新しい範囲を取得します。
  3. 2つの\lambdaに対して Z 値と標準偏差を計算
  4. 2つの標準偏差を比較します。
    新しい範囲の小さい方の端点の標準偏差が新しい範囲の大きい方の端点の標準偏差よりも大きい場合は、範囲を古い範囲の小さい方の端点から新しい範囲の小さい方の端点まで更新します。
    それ以外の場合は、新しい範囲の大きい終点から古い範囲の大きい終点までの範囲を更新します。
  5. 4 の更新された範囲を古い範囲として取得し、古い範囲の長さが指定された許容値よりも小さくなるまで 2 から 4 を繰り返し、この古い範囲を最終範囲として取得します。
  6. 最適な\lambda は最終的な範囲の中点です。

標準偏差を計算する方法

  1. サブグループデータ、すなわちサブグループサイズが1より大きい場合、不偏標準偏差を使用して推定されます。
  2. サブグループサイズが 1(個別データ) の場合、移動範囲の平均は移動範囲2によって推定されます。

Originはまた、最適\lambdaを0.5単位に丸めるか、つまり最適\lambda値を得た後、最も近い値(0.5の倍数)に丸めるかどうかのオプションも提供しています。

Johnson変換

Johnson分布の3つの分布族には、SB、SL、SUNがあり、それぞれ有界(SB)、対数正規(SL)、無制限(SU)変数のJohnson分布族です。これら3つの族の変換関数の式は次のとおりです。


Y'=\left\{
\begin{array}{ll}
SB = \gamma + \eta \ln\frac{Y-\epsilon}{\lambda+\epsilon-Y} &\eta, \lambda > 0, -\infty < \gamma < \infty, -\infty < \epsilon < \infty, \epsilon < Y < \epsilon + \lambda\cr
SL = \gamma + \eta \ln(Y-\epsilon) & \eta > 0, -\infty < \gamma < \infty, -\infty < \epsilon < \infty, \epsilon < Y\cr
SU = \gamma + \eta \sinh^{-1}\frac{Y-\epsilon}{\lambda} &\eta, \lambda > 0, -\infty < \gamma < \infty, -\infty < \epsilon < \infty, -\infty < Y < \infty, \sinh^{-1}(x) = \ln(x+\sqrt{1+x^2})
\end{array}
\right.

このアルゴリズムの目的は、3つのJohnson族から最適な変換関数を選択することです。「最良」とは、

  1. 変換後、変換されたデータに対してAnderson-Darling検定を行い、対応するp値が最大であること。
  2. 最大のp値が指定されたp値基準よりも大きい(デフォルトは0.1)。

最適な変換関数を選択するための一般的な流れは次のとおりです。

  1. 上記の3つのJohnson族から得られるほとんど全ての潜在的な変換関数が候補と考えられます。
  2. 各候補について:
    1. Estimate the parameters by using the method described in Youn-Min Chou, Alan M. Polansky & Robert L. Mason (1998) Transforming Non-Normal Data to Normality in Statistical Process Control, Journal of Quality Technology, 30:2, 133-141, DOI: 10.1080/00224065.1998.11979832
    2. 推定されたパラメータを用いて候補関数で元のデータを変換します。
    3. 変換されたデータに対してAnderson-Darling検定 (注:上記の論文では、Shapiro-Wilk正規性検定) を行い、p値を取得します。
  3. 上記の「最適な」の基準に従って、「最適な」変換関数を選びます。「最適な」基準に一致する候補がない場合、データに対して選択される変換は適切ではありません。

Yeo-Johnson変換

Yeo-Johnson変換は、別の種類のべき変換です。 Box-Cox変換とは異なり、Yeo-Johnson変換は正、負、ゼロの任意のデータに対して適用できます。Yeo-Johnson変換の結果は次のように定式化されます。


Y'=\left\{
    \begin{array}{ll}
    \frac{(Y+1)^\lambda - 1}{\lambda} &\lambda \neq 0,Y\ge0\cr
    \ln(Y+1) &\lambda = 0,Y\ge0\cr
   -\frac{(-Y+1)^{2-\lambda}-1}{2-\lambda} &\lambda \neq 2,Y < 0\cr
   -\ln(-Y+1) & \lambda = 2,Y < 0
    \end{array}
\right.

ここで、\lambda[-5, 5]の範囲に制限されます。

最適な\lambda

OriginはBox-Cox変換と同じアルゴリズムを用いて最適な\lambdaを推定します。しかし、このアルゴリズムは元のデータの幾何平均を計算する必要があり、元のデータに負のデータまたはゼロが含まれている場合にうまくいきません。そのため、この最適化を正でないデータに対して適用できるように、このアルゴリズムでは元のデータに正の値を足すことで、全て正の値を持つ新しいデータを取得します。

最適化の詳細は、Box-Cox変換最適な\lambda項を参照してください。