主成分分析 (Principal Components) (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

概要

一連のラスター バンドに対して主成分分析 (PCA) を実行し、1 つのマルチバンド ラスターを出力として生成します。

[主成分分析 (Principal Components)] ツールの詳細

使用法

  • 主成分の数に指定した値は、出力マルチバンド ラスターの主成分バンドの数を決定します。数字は、入力のラスターバンドの合計数を超えてはなりません。

  • [入力ラスター バンド] (Python では in_raster_bands) の 1 つとしてマルチバンド ラスターが指定された場合、すべてのバンドが使用されます。

    マルチバンド ラスターから選択したバンドを処理するには、まず、[コンポジット バンド (Composite Bands)] ツールを使用して、それら特定のバンドから構成される新しいラスター データセットを作成し、その結果を [入力ラスター バンド] (Python では in_raster_bands) のリストで使用できます。

  • ラスター バンドは共通の交差部を持つ必要があります。ない場合は、エラーが発生し、出力は作成されません。

  • 割合分散は、捕捉した固有値ごとの分散の量を識別します。この値は、PCA の結果を解釈する際に役立ちます。少数の (それぞれが出力ラスターのバンドに対応する) 固有値で分散の大部分が捕捉される場合は、このバンドのサブセットで元のマルチバンド データセット内のほとんどの操作を捕捉できるため、以降の解析では、このサブセットの使用で十分です。

  • 捕捉した固有値ごとの割合分散を決定するときには、固有値の合計を「 (固有値 * 100) /合計」の式で使用します。最初の固有値 (および、関連するバンド) は最大の分散を捕捉し、以降の固有値はそれぞれより小さい分散を捕捉します。分散の累積割合は、捕捉した固有値ごとの分散を累積した合計です。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

構文

PrincipalComponents(in_raster_bands, {number_components}, {out_data_file})
パラメーター説明データ タイプ
in_raster_bands
[in_raster_band,...]

入力ラスター バンド。

整数タイプまたは浮動小数点タイプにすることができます。

Raster Layer
number_components
(オプション)

主成分の数。

この数は、ゼロより大きく、入力ラスター バンドの合計数以下でなければなりません。

デフォルトは、入力のラスターの合計数です。

Long
out_data_file
(オプション)

主成分パラメーターを格納する出力 ASCII データ ファイル。

出力データ ファイルには、共分散と相関行列、固有値と固有ベクトル、捕捉した固有値ごとの割合分散、および固有値によって説明された累積分散が記録されます。

出力ファイルの拡張子は、「.txt」または「.asc」です。

File

戻り値

名前説明データ タイプ
out_multiband_raster

出力マルチバンドのラスター データセット。

入力バンドがすべて整数タイプである場合、出力ラスター バンドは整数になります。入力バンドのいずれかが浮動小数である場合、出力は浮動小数になります。

出力が Esri Grid ラスターの場合、名前は 10 文字未満である必要があります。

Raster

コードのサンプル

PrincipalComponents (主成分分析) の例 1 (Python ウィンドウ)

次の例では、入力マルチバンド ラスターに対して主成分分析 (PCA) を実行し、マルチバンド ラスターの出力を生成しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPrincipalComp = PrincipalComponents(["redlands"], 4,"pcdata.txt")
outPrincipalComp.save("C:/sapyexamples/output/outpc01")
PrincipalComponents (主成分分析) の例 2 (スタンドアロン スクリプト)

次の例では、入力マルチバンド ラスターに対して主成分分析 (PCA) を実行し、マルチバンド ラスターの出力を生成しています。

# Name: PrincipalComponents_Ex_02.py
# Description: Performs principal components analysis on a set of raster bands.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRasterBand1 = "redlands/redlandsc1"
inRasterBand2 = "redlands/redlandsc3"
numberComponents = 2
outDataFile = "C:/sapyexamples/output/pcdatafile.txt"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")

# Execute PrincipalComponents
outPrincipalComp = PrincipalComponents([inRasterBand1, inRasterBand2], 2,
                                       outDataFile)

# Save the output 
outPrincipalComp.save("C:/sapyexamples/output/outpc01")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック