我国主要城市气温数据的因子分析
彭可欣
摘要:以Matlab软件为工具,对2013年中国统计年鉴记录的全国主要城市气温数据进行因子分析。阐述了数据预处理与因子分析的具体过程,结合地理知识,对因子分析结果进行解释。
关键词:中国统计年鉴;气温数据;因子分析;Matlab
引言:气温是气象数据显著特征,也是人们认识和感受一个城市的主要指标。中国幅员辽阔,各地气温背后的是否有规律性的因素,是地理学习关心的问题。为此,本文使用Matlab 2014软件,对2013年中国统计年鉴中记录的2012年全国主要城市气温数据进行因子分析,从数据的角度,分析了气温背后的因素。阐述了数据预处理与分析的具体过程,并结合地理知识,对因子分析结果进行解释。
1.数据来源与预处理
数据来源为国家统计局发布的中国统计年鉴,由于2014年以后的统计年鉴仅提供数据图片,无法直接提取数据,故采用2011、2012、2013三年中国统计年鉴中记录的,全国31个主要城市气温数据为研究对象[1]。将三年数据整合为一张excel二维表,行为31个主要城市名称,列数据为三年内各城市1月到12月的月平均气温(摄氏度)合并数据。在Matlab 2014软件平台下,使用xlsread函数将excel文档读取成原始数据矩阵X,再使用统计工具箱提供的zscore函数,对原始数据矩阵X的每一列,进行均值为0标准差为1的标准化变换,经过转置变换后形成36*31的矩阵XR。
2.因子分析过程
使用Matlab统计工具箱中提供的factoran函数进行因子分析,具体步骤如下:
a)尝试确定因子数量。由于缺乏先验知识,故采用尝试的方式确定公共因子数量,先尝试4个公共因子的情况,使用factoran的最大方差旋转法计算,程序如下:
[lambda, psi, T, stats] = factoran(XR,4);
再计算公共因子的贡献率:
Contrbut = 100*sum(lambda.^2)/31;
贡献率结果依次为41.6647、38.4843、18.8850、0.2203。前两个因子的累积贡献率达到80%,故可考虑使用两个公共因子的情况。
b)进行因子分析。针对2因子情况,采用factoran的最大方差旋转法,使用默认参数计算,[lambda, psi, T, stats] = factoran(XR,2)。
载荷矩阵的估计值lamdba结果如图1所示。
3.因子分析结果
综合估计值结果来看,昆明的因子lamdba值较为特殊,其第一因子lamdba值0.4933是所有城市第一因子中的最小值,其第二因子lamdba值0.7923是所有城市第二因子中的最大值,同样的规律适用于贵阳和成都。将昆明的这种特殊性,放到2003到2013年十年间全国31个主要城市气温值中比较,昆明的月氣温标准差为4.3507,是全国31个主要城市中最低的;昆明月平均气温16.11,月平均气温为16度的另外三座城市分别是南京、合肥、武汉,而南京、合肥、武汉的月气温标准差分别为9.29、9.32、9.13,远高于昆明。昆明地处云贵高原中部,三面环山、南濒滇池,气温稳定湿润。可见,两个因子分别反应了气温的稳定度与舒适度,昆明的计算结果最好,是气温最为稳定和舒适的城市,其次分别是贵阳和成都。
参考文献
[1] 中国统计年鉴(http://www.stats.gov.cn/tjsj/ndsj/)