数据的高维度分析和低维度描述记录-维度篇
背景和目标介绍
本文是我近期展开的一个研究——放射源定位——方向的思考和记录。在很多研究放射源定位的文献中,会提及一个叫做Principle Component Analysis(PCA)的方法,用来进行环境本底识别、剔除。由此,我对PCA方法进行了调查,发现PCA实际是一种数据处理的方法,通过降低数据的维度来实现样本[1]的分类。而能够完成这一目标的方法远远不止PCA一种,并且还能够按照数据投影的方法不同分为线性和非线性两类操作方法,或者说是欧几里得空间和非欧几里得空间两类方法。
PCA(Principle Component Analysis),中文称作“主成分分析”,属于统计学手段,在经济学、社会学、心理学等人文社科领域有广泛使用,而在理工领域中,同样经常使用,如图像处理、机器学习等。PCA是一种数据降维的数学方法,原理可参考[[CSDN-PCA1, 2018]][CSDN-PCA1, 2018]。
PCA是一种数学思想,不受实际物理问题的限制,因此在我的研究方向中,使用PCA进行噪声识别和剔除已经成为了一个小热门,下面的内容也以我的研究方向为背景进行说明。
因子分析也是一种非常有名的统计学方法,表观上同样是一个降维手段,但相比于以数据分类为目标的PCA,因子分析的目标是找出数据背后的印象因素,能够从更加机理的层面分析样本和数据的产生原因,有助于对测量行为本身进行分析,以及帮助改善测量系统。因此,因此分子也计划在本文中进行介绍和使用。
对于放射源定位的研究,早期研究的是单一放射源的定位方法,后来对多放射源定位进行研究,而现在更是针对任意放射源进行同时定位的研究,其研究越来越实用化,老美那边甚至提出使用直升机等空中载具搭建空中监测平台,并且推出了美国政府的基金项目支持,还取了个名字Airborne Radiological Enhanced-sensor System (ARES)[[Miller, E. A., 2015]][Miller, E. A., 2015] [[Penny, R. D., 2015]][Penny, R. D., 2015]。
在放射源定位的研究中,针对放射源的测量是常规操作,比如射线源,通常使用探测器进行测量,像闪烁体探测器、半导体探测器,都会被拿来研究和使用。但是,探测器只是针对射线进行测量,并不能保证所有射线都来自于放射源。实际上,天然辐射本底、无价值放射源等也会被探测器测量到,因此它们的存在是一种干扰,会降低对所关心放射源定位的精度。所以,很多研究开始考虑如何从测量事件中识别并剔除这些天然辐射本底和无价值的放射源事件。
由于放射源的不同,射线的能量会不相同,比如自然环境中常出现这种放射性同位素,其释放的射线在能量是十分有特征的,而所关心的放射源如果是,其特征射线能量在0.662MeV。按照这种思路,可以通过能量进行区分,因此通常会使用具备能量分辨能力的探测器,如便宜好用的NaI(Tl)闪烁体探测器和高精度的HPGE(高纯锗)探测器。这些探测器可以在统计射线数量的同时,提供射线能量的统计结果,以直方图的形式给出,这种直方图通常成为能量沉积谱,简称能谱。那么,我们的目标就是根据能谱,将环境本底、非关心放射源等从测量事件中识别出来,并进行剔除。
数据和样本
为了更加直观的介绍,这里以放射源定位问题为物理背景,本章节将介绍在这个背景下的数据和样本。
数据
放射源的定位是利用了放射源的一个特征来实现的——放射源的自发衰变。例如教学中经常用来当范例的,这是一种放射性同位素,也就是一种放射源,它不稳定,会自发地进行衰变,射线会伴随着衰变一同放出。射线是光子的一种,按照产生方式与X射线进行区分,但它们的本质都是光子,也就是电磁辐射。射线在空气中有着良好的穿透能力,通常用来屏蔽射线的材料是高原子序数的材料,比如教学和实验常用的铅。
不同的放射性同位素会释放出不同能量的射线,其能量根据对应同位素的原子核、原子以及衰变产物的原子核、原子能级决定,例如,其释放出的射线,绝大部分能量在0.662 MeV(85.1%),准确的说,当一个核从基态发生衰变时,将有85.1%的概率释放一个能量在0.662 MeV的射线 。也有一些放射性同位素会有几个主要的射线能量,如另一个教学常用的放射性同位素,其释放的射线能量主要为1.17 MeV(99.85%)和1.33 MeV(99.98%)。
利用放射性同位素释放具有特征能量的射线,就可以设计出定位放射源的数学方法。因此,射线的测量结果就是研究中的数据了。
射线的测量需要使用相应的探测器,教学中经常使用便宜好用的NaI(Tl)闪烁体探测器,实验中则较常使用能量分辨能力强但是价格昂贵而且需要液氮降温的HPGE探测器。无论是上面哪一种探测器,都能够对射线的能量进行分辨和记录。记录的结果通常以能量的直方图的形式给出,我们经常会称其为“能谱”(Energy Spectrum)。
虽然能谱是一个直方图,但不代表它仅仅是一幅图,或者仅仅是一张照片,准确的说,直方图是一组数,每一个数代表了直方图的一个区间的计数值。对应到能谱,就是一组射线能量的计数,而且是所有能量区间各有一个计数。而且,正是由于能谱可以表示为一组数,才能以这样的形式被带入到降维计算中,才能够出现本文所需要进行的研究。
能谱直方图的区间数量是一个重要指标,指探测器输出的能量范围被划分成多少个区间,用来表征探测器所能探测的光子能量范围以及能量的分辨能力。准确的说,探测器输出的能量是指电压或者电流与时间的关系曲线,起始的时刻是光子进入探测器的时刻,结束的时刻是这个光子完成能量传递的时刻,所以探测器输出的是一个能量的微分数据,通常称作脉冲信号,但是这样描述并不能帮助理解,所以在下文中不会使用这么复杂的描述。取而代之,本章节将使用更加直观的说法。
直观的说,能量是指探测器输出的电荷量(通常使用电荷量或电荷量的同性质参数来代表光子传递给探测器的能量),而能谱的区间数量是接收电荷量的电子学设备的固有性能,比如教学常用的电子学设备,能够将电荷量划分为1024个区间,测量电荷量的上限和下限可以由用户设定,而实验常用的高性能电子学设备,可以将电荷量划分为8192个区间,同样允许用户自行设置所接收的电荷量的上限和下限。因此,对于某一次针对大量射线的测量,每一个光子所交给探测器的能量不同,每一次探测器产生的电荷量也不同,电子学会根据用户设定好的电荷量上限、下限以及自身的区间数量来制作一个直方图,并将同一次测量中的这些电荷量进行统计,最终在这一次测量结束时,提交给用户一个能谱直方图。如果某一次测量中,有30万个射线进入了探测器,并且全部都将自身的能量传递给了探测器,只是传递的能量数值不一定相同,那么探测器将产生30万个电荷量数值给电子学设备,电子学设备会在一张空白的直方图中将这30万个电荷量进行统计——根据电荷量的多少找到对应的区间,并进行计数。最终,在统计完30万个电荷量后,为用户提供这张直方图,也就是我们常说的能谱。在一次测量结束后,如果配备的是教学常用的电子学,那么电子学为用户提供的能谱,实际上就是1024个数字;如果配备的是实验常用的电子学,那么用户得到的能谱就是8192个数字。
一点没啥用的题外话,本文中反复提到将能量分为“1024道”的“教学用电子学设备”,这里的教学用电子学设备很有可能来自于中国正负电子对撞机,或者说这些电子学设备是为了正负电子对撞机设计的。而这个对撞机,就是被记录在小学课本中的那一台,大家可能在小时候听说过。在当年建设对撞机的时候,需要大量的探测器,那么作为配套设备的电子学自然也要大量设计和制造。在正负电子对撞机建设完成以后,由于电子学的迭代更新,这些最早期的设备逐渐被淘汰下来。那么!它们去哪里了呢?听说这些设备被送往了国内大量的高校和研究所,送往高校的这些设备就作为教学设备继续使用了。
由此,在下文中,以“数据”指代能谱,更准确的说,是以“数据”指代一次测量得到的能谱,并且是以一组数的形式所表达的能谱。
样本
样本,是一个概率统计领域的名词,用来形容观测事件,以及描述观测的特性,如观测的数据符合何种统计分布。
在放射源定位的研究背景下,所谓的样本就是一个探测器在一个固定的位置进行了一次测量,测量会花费一段时间,比如3分钟,在这段时间内,会有若干个射线进入探测器,比如说30万个,那么探测器会产生30万个电荷量数值,并且交给电子学设备,由电子学设备进行电荷量的统计,并最终交给用户一张直方图,也就是一个能谱。
所以,简言之,一个样本就是一次测量,这次测量由一个探测器,在一个位置,花费3分钟完成。
样本数据的矩阵表达
维度和投影
为了更加直观的介绍,这里以放射源定位问题为物理背景。我们的数据是探测器测量得到的能谱,常用的测量方案有一个探测器先后布置于多个位置,进行多次测量;一组探测器分布于多个位置,进行一次测量;上述两种方案的结合,也就是多个探测器,分布于多个位置,进行一次或者多次测量。由于多个探测器进行了多次测量,这里会有很多个能谱。探测器的电子学部件可以将能量分为若干区间,比如教学中经常使用的1024个区间,我们常成为“道”,因此每一个能谱都是一个含有1024个区间的直方图,横坐标是能量,纵坐标是计数。下文中假设一共获得了M个能谱,每一个能谱有N个区间。
在PCA进行数据降维处理中,这些能谱通常被称为“样本”,而区间通常被称作“维度”。这样,我们就相当于拥有M个样本,每个样本有N个维度。以第一个样本和第i个样本为例,样本以含有N个元素的列向量形式表达,也就是矩阵。
投影,是几何名词,在本文就是指样本在某一维度上的数值。例如第m个样本在第n个维度上的投影,就是指。
每一个样本的数据都是一个向量形式,或者说是一个矩阵。由此,本文中会将这种向量或者矩阵称为“样本向量”“样本矩阵”等,都指代某一个样本的数据。
注意,样本向量可以是行向量,也可以是列向量。本文选用行向量,但不代表不可以使用列向量表达。它们在代数上是完全一样的,只是矩阵的表达方式不同。
样本矩阵
将所有样本以各维度投影的形式写成向量形式,或者说,矩阵形式,再按照编号顺序逐行排列,组成样本矩阵,以表示。
将样本矩阵的样本向量使用其具体形式代替。
以上就是样本的矩阵表达形式了。
样本数据的统计信息
PCA的基础是数理统计,核心是协方差矩阵,本章同样使用M个样本、N个维度的数据为例,进行介绍。
期望
期望,是针对某一维度而言的,例如第n个维度,其期望的计算方法如下。
为了方便下文的中心化、散布矩阵、协方差矩阵的计算,将所有维度的期望合并为一个矩阵,以表达。
期望在某维度的平方更是直接使用在散布矩阵、协方差矩阵的计算中,这里使用矩阵形式表示所有维度的期望的平方,。
是一个矩阵,是一个方阵,它有很多数学特性,等以后用到了再说。
中心化
按照上文的设定,手头有M个样本,每一个样本均使用N个维度进行描述。那么,对第m个样本在第n个维度上的投影而言,可以让它剪去样本集在这个维度上的期望,这一步操作被称为“中心化”。
中心化操作是在计算协方差矩阵时使用的,而且不是使用协方差矩阵的定义方程,而是在通过散布矩阵求解协方差矩阵时,散布矩阵要求使用中心化的样本数据。之所以通过散布矩阵这个“中间环节”来求解协方差矩阵,是因为散布矩阵的计算方程在矩阵形式下非常简练,当然,通过散布矩阵求解协方差矩阵,实际上的数学求解过程还是回归到协方差矩阵的定义上,也就是说它们的计算过程实际上是一样的。
即便如此,我也更倾向于通过散布矩阵来计算协方差矩阵,因为在手头程序包没有直接获取协方差矩阵的功能支持时,想通过定义式来计算协方差的话,需要手写协方差矩阵中的每一个元素的计算方程,而使用散布矩阵的话,只需要使用样本矩阵和它的转置矩阵,再使用矩阵乘法即可。虽然数学本质上是一样的,但后者将麻烦事全丢给了程序,累的不是我。
在本文中,为了区分原始的样本数据和中心化处理后的样本数据,标记第m个样本的中心化结果为,简称为“第m个中心化样本”。第m个中心化样本的第n维度分量为,其计算方程如下。
整个样本矩阵的中心化结果,使用表示。
方差和标准差
方差("Variance"),同样是针对某一维度而言的,使用、或者表示,例如第n个维度,其方差的计算方法如下。
标准差("Standard Variance"),是方差的一个衍生物,使用或者表示,对第n个维度而言,其标准差的计算方法如下。
协方差
协方差,是用来评价两个维度的相关性的,因此涉及到两个维度的样本。以第n1维度和第n2个维度为例,它们的协方差可表示如下。
直观的说,协方差,就是相同样本在两个维度上的坐标的乘积,再将所有样本的这个乘积求和。注意,坐标需要事先中心化,也就是坐标值减去该维度下的期望。
如果使用中心化的样本数据,则协方差的表示会十分简洁。
可以发现,当两个维度相同时,协方差就是方差。
协方差矩阵
协方差矩阵,用来描述多维度数据下,各维度之间的相关性,对本文研究的N个维度、M个样本组成的数据集,其协方差矩阵的计算方法如下。可见,协方差矩阵是一个矩阵,也就是一个N阶方阵,同时,也是一个对称阵。
另一种获得协方差矩阵的方法是,使用中心化的样本数据。这种方法下,协方差矩阵的表达式将会非常简洁,在编程中,这样写也能节省很多精力,因为我只需要制作好样本矩阵,剩下的矩阵计算全部交给矩阵库去做,累的不是我。矩阵计算的库有很多,比如C++下的Eigen,python下的numpy,等等。
方程中的常称作“散布矩阵”。
协方差矩阵的规模与维度有关,在探测器定位放射源的研究中,如果为探测器配套教学用的电子学设备,每一次测量的能谱,即样本,其道数为1024,也就是维度为1024;如果配套高性能电子学设备,道数能上升到8192,也就是8192个维度。在这种情况下,协方差矩阵的规模将可能是或者,这是较大规模的矩阵了。
PCA的操作核心在于降低维度和矩阵分解,降低维度的方法有很多[[Jianshu1, 2017]][Jianshu1, 2017],从原理上进行分类的话,包括将数据投影到欧几里得空间中,和投影到流形空间中[[CSDN-Manifold Learning, 2018]][CSDN-Manifold Learning, 2018]。矩阵分解的方法也有很多种,从早期的SVD分解,发展到现在的PMF(Probabilistic Matrix Factorization)等等,至少十几种方法[[Zhihu1, 2019]][Zhihu1, 2019] ,可以根据需要进行选择和使用。
散布矩阵
协方差矩阵不仅仅可以通过定义来计算,也可以通过矩阵进行计算。从协方差矩阵的计算公式已经使用了散布矩阵,
相关性系数
样本的分类是对样本进行研究的一个环节,比如在本文的研究背景下,我们需要知道样本是由环境本底造成的,还是由放射源造成的,甚至,具体是由哪一种放射源造成的,这就是一个分类的问题。为了研究样本分类,基本的思想是比较样本的数据。如果样本的数据只在一个维度下表征,那么每一个样本的数据中就只存在一个数,只需要比较这些数就能达到分类的目标。然而,在我们的背景下,一个样本的数据中,少说有1024个数,多则有8192个数,而且这些数中,并不是每一个都是关键的。这个时候,样本的分类就涉及到了多维空间,1024维,或者8192维。
一旦样本的数据进入多维度,分类就麻烦了,我认为这个时候,分类的思想可以有几种。第一种,聚类,也就是按照样本的“距离”进行分组,达到分类的效果。第二种,变化趋势,将样本数据看作是在维度之间的变化曲线,比较不同样本的变化曲线的变化趋势,来达到分类的效果。
第一种办法就是降维分类的常用操作,下文再说明;第二种办法正是通过本节的相关性系数来表征,在这里重点说明。
相关性系数有三种,其中的皮尔森相关性系数(Pearson Correlation Coefficient)用来表征样本之间的数据变化趋势是否一致,其计算与协方差关系非常密切。相关系数可以表征维度之间的关系,也可以表征样本之间的关系,完全看我们把样本当作样本,还是把维度当作样本。以来表征第n1和第n2个维度的相关系数,以表征第m1和第m2个样本的相关系数。
参考文献
网站
[CSDN-Manifold Learning, 2018]: CSDN-Manifold Learning 很好理解流形学习的文章-浅谈流形学习(Manifold Learning) https://blog.csdn.net/qq_16234613/article/details/79689681
[CSDN-PCA1, 2018]: CSDN https://blog.csdn.net/a8039974/article/details/81285238
[Jianshu1, 2017]: 简书 各类降维方法总结 https://www.jianshu.com/p/75e805ff247c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
[Zhihu1, 2019]: 知乎 推荐系统之矩阵分解家族 https://zhuanlan.zhihu.com/p/35262187
论文
[Miller, E. A., 2015]: Miller, E. A. , Robinson, S. M. , Anderson, K. K. , Mccall, J. D. , Prinke, A. M. , & Webster, J. B. , et al. (2015). Adaptively reevaluated bayesian localization (arbl): a novel technique for radiological source localization. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 784, 332-338.
[Penny, R. D., 2015]: Penny, R. D. , Crowley, T. M. , Gardner, B. M. , Mandell, M. J. , Guo, Y. , & Haas, E. B. , et al. (2015). Improved radiological/nuclear source localization in variable norm background: an mlem approach with segmentation data. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 784, 319-325.
-
每一个样本包含一个数据,一个数据由若干维度的投影进行描述,下文的向量就是一种数据的表示方法,而这个就属于第i个样本。 ↩