多维主成分分析 (Image Analyst)

获得 Image Analyst 许可后可用。

摘要

将多维栅格转换为其主成分、负载和特征值。 该工具可将数据转换为可解释数据方差的数量减少的成分,以便轻松识别空间和时间模式。

使用情况

  • 使用输出特征值表中的特征值和累积方差百分比来确定定义数据所需的主成分数,而不会丢失基本信息。

    特征值表

    在上面的示例中,第一个成分显示了 72.51% 方差值。 要达到 95% 方差值,请选择前五个成分。

  • 模式参数的降维选项将数据作为一组图像进行分析。 它将数据转换并减少为一组可以捕获主要要素和模式的图像。 主成分是存储为多波段数据集的一组栅格。

  • 模式参数的空间缩减选项将数据作为一组像素时间序列进行分析。 它将找到主要时间模式和这些时间模式的关联空间位置。 主成分是存储在表中的一组一维数组。

  • 将在输出图层上自动创建图表,以分析和了解负载、主成分和特征值。

  • 主成分数参数可指定输出中的波段数。 为了避免输出不必要的大栅格,请使用适当的百分比或成分数。 通常,前几个成分将涵盖数据的最大方差。

参数

标注说明数据类型
输入多维栅格

输入多维栅格。

该工具沿维度处理数据,例如时间序列栅格或由非时间维度 [X, Y, Z] 定义的数据立方体。 如果输入变量包含多个维度(例如深度和时间),则默认使用第一个维度值。

您可以根据需要使用创建多维栅格图层工具或子集多维栅格工具重新定义多维数据,例如将多维数据配置为一维数据集。

Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File
众数

指定将用于执行主成分分析的方法。

  • 降维输入时间序列数据将被视为一组图像。 将计算随时间提取流行模式的主成分。 这是默认设置。
  • 空间缩减输入时间序列数据将被视为一组像素。 随着时间的推移提取流行模式和位置的主成分将被计算为存储在表中的一组一维数组。
String
维度

用于处理主成分的维度名称。

String
输出主成分

输出栅格数据集的名称。

模式参数指定为降维时,将输出一个组件为波段的多波段栅格。 第一个波段是具有最大特征值的第一个主成分,第二个波段是具有第二大特征值的主成分,以此类推。 输出为 CRF 文件格式 (.crf),其中维护了多维信息。

模式参数指定为空间缩减时,将输出一个包含一组表示主成分的时间序列数据的表。

Raster Dataset; Table
输出负载

输出将加载构成主成分的数据。

模式参数指定为降维时,将输出一个包含构成主成分的每个输入栅格权重的表。 这些权重定义了输入数据和输出主成分的相关性。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。

模式参数指定为空间缩减时,将输出的栅格中的像素值是构成主成分的权重。 像素值越高,与主成分相关性越高。 由于应用了随机重新投影以降低计算复杂度,因此输出的像元大小可能比输入栅格更大。

输出将加载构成主成分的数据。

mode 参数指定为 DIMENSION_REDUCTION 时,将输出一个包含构成主成分的每个输入栅格权重的表。 这些权重定义了输入数据和输出主成分的相关性。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。

mode 参数指定为 SPATIAL_REDUCTION 时,将输出的栅格中的像素值是构成主成分的权重。 像素值越高,与主成分相关性越高。 由于应用了随机重新投影以降低计算复杂度,因此输出的像元大小可能比输入栅格更大。

Table; Raster Dataset
输出特征值
(可选)

输出特征值表。 特征值表示每个成分的方差百分比。 特征值可帮助您定义表示数据集所需的主成分数。

Table
变量
(可选)

计算中使用的输入多维栅格的变量。 如果输入栅格为多维栅格且未指定变量,则默认情况下只会分析第一个变量。

例如,要查找温度值最高的年份,请将温度指定为要分析的变量。 如果您没有指定任何变量,并且您同时拥有温度和降水量变量,则将分析这两个变量,并且输出多维栅格将包含两个变量。

String
主成分数
(可选)

要计算的主成分数,该值通常小于输入栅格数。

此参数也采用百分比 (%) 形式。 例如,90% 值表示将计算可以解释 90% 数据方差的成分数。

String

MultidimensionalPrincipalComponents(in_multidimensional_raster, mode, dimension, out_pc, out_loadings, {out_eigenvalues}, {variable}, {number_of_pc})
名称说明数据类型
in_multidimensional_raster

输入多维栅格。

该工具沿维度处理数据,例如时间序列栅格或由非时间维度 [X, Y, Z] 定义的数据立方体。 如果输入变量包含多个维度(例如深度和时间),则默认使用第一个维度值。

您可以根据需要使用创建多维栅格图层工具或子集多维栅格工具重新定义多维数据,例如将多维数据配置为一维数据集。

Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File
mode

指定将用于执行主成分分析的方法。

  • DIMENSION_REDUCTION输入时间序列数据将被视为一组图像。 将计算随时间提取流行模式的主成分。 这是默认设置。
  • SPATIAL_REDUCTION输入时间序列数据将被视为一组像素。 随着时间的推移提取流行模式和位置的主成分将被计算为存储在表中的一组一维数组。
String
dimension

用于处理主成分的维度名称。

String
out_pc

输出栅格数据集的名称。

mode 参数指定为 DIMENSION_REDUCTION 时,将输出一个组件为波段的多波段栅格。 第一个波段是具有最大特征值的第一个主成分,第二个波段是具有第二大特征值的主成分,以此类推。 输出为 CRF 文件格式 (.crf),其中维护了多维信息。

mode 参数指定为 SPATIAL_REDUCTION 时,将输出一个包含一组表示主成分的时间序列数据的表。

Raster Dataset; Table
out_loadings

输出将加载构成主成分的数据。

mode 参数指定为 DIMENSION_REDUCTION 时,将输出一个包含构成主成分的每个输入栅格权重的表。 这些权重定义了输入数据和输出主成分的相关性。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。

mode 参数指定为 SPATIAL_REDUCTION 时,将输出的栅格中的像素值是构成主成分的权重。 像素值越高,与主成分相关性越高。 由于应用了随机重新投影以降低计算复杂度,因此输出的像元大小可能比输入栅格更大。

Table; Raster Dataset
out_eigenvalues
(可选)

输出特征值表。 特征值表示每个成分的方差百分比。 特征值可帮助您定义表示数据集所需的主成分数。

Table
variable
(可选)

计算中使用的输入多维栅格的变量。 如果输入栅格为多维栅格且未指定变量,则默认情况下只会分析第一个变量。

例如,要查找温度值最高的年份,请将温度指定为要分析的变量。 如果您没有指定任何变量,并且您同时拥有温度和降水量变量,则将分析这两个变量,并且输出多维栅格将包含两个变量。

String
number_of_pc
(可选)

要计算的主成分数,该值通常小于输入栅格数。

此参数也采用百分比 (%) 形式。 例如,90% 值表示将计算可以解释 90% 数据方差的成分数。

String

代码示例

MultidimensionalPrincipalComponents 示例 1(Python 窗口)

本示例根据 NDVI 时间序列栅格计算三个主成分。

# Import system modules 
import arcpy 
from arcpy.ia import *  

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

arcpy.env.workspace = r"c:\data" 
arcpy.ia.MultidimensionalPrincipalComponents('ndviData.crf', 'DIMENSION_REDUCTION', "StdTime", "ndviData_PC.crf", "ndviData_loadings.csv", "ndviData_eiganvalues.csv", None, 3)
MultidimensionalPrincipalComponents 示例 2(独立脚本)

本示例在“降维”模式下,根据 NDVI 时间序列栅格计算了四个主成分。

# Import system modules 
import arcpy 
from arcpy.ia import * 

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

# Define input parameters 
inputFile = r"c:\data\ndviData.crf" 
mode = "DIMENSION_REDUCTION" 
dimension = "StdTime" 
out_pc = r"c:\data\ndviData_pc.tif" 
out_loadings = r"c:\data\ndviData_loadings.csv" 
out_eiganvalues = r"c:\data\ndviData_pc.csv" 
variable = "ndvi" 
pc_number = 4 
  
# Execute  

arcpy.ia.MultidimensionalPrincipalComponents(inputFile, mode, dimension, out_pc, out_loadings, out_eiganvalues, variable, pc_number)
MultidimensionalPrincipalComponents 示例 3(Python 窗口)

本示例在“空间缩减”模式下,根据时间序列栅格计算了三个主成分。

# Import system modules  

import arcpy  
from arcpy.ia import *   

# Check out the ArcGIS Image Analyst extension license  
arcpy.CheckOutExtension("ImageAnalyst")  

arcpy.env.workspace = r"c:\data"  
arcpy.ia.MultidimensionalPrincipalComponents('sstData.crf', 'SPATIAL_REDUCTION', "StdTime", "sstData_temporal_PC.csv", "sstData_loading_raster.crf", "sstData_eiganvalues.csv", None, 3)

相关主题