主要内容

使用主成分分析法分析美国城市的生活质量

此示例演示如何执行加权主成分分析并解释结果。

加载样本数据。

加载样本数据。数据包括329个美国城市9个不同生活质量指标的评分。这些指标是气候、住房、健康、犯罪、交通、教育、艺术、娱乐和经济。对于每个类别,评分越高越好。例如,犯罪率越高,犯罪率越低。

显示类别变量

负载城市类别
类别=气候住房健康犯罪交通教育艺术娱乐经济学

总的来说城市数据集包含三个变量:

  • 类别,包含索引名称的字符矩阵

  • 名字,一个包含329个城市名称的字符矩阵

  • 评级,包含329行和9列的数据矩阵

绘图数据。

绘制一个方框图,以查看评级数据

图()箱线图(额定值,“定位”,“水平”,“标签”、类别)

艺术和住房的评级比犯罪和气候的评级变化更大。

检查成对相关性。

检查变量之间的成对相关性。

C=corr(额定值,额定值);

一些变量之间的相关性高达0.85。主成分分析构造独立的新变量,这些新变量是原始变量的线性组合。

计算主成分。

当所有变量都在同一单位时,对原始数据计算主成分是合适的。当变量的单位不同或不同列的方差差异很大时(如本例所示),数据的缩放或权重的使用通常是可取的。

使用评级的反向方差作为权重,进行主成分分析。

w = 1. / var(评级);[wcoeff,分数,潜伏,tsquared解释]= pca(评级,...“可变权重”,w);

或相当于:

[wcoeff,分数,潜伏,tsquared解释]= pca(评级,……“VariableWeights”、“方差”);

以下各节解释了主成分分析.

成分系数。

第一个输出,wcoeff,包含主分量的系数。

前三个主成分系数向量为:

c3=wcoeff(:,1:3)
c3=wcoeff(:,1:3)c3=1.0e+03*0.0249-0.0263-0.0834 0.8504-0.5978-0.4965 0.4616 0.3004-0.0073 0.1005-0.1269 0.0661 0.5096 0.2606 0.2124 0.0883 0.1551 0.0737 2.1496 0.9043-0.1229 0.2649-0.3106-0.0411 0.1469-0.5111 0.6586

这些系数是加权的,因此系数矩阵不是正交的。

变换系数。

变换系数,使其正交。

coefforth=inv(诊断(标准(评级))*wcoeff;

请注意,如果使用权重向量,W,在进行主成分分析然后

coefforth=diag(sqrt(w))*wcoeff;

检查系数是否正交。

变换后的系数现在是正交的。

I=coefforth'*coefforth;I(1:3,1:3)
ans=1.0000-0.0000-0.0000-0.0000-1.0000-0.0000-0.0000-0.0000-0.0000-1.0000

成分分数。

第二个输出,分数,包含主分量定义的新坐标系中原始数据的坐标分数矩阵的大小与输入数据矩阵的大小相同。您还可以使用正交系数和标准化评分获得组件分数,如下所示。

Ccores=zscore(评级)*coefforth;

cscores分数是相同的矩阵。

情节部分分数。

创建图的前两列分数.

图()绘图(分数(:,1),分数(:,2),“+”)包含(第一主成分的) ylabel (“第二主成分”)

此图显示了投射到前两个主成分上的居中和缩放评级数据。主成分分析计算分数的平均值为零。

以交互方式探索情节。

注意图右半部分的外围点。您可以按如下方式以图形方式标识这些点。

将光标移动到绘图上,并在最右侧的七个点附近单击一次。这将按其行号标记点,如下图所示。

标记点后,按回来.

提取观测的名字。

创建一个包含所选所有城市行号的索引变量,并获取城市名称。

Metro = [43 65 179 213 234 270 314];名(地铁:)
ANS =波士顿,MA芝加哥,洛杉矶,长滩,CA纽约,纽约费城,PA-NJ旧金山,CA华盛顿,DC-MD VA

这些被标注的城市是美国最大的人口中心之一,它们似乎比其他数据更极端。

成分方差。

第三个输出,潜伏的,是一个包含由相应主分量解释的方差的向量。每一列的分数样本方差等于潜伏的.

潜伏的
潜在值=3.40831.21401.14150.92090.75330.6306 0.49300.31800.1204

解释了百分比差异。

第五个输出,解释,是包含由相应主成分解释的百分比方差的向量。

解释
解释=37.8699 13.4886 12.6831 10.2324 8.3698 7.0062 5.4783 3.5338 1.3378

创建screeplot。

绘制一个由每个主成分解释的百分比变异性的树状图。

图()帕累托(解释)xlabel(“主成分”) ylabel (“解释差异(%)”)

此屏幕图仅显示解释总方差95%的前七个(而不是总共九个)分量。每个组成部分所占差异量的唯一明显差异是第一个和第二个组成部分之间的差异。然而,第一个分量本身解释的方差不到40%,因此可能需要更多的分量。您可以看到,前三个主成分解释了标准化评级中大约三分之二的总可变性,因此这可能是降低维度的合理方法。

霍特林的T平方统计。

来自的最后一个输出主成分分析四方形,这是霍特林的T2.,每个观测值与数据集中心的多元距离的统计度量。这是一种在数据中找到最极端点的分析方法。

[st2,索引]=排序(T平方,“下降”);%按降序排序极值=指数(1);名称(极端,:)
ans=纽约州纽约市

纽约的评级与美国城市的平均水平相差甚远。

将结果可视化。

可视化每个变量的标准正交主成分系数和每个观察的主成分得分在一个单一的plot中。

biplot (coefforth (:, 1:2),“分数”,得分(:,1:2),“Varlabels”,类别);轴([-.260.6-.51.51]);

在这个双图中,所有九个变量都用一个向量表示,向量的方向和长度表示每个变量对图中两个主分量的贡献。例如,水平轴上的第一个主分量对所有九个变量都具有正系数。这就是为什么这九个向量被引导到绘图的右半部分。第一主成分中最大的系数是第三和第七个元素,对应于变量健康艺术.

垂直轴上的第二个主分量具有变量的正系数教育,健康,艺术运输,其余五个变量的负系数。这表明,第二个组成部分区分了第一组变量值高、第二组变量值低的城市和相反的城市。

此图中的变量标签有些拥挤。您可以排除VarLabels进行打印时,使用名称-值对参数,或使用“地物”窗口工具栏中的“编辑打印”工具选择一些标签并将其拖动到更好的位置。

该二维双图还包括329个观测值中每个观测值的一个点,坐标表示图中两个主分量的每个观测值的分数。例如,该图左边缘附近的点具有第一个主分量的最低分数。这些点根据最大分数值进行缩放和最大系数长度,因此只能从图中确定它们的相对位置。

可以通过选择来标识绘图中的项目工具>数据光标在图形窗口中。通过单击变量(向量),可以读取每个主分量的变量标签和系数。通过单击观察(点),可以读取每个主成分的观察名称和分数。您可以指定“Obslabels”,名字在数据光标显示中显示观测名称而不是观测编号。

创建三维双图。

也可以在三维中绘制双图。

figure()双批次(coefforth(:,1:3),“分数”,得分(:,1:3),“障碍标签”,姓名);轴([-.260.8-.51.51-.61.81]);视图([30 40]);

如果前两个主坐标不能充分解释数据中的差异,则此图非常有用。您还可以旋转图形,通过选择工具>三维旋转.

另见

|||||

相关的话题