主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

主成分分析の使用による米国の都市における生活満足度の分析

この例では、重み付け主成分分析を実行し結果を解釈する方法を示します。

標本データを読み込みます。

標本データを読み込みます。このデータには、アメリカ合衆国の 329の都市について、生活の満足度を表す 9つの異なる指標についての評価点 (気候、住宅、健康、犯罪、交通機関、教育、芸術、娯楽、経済) が含まれています。どのカテゴリでも、高い評価点は満足度の高さを表しています。たとえば、犯罪評価点が高いとは、犯罪率が低いことを意味します。

変数类别を表示します。

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

城市データセットには、全部で 3.つの変数があります。

  • 类别は、指標の名前が含まれている文字行列です。

  • 的名字は、329の都市名が含まれている文字行列です。

  • 评级は、329行 9列のデータ行列です。

データをプロットする。

箱ひげ図を作成して、评级データの分布を確認します。

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

芸術と住宅に関する評価点は,気候や犯罪に関する評価点よりもばらつきが大きくなっています。

ペアワイズ相関の確認

変数間のペアワイズ相関を確認します。

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

一部の変数の相関は 0.85となっています。主成分分析により、元の変数の線形結合である新しい独立変数が作成されます。

主成分の計算

すべての変数が同じユニットにある場合、生のデータの主成分を計算するのが適切です。変数が異なるユニットにある場合、または異なる列の分散の差が大きい場合 (この例はこれに該当します)、データのスケーリングや重み付けの使用が適していることが多くなります。

評価点の逆分散を重みとして使用し、主成分分析を実行します。

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

または、以下を使用することもできます。

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

次の節では、主成分分析の 5.つの出力を説明します。

主成分の係数

最初の出力(wcoeff)には主成分の係数が含まれています。

初めの3つの主成分係数ベクトルは,次のようになります。

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

成分の得点

2.つ目の出力分数は、主成分によって定義される新しい座標系に元のデータの座標を含んでいます。行列分数は、入力データ行列と同じサイズです。また、正規直交係数と標準化された評価点を次のように使用すると、各成分の得点を求めることができます。

* coefforth cscores = zscore(评级);

cscores分数は同じ行列です。

成分の得点のプロット

分数の最初の 2.列のプロットを作成します。

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

このプロットは、最初の 2.つの主成分に射影された、スケーリングおよびセンタリングされている評価点データを表しています。主成分分析は平均が 0になるように得点を計算します。

プロットの対話的な表示

プロットの右側の異常点に注意してください。これらの点は次のようにグラフィカルに識別することができます。

カーソルをプロット上に移動させ,右端の7つの点の付近で1回クリックします。次の図に示すように,点が行番号でラベル付けされます。

点にラベルが付いたら、回来キーを押します。

観測名の抽出

選択したすべての都市の行番号が格納されているインデックス変数を作成し、各都市の名前を取得します。

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

これらのラベル付けされた都市は、米国でも最大の人口密集地の一部であり、他のデータと比べて突出した値になっています。

成分分散

3.つ目の出力潜伏的は、対応した主成分によって説明された分散を含むベクトルです。分数の各列の標本分散は、潜伏的の対応する行と等しくなります。

潜伏的
潜量= 3.4083 1.2140 1.1415 0.9209 0.7533 0.6306 0.4930 0.3180 0.1204

説明されたパーセンテージの分散

5.つ目の出力解释は、対応する主成分によって説明されたパーセンテージの分散を含むベクトルです。

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

スクリー プロットの作成

各主成分によって説明されるパーセンテージの分散のスクリー プロットを作成します。

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

このスクリープロットには,分散全体の95%を説明する最初の7個の成分のみ(9個すべてではなく)が表示されます。各成分が占める分散量に明らかな差があるのは,最初と2番目の成分のみです。しかし,最初の成分自体は40%未満の分散を示すので,より多くの成分が必要になるでしょう。最初の3つの主成分は,標準化された評価点の総変動のおよそ3分の2を説明しているため,次元を削減することは適切な方法と考えられます。

ホテリング T二乗統計量

主成分分析の最後の出力四方形は、ホテリングの T二乗 (T2.) であり、データセットの中心から各観測値までの多変量距離を表す統計的尺度です。これはデータ内の最極の点を見つける分析方法です。

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

ニューヨークの評価点は米国全都市の平均から最も離れています。

結果の可視化

各変数の正規直交主成分係数と各観測の主成分得点を 1.つのプロットで可視化します。

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

9つの変数はこのバイプロットにおいてすべてベクトルで表されます。ベクトルの向きと大きさは,プロットにおける2つの主成分に対する各変数の寄与の程度を表します。たとえば,横軸上にある最初の主成分では,9つの変数すべてに正の係数があります。そのため9つのベクトルはプロットの右半分に向いています。第1主成分で1番大きな係数は,3番目と7番目の要素で,これは変数健康艺术に対応します。

第2主成分は縦軸にあり,教育健康艺术运输の各変数の係数は正で,他の5つの変数の係数は負となっています。このことは第2主成分により,変数の最初の組が高い値で2番目の組が低い値である都市と,その逆になっている都市が区別されていることを示しています。

この図における変数のラベルは、多少込み合っています。プロットを作成するときに名前と値のペアの引数VarLabelsを除外するか、图形ウィンドウ ツール バーの [プロット編集] ツールを使用してラベルを選択し適切な位置にドラッグすることができます。

この 二维バイプロットには 329件の各観測値に対応する点と、プロットの 2.つの主成分における各観測値の得点を示す座標が含まれています。たとえば、このプロットの左端に近い点は、第 1.主成分に対する最小の得点をもちます。各点は得点の最大値と係数の最大長を基準にスケーリングされるため、プロットからは各点の相対位置のみを決定できます。

プロットの項目を指定するには、图形ウィンドウで[ツール][データ カーソル]を選択します。変数(ベクトル) をクリックすると、各主成分について変数のラベルと係数が表示されます。観測値 (点) をクリックすると、各主成分について観測値の名前とスコアが表示されます。“Obslabels”,名字を指定すると、データ カーソル表示で観測値の番号ではなく名前が表示されます。

3次元バイプロットの作成

また、3.次元のバイプロットを作成することもできます。

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

このグラフは、最初の 2.つの主座標がデータの分散を十分に説明しない場合に便利です。また、[ツール][3 次元回転]を選択すると、図を回転して別の角度から見ることができます。

参考

|||||

関連するトピック