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

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

3
保持する主成分の数の選択
私に提案された1つの方法は、画面プロットを見て、「エルボー」をチェックして、使用するPCの正しい数を決定することです。しかし、プロットが明確でない場合、Rは数を決定するための計算を持っていますか? fit <- princomp(mydata, cor=TRUE)
10 r  pca 

2
因子分析(またはPCA)では、因子負荷が1を超えるとはどういう意味ですか?
斜め回転(プロマックス)を使用してFAを実行したところ、1つの因子で1.041の因子負荷が発生しました(パターンマトリックスを使用して、他の因子では-.131、-。119および.065の因子負荷)。 。そして、私はそれが何を意味するのかわかりません、私はそれが-1と1の間だけであることができると思っていました。 斜め回転によるものですか?そして、直交因子で負荷が1を超えることはできますか?

1
論文は「主成分の数を決定するためのモンテカルロシミュレーション」に言及しています。それはどのように機能しますか?
私はMRIデータのMatlab分析を行っています。ここで、10304x236のサイズのマトリックスでPCAを実行しました。ここで、10304はボクセルの数(ピクセルと考える)、236はタイムポイントの数です。PCAは、236の固有値とそれらに関連する係数をくれます。これで結構です。ただし、保持するコンポーネントの数を決定するときになると、私が複製している紙は次のように述べています(これは紙全体のほんの一部にすぎないため、説明が必要な場合はお知らせください): 次に、モンテカルロシミュレーションを実行して、各スキャンの迷惑ROIデータから抽出する主成分(PC)の数を決定しました。予測固有値のnull分布は、エンコードと残りの迷惑ROIデータと等しいランクの正規分布データに対してPCAを実行することにより、各被験者のエンコードと残りのデータに対して個別に生成されました。関連付けられた固有値がモンテカルロシミュレーションの固有値の99番目の信頼区間を超えた場合、真の迷惑ROIデータからのPCが、指定されたレストスキャンまたはエンコーディングスキャン用に選択されました。 Tambini&Davachi、PNAS 2013、海馬のマルチボクセルパターンのエンコード後の残りへの持続性は記憶に関連しています。 ここで何をすればいいのか全く分かりません。説明された累積分散に基づいてコンポーネントを選択することに慣れています。私の考えはこれですが: 次に、モンテカルロシミュレーションを実行して、各スキャンの迷惑ROIデータから抽出する主成分(PC)の数を決定しました。 モンテカルロシムズは、次の1000回(またはそのような)回を行うことを意味するだけですよね? 期待される固有値のヌル分布は、エンコーディングおよびレストニュイサンスROIデータと等しいランクの正規分布データに対してPCAを実行することによって生成されました。 まず、「等しいランク」は基本的に元のサイズと同じサイズ(10304x236)のマトリックスを作成することを意味すると想定しています。「等ランクの正規分布データ」に関して...これは、正規分布から乱数の10304x236行列を作成する必要があることを意味しますか?Matlabにはこれを行う 'normrnd'と呼ばれる関数がありますが、muおよびsigma入力が必要です。最初のデータセットから導出されたものと同じミューとシグマを使用しますか?EXPECTED固有値の分布がどのようになるかわからないので、これは多かれ少なかれ「期待される固有値」が意味するものです。 私の問題は多かれ少なかれ、固有値の「ヌル分布」を作成する方法がわからないことだと思います。

2
ブール特徴の小さなサンプルセットに対するPCAとスペクトルクラスタリングの違い
50サンプルのデータセットがあります。各サンプルは、11個の(相関している可能性がある)ブール機能で構成されています。これらのサンプルを2Dプロットで視覚化し、50個のサンプルの間にクラスター/グループがあるかどうかを調べたいと思います。 私は次の2つの方法を試しました。 (a)50x11マトリックスでPCAを実行し、最初の2つの主成分を選択します。データを2Dプロットに投影し、簡単なK平均法を実行してクラスターを特定します。 (b)50x50(コサイン)類似性行列を作成します。次元削減のためにスペクトルクラスタリングを実行し、その後再びK-meansを実行します。 直接PCAを実行することと、類似度行列の固有値を使用することの概念的な違いは何ですか?一方が他方よりも優れていますか? また、そのようなデータを2Dで視覚化するより良い方法はありますか?私のサンプルサイズは常に50に制限されており、機能セットは常に10から15の範囲にあるため、複数のアプローチをその場で試し、最適なアプローチを選択します。 関連質問: クラスタリングまたはPCAによるサンプルのグループ化

2
PCAが投影の全体の分散を最大化するのはなぜですか?
Christopher Bishopは彼の著書「パターン認識と機械学習」に、以前に選択されたコンポーネントに対して直交空間にデータが投影された後、連続する各主成分が1次元への投影の分散を最大化するという証明を書いています。他は同様の証明を示します。 ただし、これは、分散を最大化することに関して、連続する各コンポーネントが1つの次元への最良の投影であることを証明するだけです。なぜこれが意味するのか、最初にそのようなコンポーネントを選択すると、5次元と言う投影の分散が最大化されますか?

4
Rの離散時間イベント履歴(生存)モデル
Rに離散時間モデルを適合させようとしていますが、その方法がわかりません。 従属変数を時間監視ごとに1つずつ異なる行に編成し、glm関数をlogitまたはcloglogリンクで使用できることを読みました。この意味で、私は3つの列があります:ID、Event(各time-obsで1または0)およびTime Elapsed(観測の開始以降)、および他の共変量。 モデルに合うようにコードを書くにはどうすればよいですか?従属変数はどれですか?Event従属変数として使用できTime Elapsed、共変量に含めることができると思います。しかし、どうなりIDますか?必要ですか? ありがとう。
10 r  survival  pca  sas  matlab  neural-networks  r  logistic  spatial  spatial-interaction-model  r  time-series  econometrics  var  statistical-significance  t-test  cross-validation  sample-size  r  regression  optimization  least-squares  constrained-regression  nonparametric  ordinal-data  wilcoxon-signed-rank  references  neural-networks  jags  bugs  hierarchical-bayesian  gaussian-mixture  r  regression  svm  predictive-models  libsvm  scikit-learn  probability  self-study  stata  sample-size  spss  wilcoxon-mann-whitney  survey  ordinal-data  likert  group-differences  r  regression  anova  mathematical-statistics  normal-distribution  random-generation  truncation  repeated-measures  variance  variability  distributions  random-generation  uniform  regression  r  generalized-linear-model  goodness-of-fit  data-visualization  r  time-series  arima  autoregressive  confidence-interval  r  time-series  arima  autocorrelation  seasonality  hypothesis-testing  bayesian  frequentist  uninformative-prior  correlation  matlab  cross-correlation 

3
場合、PCAを介したマハラノビス距離
私は行列、遺伝子の数であり、患者の数です。このようなデータを扱った人なら誰でも、は常によりも大きいことを知っています。特徴選択を使用して、をより妥当な数に下げましたが、はまだより大きいです。p n p n p p nn × pn×pn\times ppppんnnpppんnnppppppんnn 遺伝子プロファイルに基づいて患者の類似性を計算したいと思います。ユークリッド距離を使用することもできますが、マハラノビスは変数間の相関を考慮に入れるので、より適切に見えます。(この投稿で述べたように)問題は、マハラノビス距離、特に共分散行列が場合に機能しないことです。Rでマハラノビス距離を実行すると、次のエラーが発生します。n &lt; pn&lt;pn < p Error in solve.default(cov, ...) : system is computationally singular: reciprocal condition number = 2.81408e-21 これまでにこれを解決するために、PCAを使用しました。遺伝子を使用する代わりに、コンポーネントを使用しました。これにより、マハラノビス距離を計算できるようです。5つの成分は分散の約80%を表すため、ます。n &gt; pn&gt;pn > p 私の質問は次のとおりです。PCAを使用して患者間のマハラノビス距離を有意義に取得できますか、それとも不適切ですか?ときに機能する代替距離メトリックスはありますか?また、変数間に多くの相関関係がありますか?nn &lt; pn&lt;pn < pんnn

1
確率的PCAの主要部分空間とは何ですか?
場合観測データの行列であり、Yは、次に潜在変数でありますバツXXYYY バツ= WY+ μ + εX=WY+μ+ϵX=WY+\mu+\epsilon ここで、は観測されたデータの平均であり、ϵはデータのガウス誤差/ノイズであり、Wは主部分空間と呼ばれます。μμ\muεϵ\epsilonWWW 私の質問は、通常のPCAが使用されると、以下が真である正規直交固有ベクトルセットを取得することです。EEE Y= EバツY=EXY=EX しかし、PPCAでは、は正規直交でも固有ベクトルでもありません。では、Wから主成分を取得するにはどうすればよいですか?WWWWWW 本能に従って、MATLABでppcaを検索しました。この行に出くわしました。 収束時、Wの列は部分空間に広がりますが、それらは正規直交ではありません。ppcaは、Wの直交化によって成分の正規直交係数coeffを取得します。 Wを取得するためにppcaコードを少し変更して実行し、直交化した後、WからPを取得しました。 なぜこの直交化によって固有ベクトルが得られ、それに沿ってほとんどの分散が見られるのでしょうか? 私は、直交化によって主部分空間にまたがる一連の直交/正規直交ベクトルが得られると仮定していますが、この直交化された結果の行列がeigenmatrixに等しいのはなぜですか(pcaの固有行列も正規直交であることを知っています)?主部分空間が正規直交ベクトルの一意のセットによってのみスパンされると仮定できますか?その場合、両方の結果は常に一致します。

2
教えるための良いPCAの例
私はエンジニア、社会科学者、コンピュータープログラマーのクラスに線形代数を教えています。特異値分解を行ったばかりで、あと1日残っているので、特異値分解と主成分分析の関係について話そうと思いました。私は講義の理論の部分をうまく書いていますが、使用する良い例を見つけるのに苦労しています。ここに制約があります: 写真を見せたいです。理想的には、グラフィックス自体がうまく機能する必要があります。散布図の軸とデータポイントにラベルを付ける必要があります。英語の単語はラテン語の種名よりも優れています。 調査中の質問は興味深いはずです。ナイジェリアの魚の形態は重要ですが、クラスの注意を引くには良い方法ではありません。 前の箇条書きとは対照的に、人種の違いについては何もありません。知能テストについては何もありません。それは数学的手法とは何の関係もない活発な議論につながるでしょう。 数学的分析方法は、基本的に純粋なPCAである必要があります。DW-NOMINATEプロジェクトは素晴らしいものですが、PCAを開始点として使用し、その後にはるかに複雑な山登りアルゴリズムが続きます。 これは簡単だと思います。データを収集する時間があれば、私ができる12の楽しい分析プロジェクトを簡単に思いつくことができます。典型的な犬の品種の物理的特性を数十回測定し、PCAが「羊犬」のクラスターを見つけられるかどうかを確認します。Etcetera、etcetera ...私はそれを誇示できるように、すでに仕事をした人を探しています。 ここのタイムラインはかなりタイトだと思います。明日の午後(月曜日)に講義します。私は週末のほとんどをPCAのさまざまな興味深い分野での調査に費やし、それらが適切でないことを何度も繰り返し発見しました。
10 pca  dataset  teaching 

2
ポリゴンの共分散行列を見つける方法は?
一連の座標(x1,y1)...(xn,yn)(x1,y1)...(xn,yn)(x_1,y_1)...(x_n,y_n)によって定義されたポリゴンがあると想像してください。。。(X N、Y N)と質量の中心は、である(0,0)(0,0)(0,0)。多角形は、多角形の境界を持つ均一な分布として扱うことができます。 私は多角形の共分散行列を見つける方法の後にいます。 ポリゴンの共分散行列は面積の2次モーメントと密接に関連していると思いますが、それらが同等であるかどうかはわかりません。リンクしたWikipediaの記事にある数式は、多角形の主軸ではなく、x、y、z軸の周りの回転慣性を参照しているようです(この記事から推測すると、ここでは特にわかりません)。 (ちなみに、ポリゴンの主軸の計算方法を誰かに教えてもらえれば、それも役に立ちます) 座標でPCAを実行するのは魅力的ですが、そうすると、座標が必ずしもポリゴンの周囲に均等に分散されないため、ポリゴンの密度が表されないという問題が発生します。極端な例は、ノースダコタの輪郭です。そのポリゴンは、レッドリバーに続く多数のポイントと、州の西端を定義するポイントが2つだけ多いことによって定義されます。

1
GWASデータセットのPCAプロジェクションで、子供たちはどのようにして親をまとめることができますか?
IID座標各10,000次元空間で20個のランダムな点を取るN(0,1)N(0,1)\mathcal N(0,1)。それらを10個のペア(「カップル」)に分割し、各ペア(「子」)の平均をデータセットに追加します。次に、結果の30ポイントでPCAを実行し、PC1とPC2をプロットします。 注目すべきことが起こります。それぞれの「家族」は、すべてが互いに近接する3組の点を形成します。もちろん、すべての子供は元の10,000次元の空間ではそれぞれの親に近いので、PCA空間でも親に近いと期待できます。ただし、PCA空間では、親の各ペアは互いに近接しています。ただし、元の空間ではそれらは単なるランダムなポイントです。 PCAプロジェクションでは、子供はどうやって親をまとめるのですか? \quad\quad\quad\quad これは、子供たちが親よりも規範が低いという事実に何らかの影響を受けていることを心配するかもしれません。これは問題ではないようです:(x + y )/ √として子供を生成する場合(x+y)/2–√(x+y)/2(x+y)/\sqrt{2}xxxyyy \quad\quad\quad\quad この質問はおもちゃのデータセットを使用していますが、それは、私がゲノム全体の関連研究(GWAS)からの実世界のデータセットで観察した、ディメンションが単一ヌクレオチドの多型(SNP)であることに動機付けられています。このデータセットには、母・父・子のトリオが含まれていました。 コード %matplotlib notebook import numpy as np import matplotlib.pyplot as plt np.random.seed(1) def generate_families(n = 10, p = 10000, divide_by = 2): X1 = np.random.randn(n,p) # mothers X2 = np.random.randn(n,p) # fathers X3 = (X1+X2)/divide_by # children X …

3
n、pの両方が大きい場合、PCAが遅すぎる:代替案?
問題の設定 高次元(4096)のデータポイント(画像)があり、それを2Dで視覚化しようとしています。この目的のために、私はKarpathyによる次のコード例のような方法でt- sneを使用しています。 scikit-学ぶドキュメントは、最初のデータの次元を下げるためにPCAを使用することをお勧めします: 特徴の数が非常に多い場合は、別の次元削減方法(たとえば、密なデータの場合はPCA、疎なデータの場合はTruncatedSVD)を使用して、次元数を妥当な量(たとえば50)に減らすことを強くお勧めします。 私はこのコードをDarks.LiuによってJavaでPCAを実行するために使用しています: //C=X*X^t / m DoubleMatrix covMatrix = source.mmul(source.transpose()).div(source.columns); ComplexDoubleMatrix eigVal = Eigen.eigenvalues(covMatrix); ComplexDoubleMatrix[] eigVectorsVal = Eigen.eigenvectors(covMatrix); ComplexDoubleMatrix eigVectors = eigVectorsVal[0]; //Sort sigen vector from big to small by eigen values List&lt;PCABean&gt; beans = new ArrayList&lt;PCA.PCABean&gt;(); for (int i = 0; i &lt; eigVectors.columns; i++) { …

2
アイスクリームの販売と温度のこのPCAプロットを理解する
温度とアイスクリームの売上のダミーデータを取得し、K平均(nクラスター= 2)を使用して分類して、2つのカテゴリ(完全にダミー)を区別しています。 今、私はこのデータの主成分分析を行っています。私の目標は、私が見ているものを理解することです。PCAの目的は、次元数を減らし(この場合は明らかにしない)、要素の分散を示すことであることを知っています。しかし、以下のPCAプロットをどのように読みますか。つまり、PCAプロットの温度とアイスクリームについてどのような話をすることができますか?1台目(X)と2台目(Y)のPCはどういう意味ですか?

2
スケーラブルな次元削減
特徴の数が一定であることを考えると、Barnes-Hut t-SNEはの複雑さを持ち、ランダムな投影とPCAは複雑さを持ち、非常に大きなデータセットに対して「手頃」になります。O(nlogn)O(nlog⁡n)O(n\log n)O(n)O(n)O(n) 一方、多次元スケーリングに依存するメソッドは複雑さを持っています。O(n2)O(n2)O(n^2) 複雑さがよりも低い他の次元削減手法(もちろん、最初の列を見るような簡単な手法を除くますか?kkkO(nlogn)O(nlog⁡n)O(n\log n)

1
PCAプロットのくさびのような形状は何を示していますか?
テキスト分類用のオートエンコーダに関する彼らの論文で、 HintonとSalakhutdinovは2次元LSA(PCAに密接に関連しています)によって生成されるプロットを示しました。 PCAをまったく異なるわずかに高次元のデータに適用すると、同様に見えるプロットが得られました(この場合を除いて、内部構造があるかどうかを本当に知りたかったのです)。 ランダムデータをPCAに入力すると、ディスク状のブロブが得られるため、このくさび状の形状はランダムではありません。それ自体は何か意味がありますか?

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