rnormalize

目次

メニュー情報

解析:数学:列の正規化

列を右クリックして規格化を選択

概要

XYデータの範囲を標準化します

追加の情報

必要なOriginのバージョン: 8.1 SR0以降

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

1. rnormalize irng:=2:4 method:=min;

2. rnormalize irng:=Col(B) method:=specify val:=7 orng:=<new>;

3. rnormalize irng:=2:4 method:=ref type:=max refcol:=5 orng:=<new>;

4. rnormalize irng:=2:4 method:=cell cell:=1[10] orng:=<new>;

Xファンクションの実行オプション

スクリプトからXファンクションにアクセスする場合、追加のオプションスイッチについてのページを参照してください。

変数

表示
変数
I/O

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

入力

Range

<active>
入力列または範囲を指定します。Origin 2020b以降、[Book]Sheet!(N1:N2) 形式の短縮構文を使用できます。ここで、N1は列の連続した範囲の開始の列番号、N2は終了の列番号です。[Book]Sheet!([Book]Sheet!N1:N2,[Book]Sheet!N3:N4) の形式の非連続データも使用できます。
合計データ情報 datainfo

入力

ツリーノード

<unassigned>
これはダイアログにファイル情報を表示するためのものです。LabTalkでXファンクションを使うとき、この変数は使用しないで下さい。
入力データを1つの複合データセットとして扱う composite

入力

int

0
選択を一つの複合データセットとして扱うかどうかを指定します。この変数は、方法特定値で割るまたは参照セルで割るにセットされている場合のみ利用できます。
グループ group

入力

int

<optional>
列(複数可)をグループ情報として指定し、それぞれの一意のグループで正規化を実行します。
正規化の方法 method

入力

int

1
正規化に使用する手法

オプションリスト:

  • specify:特定値で割る {0}
    ベクターデータを指定値で除算
  • range:[0, 1]で正規化 {1}
    データを範囲 [0, 1]に正規化
  • range100:[0, 100]に正規化 {13}
    データを範囲 [0, 100]に正規化(9.0 SR0)
  • customrange: [v1, v2]に正規化 {14}
    データを範囲 [v1, v2]に正規化(2022b SR0)
  • snd:Zスコア(N(0, 1)に標準化) {2}
    標準正規分布に変換します。
  • max:最大値で割る {3}
    ベクターデータを最大値で除算
  • min:最小値で割る {4}
    ベクターデータを最小値で除算
  • mean:平均で割る {5}
    ベクターデータを平均値で除算
  • median:中央値で割る {6}
    ベクターデータを中央値で除算
  • sd:SDで割る {7}
    ベクターデータを標準偏差で除算
  • norm:ノルムで割る {8}
    ベクターデータをノルムで除算
  • mode:最頻値で割る {9}
    ベクターデータを最頻値で除算
  • sum:合計で割る {10}
    入力データを合計で割る
  • ref:参照列を使う {11}
    type変数で指定された統計をrefcol変数で指定された参照列の統計と照合して、入力データを正規化します。
  • cell:参照セル値で割る {12}
    cell変数で指定された参照セルを使用して、入力データを除算します。
ユーザ定義の値 val

入力

double

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

入力

<optional>
この変数は、方法が参照列を使うにセットされている場合のみ利用できます。
正規化ターゲット type

入力

int

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

オプションリスト:

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

入力

Range

<optional>
この変数は、方法が参照セル値で割るにセットされている場合のみ利用できます。入力データを割るのに使用する単一セル値を指定します。
v1 v1

入力

double

0
この変数は、方法が[v1, v2]に正規化にセットされている場合(method:=customrange)のみ利用できます。値v1~v2の範囲に対する最小値を指定します。
v2 v2

入力

double

1
この変数は、方法が[v1, v2]に正規化にセットされている場合(method:=customrange)のみ利用できます。 値v1~v2の範囲に対する最大値を指定します。
出力 orng

出力

範囲

<new>
正規化した列の出力を指定します。

このシンタックスを参照してください。

説明

この関数は列または列の一部を指定した「標準」レベルに調整します。各選択した列を独立に扱い、すべての列を1つずつ正規化します。

サンプル

次のスクリプトは、3番目のデータセットに従って2つのデータセットを正規化するサンプルです。

string fn$=system.path.program$ + "\Samples\Curve Fitting\Exponential Decay.dat "; 
impASC fname:=fn$;
rnormalize irng:=3:4 method:=ref refcol:=2 orng:=<new>;


アルゴリズム

Vは入力データのV値であり、\alphaはユーザー定義値であると仮定すると、正規化されたデータV{}'は次のように計算できます。

特定値で割る:

V{}'=\frac{V}{\alpha }

[0, 1]に正規化:

V{}'=\frac{V-V_{min}}{V_{max}-V_{min}}

[0, 100]に正規化:

V{}'=\frac{100(V-V_{min})}{V_{max}-V_{min}}

[v1, v2]に正規化:

V{}'=\frac{V-v1}{v2-v1}

Zスコア(N(0, 1)で標準化):

V{}'=\frac{V-V_{mean}}{V_{SD}}

最大値で割る:

V{}'=\frac{V}{V_{max}}

最小値で割る:

V{}'=\frac{V}{V_{min}}

平均で割る:

V{}'=\frac{V}{V_{mean}}

中央値で割る:

V{}'=\frac{V}{V_{median}}

標準偏差で割る:

V{}'=\frac{V}{V_{SD}}

ノルムで割る:

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

\left \| V \right \|=\sqrt{v_1^2+\cdots +v_n^2}

v_n はn番目のV値です。

最頻値で割る:

V{}'=\frac{V}{V_{mode}}

合計で割る:

V{}'=\frac{V}{V_{sum}}

関連するXファンクション

Vnormalize, normalize, Cnormalize