タグ付けされた質問 「pca」

主成分分析(PCA)は、線形次元削減手法です。これは、多変量データセットを、できるだけ多くの情報(できるだけ多くの分散)を維持する、構築された変数のより小さなセットに削減します。主成分と呼ばれるこれらの変数は、入力変数の線形結合です。

1
Biplotとの関係におけるPCAおよびコレスポンデンス分析
Biplotは、主成分分析(および関連する手法)の結果を表示するためによく使用されます。コンポーネントの負荷とコンポーネントのスコアを同時に表示するデュアルまたはオーバーレイ散布図です。本日、@ amoebaから、バイプロット座標がどのように生成/スケーリングされるかを尋ねる質問に対する私のコメントから離れた答えを彼が与えたと通知されました。そして彼の答えは、いくつかの方法をある程度詳細に検討しています。@amoebaは、私の経験をbiplotと共有するかどうかを尋ねました。 私の経験(理論と実験の両方)は、非常に控えめですが、それほど頻繁に認識されない2つのことを強調しています。(2)PCA、コレスポンデンス分析(およびその他の既知の手法)は、実際にはバイプロットの特定のケースです。または、少なくとも、彼らは双子の双子です。バイプロットを実行できる場合は、他の2つを実行できます。 あなたへの私の質問は次のとおりです:彼ら(PCA、CA、Biplot)はあなたのためにどのように接続されていますか?あなたの考えを共有してください。私はそれについて自分のアカウントを投稿しています。さらに回答を追加し、重要な発言をお願いします。

2
PCAが分散を説明する一方で、因子分析はどのように共分散を説明しますか?
ビショップの「パターン認識と機械学習」の本のセクション12.2.4「因子分析」からの引用です。 ハイライトされた部分によると、因子分析は行列変数間の共分散をキャプチャしWWW。私は不思議どのように? ここに私がそれを理解する方法があります。たとえば、は観測された次元変数、は因子負荷行列、は因子スコアベクトルです。次につまり および各列は、ベクトルを読み込む因子 ここに書いたように、はxxxpppWWWzzzx=μ+Wz+ϵ,x=μ+Wz+ϵ,x=\mu+Wz+\epsilon,⎛⎝⎜⎜x1⋮xp⎞⎠⎟⎟=⎛⎝⎜⎜μ1⋮μp⎞⎠⎟⎟+⎛⎝⎜|w1|…|wm|⎞⎠⎟⎛⎝⎜⎜z1⋮zm⎞⎠⎟⎟+ϵ,(x1⋮xp)=(μ1⋮μp)+(||w1…wm||)(z1⋮zm)+ϵ,\begin{align*} \begin{pmatrix} x_1\\ \vdots\\ x_p \end{pmatrix} = \begin{pmatrix} \mu_1\\ \vdots\\ \mu_p \end{pmatrix} + \begin{pmatrix} \vert & & \vert\\ w_1 & \ldots & w_m\\ \vert & & \vert \end{pmatrix} \begin{pmatrix} z_1\\ \vdots\\ z_m \end{pmatrix} +\epsilon, \end{align*}WWWwi=⎛⎝⎜⎜wi1⋮wip⎞⎠⎟⎟.wi=(wi1⋮wip).w_i=\begin{pmatrix}w_{i1}\\ \vdots\\ w_{ip}\end{pmatrix}.WWWmmm検討中の要因がことを意味する列。mmm ハイライトされた部分によると、ここにポイントがあります。各列w_iの負荷wiwiw_iは、観測されたデータの共分散を説明すると思いますか? 例えば、まずはローディングベクトルを見てみましょうw1w1w_1ため、1≤i,j,k≤p1≤i,j,k≤p1\le i,j,k\le p場合、w1i=10w1i=10w_{1i}=10、w1j=11w1j=11w_{1j}=11およびw1k=0.1w1k=0.1w_{1k}=0.1次に、xixix_iとxjxjx_jは非常に相関しているとxkxkx_k思いますが、x_kはそれらとは無相関のようですが、そうですか? そして、これが因子分析が観測された特徴間の共分散を説明する方法である場合、PCAも共分散を説明すると思いますよね?

3
PCAまたはFAのスコアまたは負荷のサインには意味がありますか?記号を逆にすることはできますか?
2つの異なる関数(prcompおよびprincomp)を使用してRで主成分分析(PCA)を実行し、PCAスコアの符号が異なることを観察しました。どうすればいいの? このことを考慮: set.seed(999) prcomp(data.frame(1:10,rnorm(10)))$x PC1 PC2 [1,] -4.508620 -0.2567655 [2,] -3.373772 -1.1369417 [3,] -2.679669 1.0903445 [4,] -1.615837 0.7108631 [5,] -0.548879 0.3093389 [6,] 0.481756 0.1639112 [7,] 1.656178 -0.9952875 [8,] 2.560345 -0.2490548 [9,] 3.508442 0.1874520 [10,] 4.520055 0.1761397 set.seed(999) princomp(data.frame(1:10,rnorm(10)))$scores Comp.1 Comp.2 [1,] 4.508620 0.2567655 [2,] 3.373772 1.1369417 [3,] 2.679669 -1.0903445 [4,] …
37 r  pca  factor-analysis 

3
PCAの線形性
ただし、PCAは線形手順と見なされます。 PCA(X)≠PCA(X1)+PCA(X2)+…+PCA(Xn),PCA(X)≠PCA(X1)+PCA(X2)+…+PCA(Xn),\mathrm{PCA}(X)\neq \mathrm{PCA}(X_1)+\mathrm{PCA}(X_2)+\ldots+\mathrm{PCA}(X_n), ここで 。これは、データ行列 PCAによって取得された固有ベクトルが、データ行列合計でPCAによって取得された固有ベクトルに等しくならないということです。しかし、線形関数定義は次のことではありません。X=X1+X2+…+XnX=X1+X2+…+XnX=X_1+X_2+\ldots+X_nXiXiX_iXiXiX_ifff f(x+y)=f(x)+f(y)?f(x+y)=f(x)+f(y)?f(x+y)=f(x)+f(y)? では、PCAがこの非常に基本的な線形性の条件を満たさない場合、なぜ「線形」と見なされるのでしょうか。
35 pca  linear 

3
PCAとトレイン/テストの分割
複数のバイナリラベルセットがあるデータセットがあります。ラベルのセットごとに、分類器をトレーニングし、相互検証によって評価します。主成分分析(PCA)を使用して次元を減らしたい。私の質問は: データセット全体に対して PCAを一度実行してから、上記のように相互検証に低次元の新しいデータセットを使用することは可能ですか?または、すべてのトレーニングセットに対して個別のPCAを実行する必要がありますか(つまり、すべての分類子およびすべての相互検証フォールドに対して個別のPCAを実行することを意味します)。 一方では、PCAはラベルを使用しません。一方、テストデータを使用して変換を行うため、結果に偏りが生じる可能性があります。 作業を節約することに加えて、データセット全体でPCAを1回実行すると、すべてのラベルセットのデータセットを一度に視覚化できることに注意してください。ラベルセットごとに異なるPCAがある場合、各ラベルセットを個別に視覚化する必要があります。

3
t-SNEがクラスタリングまたは分類の次元削減手法として使用されないのはなぜですか?
最近の割り当てでは、MNISTの数字でPCAを使用して、寸法を64(8 x 8画像)から2に減らすように言われました。その後、ガウス混合モデルを使用して数字をクラスター化する必要がありました。2つの主成分のみを使用するPCAは、明確なクラスターを生成せず、その結果、モデルは有用なグループ化を生成できません。 ただし、2つのコンポーネントを持つt-SNEを使用すると、クラスターの分離が大幅に改善されます。ガウス混合モデルは、t-SNEコンポーネントに適用すると、より明確なクラスターを生成します。 2コンポーネントのPCAと2コンポーネントのt-SNEの違いは、MNISTデータセットに変換が適用された次の画像のペアで見ることができます。 t-SNEは、この回答のように高次元データの視覚化にのみ使用されることを読んでいますが、それが生成する明確なクラスタを考えると、なぜ分類モデルに使用される次元削減手法として使用されないのですか?スタンドアロンのクラスタリング方法?

1
因子分析/ PCAで回転を行う背後にある直感的な理由と、適切な回転を選択する方法は何ですか?
私の質問 因子分析で因子(またはPCAのコンポーネント)の回転を行う背後にある直感的な理由は何ですか? 私の理解では、変数が最上位のコンポーネント(または要因)にほぼ均等にロードされる場合、コンポーネントを区別することは明らかに困難です。そのため、この場合、回転を使用してコンポーネントをより適切に区別できます。これは正しいです? 回転を行うとどうなりますか?これは何に影響しますか? 適切なローテーションを選択する方法は?直交回転と斜め回転があります。これらの選択方法と、この選択の意味は何ですか? 最小限の数式で直感的に説明してください。広範にわたる答えはほとんどありませんでしたが、私は直感的な理由と経験則でもっと探しています。

1
PCAはk-meansクラスタリング分析でどのように役立ちますか?
背景:住宅のユニット密度、人口密度、緑地面積、住宅価格、学校/保健センター/デイケアセンターの数など、社会経済的特性に基づいて都市の住宅地をグループに分類したい住宅地をいくつのグループに分けることができるか、そしてそれらのユニークな特性は何かを理解したいと思います。この情報は、都市計画を促進する可能性があります。 いくつかの例に基づいて(このブログの投稿:Delta AircraftのPCAとK-meansクラスタリングを参照)、分析を行う方法は次のとおりです。 最初にPCA分析を行います。 PCAの結果に基づいて一意のグループ(クラスター)の数を決定します(たとえば、「エルボ」法、または全分散の80〜90%を説明するコンポーネントの数を使用)。 クラスターの数を決定したら、k-meansクラスタリングを適用して分類を行います。 私の質問: PCAコンポーネントの数はクラスター分析に関係しているようです。たとえば、5つのPCAコンポーネントがすべての機能のバリエーションの90%以上を説明している場合、k-meansクラスタリングを適用して5つのクラスターを取得します。それでは、PCA分析の5つのコンポーネントに正確に対応する5つのグループでしょうか? 別の言葉で言えば、私の質問は、PCA分析とk-meansクラスタリングの関係は何ですか? 更新: Emre、xeon、およびKirillの入力に感謝します。したがって、現在の答え: クラスタリング分析の前にPCAを実行することは、特徴抽出機能としての次元削減とクラスターの視覚化/表示にも役立ちます。 クラスタリング後にPCAを実行すると、クラスタリングアルゴリズムを検証できます(参照:カーネル主成分分析)。 PCAは、クラスタリングの前にデータセットの次元を減らすために時々適用されます。ただし、Yeung&Ruzzo(2000)は、元の変数の代わりにPCを使用してクラスタリングしても、クラスターの品質が必ずしも向上しないことを示しました。特に、最初の数台のPC(データの変動の大部分を含む)は、必ずしもクラスター構造の大部分をキャプチャーするわけではありません。 Yeung、Ka Yee、およびWalter L. Ruzzo。遺伝子発現データをクラスタリングするための主成分分析に関する実証的研究。技術レポート、ワシントン大学、2000年コンピューター科学工学科(pdf) 2段階のクラスタリング分析の前に、PCAが必要と思われました。Ibes(2015)に基づき、PCAで特定された要因を使用してクラスター分析が実行されました。 Ibes、Dorothy C. 都市公園システムの多次元分類と公平性分析:新しい方法論とケーススタディアプリケーション。 景観と都市計画、第137巻、2015年5月、122〜137ページ。

1
PCA目的関数:分散の最大化とエラーの最小化の関係は何ですか?
PCAアルゴリズムは、相関行列の観点から定式化できます(データはすでに正規化されており、最初のPCへの投影のみを検討していると仮定します)。目的関数は次のように記述できます。XXX maxw(Xw)T(Xw)s.t.wTw=1.maxw(Xw)T(Xw)s.t.wTw=1. \max_w (Xw)^T(Xw)\; \: \text{s.t.} \: \:w^Tw = 1. これは問題ありません。ラグランジュ乗数を使用して解決します。つまり、次のように書き換えます。 maxw[(Xw)T(Xw)−λwTw],maxw[(Xw)T(Xw)−λwTw], \max_w [(Xw)^T(Xw) - \lambda w^Tw], これは maxw(Xw)T(Xw)wTw,maxw(Xw)T(Xw)wTw, \max_w \frac{ (Xw)^T(Xw) }{w^Tw}, そのため(ここでMathworldを参照)は\ max_w \ sum_ {i = 1} ^ n \ text {(ポイント$ x_i $からライン$ w $までの距離)} ^ 2と等しいようmaxw∑i=1n(distance from point xi to line w)2.maxw∑i=1n(distance from point xi …
32 pca  optimization 

3
相関または共分散に関するPCA:相関に関するPCAは意味をなしますか?[閉まっている]
主成分分析(PCA)では、共分散行列または相関行列のいずれかを選択して、(それぞれの固有ベクトルから)成分を見つけることができます。両方の行列間の固有ベクトルが等しくないため、これらは異なる結果(PCの負荷とスコア)を与えます。私の理解では、これは生データベクトルとその標準化が直交変換を介して関連付けられないという事実によって引き起こされるということです。数学的には、類似した行列(つまり、直交変換によって関連付けられた行列)は同じ固有値を持ちますが、必ずしも同じ固有ベクトルを持つとは限りません。XXXZZZ これは私の心にいくつかの困難を引き起こします: PCAは、同じ開始データセットに対して2つの異なる答えを得ることができ、両方とも同じことを達成しようとする場合(=最大分散の方向を見つける)、実際に意味がありますか? 相関行列アプローチを使用する場合、PCを計算する前に、各変数は独自の標準偏差によって標準化(スケーリング)されます。それでは、データが事前に異なる方法でスケーリング/圧縮されている場合、最大分散の方向を見つけることは依然としてどのように意味がありますか?相関ベースのPCAは非常に便利です(標準化された変数は無次元なので、線形結合を追加できます。他の利点も実用性に基づいています)が正しいのでしょうか。 (変数の分散が大きく異なる場合でも)共分散ベースのPCAのみが真に正しいものであり、このバージョンを使用できない場合は、相関ベースのPCAも使用すべきではないようです。 私はこのスレッドがあることを知っています:相関または共分散のPCA?-しかし、それは実用的な解決策を見つけることにのみ焦点を当てているようです。

3
TensorflowでPCAを超えるオートエンコーダーを構築する
ニューラルネットワークでデータの次元数を削減するヒントンとサラクーディノフ、サイエンス 2006は、ディープオートエンコーダーの使用による非線形PCAを提案しました。Tensorflowを使用してPCAオートエンコーダーを何度も構築およびトレーニングしようとしましたが、線形PCAよりも良い結果を得ることができませんでした。 オートエンコーダを効率的にトレーニングするにはどうすればよいですか? (@amoebaによる後の編集:この質問の元のバージョンには、正しく動作しなかったPython Tensorflowコードが含まれていました。編集履歴で見つけることができます。)

1
大規模なスパース行列の次元削減(SVDまたはPCA)
/ edit:irlba :: prcomp_irlbaを使用できるようになりました。 / edit:自分の投稿のフォローアップ。 irlba現在、「center」および「scale」引数があり、これを使用して主成分を計算できます。例: pc <- M %*% irlba(M, nv=5, nu=0, center=colMeans(M), right_only=TRUE)$v Matrix機械学習アルゴリズムで使用したい機能の大規模でまばらなものがあります。 library(Matrix) set.seed(42) rows <- 500000 cols <- 10000 i <- unlist(lapply(1:rows, function(i) rep(i, sample(1:5,1)))) j <- sample(1:cols, length(i), replace=TRUE) M <- sparseMatrix(i, j) このマトリックスには多くの列があるため、その次元を管理しやすいものに減らしたいと思います。優れたirlbaパッケージを使用してSVDを実行し、最初のn個の主要コンポーネントを返すことができます(ここに示す5つ。実際のデータセットではおそらく100または500を使用します)。 library(irlba) pc <- irlba(M, nu=5)$u ただし、PCAを実行する前に、行列を中央に配置する必要があることを読みました(各列から列の平均値を減算します)。これは私のデータセットで行うことは非常に難しく、さらにマトリックスのスパース性を破壊します。 スケーリングされていないデータに対してSVDを実行し、それを機械学習アルゴリズムに直接入力するのはどの程度「悪い」のでしょうか?マトリックスのスパース性を維持しながら、このデータをスケーリングできる効率的な方法はありますか? / edit:AはB_minerによって注目されました。「PC」は次のようになります。 …

5
多くの独立変数から重要な予測因子を検出する
2つの重複しない母集団(患者と健康、合計n=60n=60n=60)のデータセットで、(300300300独立変数から)連続従属変数の有意な予測子を見つけたいと思います。予測変数間の相関が存在します。予測変数のいずれかが(可能な限り正確に従属変数を予測するのではなく)「実際に」従属変数に関連しているかどうかを調べることに興味があります。多数の可能なアプローチに圧倒されたので、どのアプローチが最も推奨されるかを尋ねたいと思います。 私の理解から、予測因子の段階的な包含または除外は推奨されません たとえば、予測子ごとに個別に線形回帰を実行し、FDRを使用した多重比較のためにp値を修正します(おそらく非常に保守的ですか?) 主成分回帰:個々の予測変数の予測力については説明できず、コンポーネントについてのみ説明できるため、解釈が困難です。 他の提案はありますか?

3
100万のPCAエディションを視覚化する
主成分分析の出力を、単なるサマリーテーブルよりも多くの洞察を与える方法で視覚化することは可能ですか?〜1e4など、観測数が多い場合に実行できますか?そして、R [他の環境も歓迎]でそれを行うことは可能ですか?

4
RでPCAを使用して次元削減を実行する方法
大きなデータセットがあり、次元削減を実行したい。 今ではどこでも、PCAをこれに使用できると読んでいます。ただし、PCAを計算/実行した後、何をすべきかまだわかりません。Rでは、これはコマンドで簡単に行えprincompます。 しかし、PCAを計算した後はどうすればよいでしょうか?最初の主成分を使用することにした場合、データセットを正確に削減するにはどうすればよいですか?100100100
30 r  pca 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.