ファジー メンバーシップ(Fuzzy Membership)ツールの仕組み

[ファジー メンバーシップ(Fuzzy Membership)] ツールは、指定された集合に所属する可能性に基づいて 0 ~ 1 のスケールに入力データを再分類または変換します。0 は、指定の集合のメンバーではないことが明らかなセル位置に割り当てられ、1 は、指定の集合のメンバーであることが明らかなセル位置へ割り当てられます。0 ~ 1 の可能性の範囲全体は、メンバーシップの可能性のレベルに割り当てられます(数値が大きいほど、可能性が高い)。

ArcGIS Spatial Analyst エクステンションでは、0 ~ 1 の可能性の評価尺度へ値を再分類できる任意の数の関数および演算子を使って入力値を変換します。[ファジー メンバーシップ(Fuzzy Membership)] ツールでは、ファジー化処理に共通する一連の固有の関数に基づいて連続的な値を持つ入力データの変換を行います。たとえば、Fuzzy Linear メンバーシップ関数は、入力データを直線的に 0 ~ 1 の評価尺度に変換します。0 は最小入力値に、1 は最大入力値に割り当てられます。その間にあるすべての値は、線形スケールに基づくメンバーシップ値を受け取り、入力値が大きいほど、高い可能性、つまり 1 に近い値が割り当てられます。

スクリプト内では、これらの各関数は Python クラスとして実装されます。

ファジー クラスの概要

これらのメンバーシップ関数は連続的な値を持つ入力データに使用が限定されるため、入力の分類データをファジー オーバーレイ解析で使用したい場合は、任意の数の Spatial Analyst ツールを使ってデータを 0 ~ 1 のメンバーシップの可能性評価尺度へと変換する必要があります。この処理に最も役立つ 2 つのツールは [再分類(Reclassify)][Divide] です。[再分類(Reclassify)] ツールを使うと、分類データを 0 ~ 10 の評価尺度に変換できます(このツールでは、データを直接 0 ~ 1 のスケールに再分類することはできません)。次に、変換後に得られたデータを 10 で除算([Divide])して 0 ~ 1 の評価尺度にします。

各メンバーシップ関数は、その計算式と用途が異なります。モデル化される事象に基づいて、どの関数が最適なデータの変換を捕捉するかによってどの関数を使用するかを決めます。さらに、一連の入力パラメータを介して、各メンバーシップ関数の特性を調整することができます。

以下に、各種ファジー メンバーシップ関数とそれらの関数の最適な用途を示します。

ファジー メンバーシップ タイプ

以下のセクションでは、7 つのファジー メンバーシップ関数について個別に説明します。

Fuzzy Gaussian

Fuzzy Gaussian 関数は元の値を正規分布に変換します。正規分布の中間点が、その集合の最適な定義を示し、1 が割り当てられます。残りの入力値は、中間点から正/負の方向へ遠ざかるにつれて、所属度合い(メンバーシップ度)が減少します。入力値の所属度合いは、値が最適な定義(中間点)からはるかに離れ、集合に属さないことが確実なため 0 が割り当てられるまで減少します。

拡散パラメータを変更することで、移行ゾーンの幅および特性を変更できます。

パラメータ値の変更によるファジー メンバーシップ関数
パラメータ値の変更によるファジー メンバーシップ関数

Gaussian 関数は、メンバーシップが特定の値に近似しているときに便利です。住宅地の適地選定モデルを例にとると、日射量を得るには、南(180 度)が住宅の建設に最適な傾斜方向となり、傾斜方向が 180 より小さい場合も大きい場合も、その傾斜方向は選好度が低くなり、最適な集合に属する可能性が小さくなります。

Fuzzy Large

Fuzzy Large 変換関数は、より大きい入力値が集合のメンバーである可能性が高い場合に使用します。定義済みの中間点は交差ポイントを示します(メンバーシップ度 0.5 が割り当てられます)。中間点より大きい値は、集合に所属する可能性が高くなり、中間点より小さい値は所属度合いが減少します。拡散パラメータによって、移行ゾーンの形状および特性を定義できます。

Fuzzy Large のグラフ
Fuzzy Large メンバーシップ関数の変形

住宅地の適地選定モデルでは、埋め立て地レイヤからの距離の値の変換に Fuzzy Large 関数を使用できます。それらの場所が埋め立て地から遠いほど、選好度の高い適地集合のメンバーである可能性が高くなります。

Fuzzy Linear

Fuzzy Linear 変換関数は、ユーザ指定の最小値と最大値間の線形関数に適用されます。最小値よりも小さい値にはすべて 0 が割り当てられ(確実にメンバーではない)、最大値よりも大きい値にはすべて 1 が割り当てられます(確実にメンバーである)。以下の図内の青い線は、最小値 30 と最大値 80 が指定された正の傾きの線形変換を表しています。30 未満の値にはすべて 0 が割り当てられ、80 を超える値にはすべて 1 が割り当てられます。

最小値が最大値よりも大きい場合は、負の線形関係(負の傾き)が設定されます。以下の図内の赤の線は、負の傾きの線形変換を表しています。30 未満の値にはすべて 1 が割り当てられ、80 を超える値にはすべて 0 が割り当てられます。

線の傾きが増加または減少している部分が移行ゾーンを定義します(以下の図では 30 ~ 80 の範囲)。

Fuzzy Linear のグラフ
Fuzzy Linear メンバーシップ関数の変形

住宅地の適地選定を例にとると、「レクリエーション エリアからの距離」の条件について Fuzzy Linear 変換関数を使用できます(負の線形変換)。レクリエーション エリアから 500 メートル以内にある場所はすべて、選好度の高い適地集合に明らかに属していることになります。これに対して、500 ~ 10,000 メートルの範囲では適地集合に所属する可能性が直線的に減少し、10,000 メートルよりも遠く離れた場所はすべて、レクリエーション エリアから遠すぎるので適地集合の所属することにはならず、0 が割り当てられます。

Fuzzy MS Large

Fuzzy MS Large 変換関数は Fuzzy Large 関数と似ていますが、関数の定義が指定された平均値と標準偏差に基づく点が異なります。一般的に、これらの 2 つの関数の違いは、非常に大きい値がより集合に所属する可能性が高い場合においては Fuzzy MS Large 関数の使用がより適していることにあります。

Fuzzy MS Large 関数の可変パラメータ

定義された平均値と標準偏差によっては、Large 関数と同様な結果になります。

Fuzzy MS Small

Fuzzy MS Small 変換関数は Fuzzy Small 関数と似ていますが、関数の定義が、指定された平均値と標準偏差に基づく点が異なります。一般的に、これらの 2 つの関数の違いは、非常に小さい値が集合のメンバーである可能性が高い場合において Fuzzy MS Small 関数の使用がより適していることにあります。

平均値と標準偏差の乗数の定義方法によっては、Small 関数と同様な結果になります。

Fuzzy Near

Fuzzy Near 変換関数は、メンバーシップが特定の値に近似しているときに最も便利です。この関数は中間点によって定義されます。中間点は、集合の中心を定義し、明確なメンバーシップであることを意味するため 1 が割り当てられます。値が中間点から正/負の方向へ遠ざかるにつれて、所属度合いが 0 になる(メンバーシップの可能性がないことを示す)まで減少します。拡散によって、移行ゾーンの形状および特性を定義できます。

Fuzzy Near 関数の可変パラメータ

指定されたパラメータによっては、Fuzzy Near と Fuzzy Gaussian は同様な結果になります。Fuzzy Gaussian と比べて、通常 Fuzzy Near 関数の方が減少率が大きく、拡散の幅が狭くなります。そのため、Fuzzy Near 関数は、中間点に非常に近い値が集合のメンバーである可能性が高い場合に使用します。

Fuzzy Small

Fuzzy Small 変換関数は、より小さい入力値が集合のメンバーである可能性が高い場合に使用します。定義済みの中間点は交差ポイントを示します(メンバーシップ度 0.5 が割り当てられます)。中間点より大きい値は、集合のメンバーである可能性が低くなり、中間点より小さい値はメンバーシップの可能性が増加します。拡散パラメータによって、移行ゾーンの形状および特性を定義できます。

Fuzzy Small 関数の可変パラメータ

住宅地の適地選定を例にとると、「電力設備からの距離」の条件について Fuzzy Small 変換関数を使用できます。電力線からの距離が遠くなるにつれ、電力の供給にかかる費用が高くなるため、それらの場所が選好度の高い適地集合のメンバーである可能性は低くなります。「電力の供給」条件は、距離の増加に伴う変圧器の必要性を説明するための線形変換としてはモデル化されません。

関連トピック

7/28/2014