PCA

北慕城南 提交于 2019-11-26 06:07:05

对影像进行主成分分析,只有第一主成分被分离出来了,后面的主成分好像都相同

均值:
标准差:
方差:

描述数据之间关系的统计量
标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集。
面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解这几科成绩之间的关系,这时,我们就要用协方差,协方差就是一种用来度量两个随机变量关系的统计量

1.正向主成分(PC)旋转
正向PC旋转用一个线性变换使数据方差达到最大。当使用正向PC旋转时,ENVI允许计算新的统计值,或根据已经存在的统计值进行旋转。输出值可以存为字节型、浮点型、整型、长整型或双精度型。也可以基于特征值来提取PC旋转的输出内容,生成只包含所需的PC波段的输出。

计算新的统计值和旋转
使用Compute New Statistics and Rotate选项可以计算数据特征值、协方差或相关系数矩阵以及PC正向旋转。

选择Transforms > Principal Components > Forward PC Rotation > Compute New Statistics and Rotate。
当出现Principal Components Input File对话框时,选择输入文件或用标准ENVI选择程序选取子集。将会出现Forward PC Rotation Parameters对话框。
注意:点击“Stats Subset”按钮可以基于一个空间子集或感兴趣区计算统计信息。该统计将被应用于整个文件或文件的空间子集。详细介绍,请参阅第348页的“根据子集进行统计”。
在“Stats X/Y Resize Factor”文本框中键入小于1的调整系数,用于计算统计值时的数据二次采样。
注意:键入一个小于1的调整系数,将会提高统计计算速度。例如:使用一个0.1的调整系数,在统计计算时将只用到十分之一的像元。
若需要,键入一个输出统计文件名。使用箭头切换按钮,选择是根据“Covariance Matrix”(协方差矩阵)还是根据“Correlation Matrix”(相关系数矩阵)计算主成分波段。
注意:一般说来,计算主成分时,选择使用协方差矩阵。当波段之间数据范围差异较大时,选择相关系数矩阵,并且需要标准化。
选用输出到“File”或“Memory”。在“Output Data Type”菜单中,选择所需的输出文件数据类型。
选择输出的主成分波段数。可以通过键入所需的数字,或用“Number of Output PC Bands”标签旁的增减箭头按钮来确定输出的主成分波段数。默认的输出波段数等于输入波段数。也可以用特征值来选择输出的主成分波段数,按照如下步骤操作。
A. 点击“Select Subset from Eigenvalues”标签附近的按钮,选择“YES”。统计信息将被计算,并出现Select Output PC Bands对话框,列出每个波段和其相应的特征值。同时也列出每个主成分波段中包含的数据方差的累积百分比。
B. 在“Number of Output PC Bands”文本框中,键入一个数字或点击箭头按钮,确定要输出的波段数。特征值大的主成分波段包含最大的数据方差。较小的特征值包含较少的数据信息和较多的噪声。为了节省磁盘空间,最好仅输出具有较大特征值的波段。
C. 在Select Output PC Bands对话框中,点击“OK”。输出的PC旋转将只包含选择的波段数。例如:如果选择“4”作为输出的波段数,则只有前4个主成分波段会出现在输出文件里。
在Forward PC Rotation Parameters对话框中,点击“OK”。
ENVI处理完毕后,将出现PC EigenValues绘图窗口,主成分波段将被导入可用波段列表中,并用于显示。ENVI主成分分析

对PCA 输出应用掩膜
当进行正向PC旋转时,可以对输出结果应用掩膜。如果已经为输入文件指定了掩膜,可以设定输出图像中被掩膜遮蔽部分的输出值。
在ENVI主菜单中,选择Transforms > Principal Components > Forward PC Rotation > Compute New Statistics and Rotate。当出现文件选择对话框时,选择输入图像并应用掩膜。当出现Forward PC Parameters对话框时,在“Output Mask Value”文本框中,为被掩膜遮蔽部分键入一个输出值。掩膜将被应用于统计信息的计算,输出数据的被遮蔽区域被置为输入的掩膜值。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!