normalize

内容

概要

入力XYデータまたは曲線を正規化します。

コマンドラインでの使用法

  1. normalize iy:=Col(2) method:=range;
  2. normalize iy:=Col(2) method:=specify val:=10;
  3. normalize iy:=Col(2) method:=mean oy:=<new>;

変数

表示
変数
I/O

データ型
デフォルト
説明
入力 iy

入力

XYRange

<active>

入力曲線かXY範囲を指定します。

データ情報 datainfo

入力

TreeNode

<unassigned>

これはダイアログにデータ情報を表示するためのものです。LabTalkでXファンクションを使うとき、この変数は使用しないで下さい。

正規化の方法 method

入力

int

1

入力データを正規化する手法を指定します。
オプションリスト

  • Specify:特定値で割る{0}
    val変数で指定した値でデータを割る
  • Range:[0, 1]に正規化{1}
    データを範囲 [0, 1]に正規化
  • Range100:[0, 100]に正規化{13}
    データを範囲 [0, 100]に正規化(9.0SR0)
  • SND: Zスコア(N(0, 1)で正規化) {2}
    データを標準正規分布に変換
  • Max:最大値で割る {3}
    データを最大Y値で除算
  • Min:最小値で割る{4}
    データを最小Y値で除算
  • Mean:平均で割る{5}
    データをY値の平均で除算
  • Median:中央値で割る{6}
    データをY値の中央値で除算
  • SD:標準偏差で割る{7}
    データをY値の標準偏差で除算
  • Norm:ノルムで割る{8}
    データをY値のノルムで除算
  • Mode:最頻値で割る{9}
    データをY値の最頻値(モード)で除算モードは、データ範囲内にもっとも出現する要素です(最頻値)。
  • sum:合計で割る{10}
    ベクターデータをY値の合計で除算
  • ref:参照列を使う {11}
    type 変数で指定した統計量とrefcol 変数で指定した参照列のセルとに合う入力データを正規化します。
  • cell:参照セル値で割る{12}
    cell 変数で指定した参照セルを使って入力データを除算
ユーザ定義の値 val

入力

double

1.0

この変数は、方法特定値で割るにセットされている場合のみ利用できます。入力データを割るのに使用する値を指定します。

参照列 refcol

入力

Column

<optional>

この変数は、正規化の方法参照列を使うにセットされている場合のみ利用できます。これは参照する列を指定するために使用されます。

正規化 type

入力

Int

0

この変数は、正規化の方法参照列を使うにセットされている場合のみ利用できます。参照列のどの統計量を正規化の値にするかを決定します。正規化したら、入力列の選択された統計量が参照列の統計量と合致します。

オプションリスト

  • min:最小
    各列の最小値が参照列の最小値と同じになるように入力列を正規化します。
  • max:最大
    各列の最大値が参照列の最大値と同じになるように入力列を正規化します。
  • mean:平均
    各列の平均値が参照列の平均値と同じになるように入力列を正規化します。
  • median:中央値
    各列の中央値が参照列の中央値と同じになるように入力列を正規化します。
  • sum:合計
    各列の合計が参照列の合計と同じになるように入力列を正規化します。
参照セル cell

入力

Range

<optional>

この変数は、方法参照セル値で割るにセットされている場合のみ利用できます。参照として使用するセルを指定します。

出力 oy

出力

XYRange

(<入力>, <新規>)

正規化したデータの出力を指定します。

シンタックスはここをご覧ください。

サンプル

次のスクリプトは、曲線をユーザ定義の値で割ることによって正規化する例を示しています。

string fn$=system.path.program$ + "\Samples\Curve Fitting\Exponential Decay.dat "; 
impASC fname:=fn$;
normalize iy:=(1,2) method:=specify val:=5 oy:=<new>;

そして、2つの列が入力ワークシートに追加されます。1つにはx値が保存され、もう1つには正規化したy値が保存されています。

アルゴリズム

Y が入力曲線の y 値、\alpha はユーザ定義値とすると、正規化したデータ Y{}' は次のように計算されます。

特定値で割る

Y{}'=\frac{Y}{\alpha }

[0, 1]に正規化

Y{}'=\frac{Y-Y_{min}}{Y_{max}-Y_{min}}

[0, 100]に正規化

Y{}'=\frac{100(Y-Y_{min})}{Y_{max}-Y_{min}}

Zスコア(N(0, 1)で正規化)

Y{}'=\frac{Y-Y_{min}}{Y_{SD}}

最大値で割る

Y{}'=\frac{Y}{Y_{max}}

最小値で割る

Y{}'=\frac{Y}{Y_{min}}

平均で割る

Y{}'=\frac{Y}{Y_{mean}}

中央値で割る

Y{}'=\frac{Y}{Y_{median}}

標準偏差で割る

Y{}'=\frac{Y}{Y_{SD}}

ノルムで割る

Y{}'=\frac{Y}{\left \| Y \right \|}

\left \| Y \right \|=\sqrt{y_1^2+\cdots +y_n^2}

y_n はn番目の y 値です。

最頻値で除算

Y{}'=\frac{Y}{Y_{mode}}

Divided by Sum:

Y{}'=\frac{Y}{Y_{sum}}

関連のXファンクション

vnormalize, Rnormalize, Cnormalize