タグ付けされた質問 「distance-functions」

距離関数は、セットのメンバー間、またはオブジェクト間の距離の概念を定量化するために使用される関数を指します。

5
3つの確率分布のJensen-Shannon発散計算:これは大丈夫ですか?
次の3つの分布について、ジェンセンシャノンの発散を計算します。以下の計算は正しいですか?(ウィキペディアのJSD式に従いました): P1 a:1/2 b:1/2 c:0 P2 a:0 b:1/10 c:9/10 P3 a:1/3 b:1/3 c:1/3 All distributions have equal weights, ie 1/3. JSD(P1, P2, P3) = H[(1/6, 1/6, 0) + (0, 1/30, 9/30) + (1/9,1/9,1/9)] - [1/3*H[(1/2,1/2,0)] + 1/3*H[(0,1/10,9/10)] + 1/3*H[(1/3,1/3,1/3)]] JSD(P1, P2, P3) = H[(1/6, 1/5, 9/30)] - [0 + 1/3*0.693 …

5
使用するのに最適な距離測定
環境 比較したい2組のデータがあります。両方のセット内の各データ要素は、(すべての間に22件の角度を含むベクターである−π−π-\pi及びππ\pi)。角度は特定の人間のポーズ構成に関連しているため、ポーズは22の関節角度によって定義されます。 最終的に私がやろうとしているのは、2つのデータセットの「近さ」を判断することです。そのため、1つのセットの各ポーズ(22Dベクトル)について、他のセットの最も近い隣を見つけ、最も近い各ペアの距離プロットを作成します。 ご質問 単純にユークリッド距離を使用できますか? :意味のあるものにするには、私は距離メトリックは、次のように定義される必要があることを前提と、ここで | 。。。| は絶対値で、modはモジュロです。次に、結果の22シータを使用して、標準のユークリッド距離計算を実行できます。√θ=|θ1−θ2|modπθ=|θ1−θ2|modπ\theta = |\theta_1 - \theta_2| \quad mod \quad \pi|...||...||...|。t21+t22+…+t222−−−−−−−−−−−−−−√t12+t22+…+t222\sqrt{t_1^2 + t_2^2 + \ldots + t_{22}^2} これは正しいです? カイ2乗、Bhattacharyya、または他のメトリックなど、別の距離メトリックがより有用でしょうか?もしそうなら、その理由についての洞察を提供してください。

1
属性が名目である場合、個人にとって最適な距離関数は何ですか?
名義(順序付けされていないカテゴリ)属性の場合に使用する個人間の距離関数がわかりません。私はいくつかの教科書を読んでいて、それらはSimple Matching関数を提案していますが、一部の本は、名義をバイナリ属性に変更してJaccard係数を使用するべきだと提案しています。ただし、名義属性の値が2でない場合はどうなりますか?その属性に3つまたは4つの値がある場合はどうなりますか? 名義属性にはどの距離関数を使用すればよいですか?

2
共分散行列を作る変数間の距離とは何ですか?
私が持っているの共分散行列をとに区分変数にしたいk個使用してクラスタ階層的クラスタリングを(例えば、共分散行列をソートします)。n×nn×nn \times nkkk 変数間(つまり、正方共分散行列の列/行間)の典型的な距離関数はありますか? それとももっとある場合、そのトピックに関する良い参考資料はありますか?


1
Beyerらの相対コントラスト定理です。論文:「高次元空間における距離計量の意外な振る舞いについて」誤解を招く?
これは、次元の呪いに言及するときに頻繁に引用され、 (相対コントラストと呼ばれる右手の式) limd→∞var(||Xd||kE[||Xd||k])=0,then:Dmaxkd−DminkdDminkd→0limd→∞var(||Xd||kE[||Xd||k])=0,then:Dmaxdk−DmindkDmindk→0 \lim_{d\rightarrow \infty} \text{var} \left(\frac{||X_d||_k}{E[||X_d||_k]} \right) = 0, \text{then}: \frac{D_{\max^{k}_{d}} - D_{\min^{k}_{d}}}{D_{\min^{k}_{d}}} \rightarrow 0 この定理の結果は、特定のクエリポイントまでの最大距離と最小距離の差が、高次元空間内の任意のポイントへの最も近い距離ほど速く増加しないことを示しています。これは、最も近いものと最も遠いものの区別が不十分であるため、近接クエリを無意味で不安定なものにします。 リンク しかし、サンプル値の相対コントラストを実際に計算してみると、非常に小さな値を含むベクトルを取得してゼロベクトルまでの距離を計算し、はるかに大きな値を含むベクトルについても同じことを行い、次に、次元が3で次元が10910910^9倍大きい場合、比率は減少しますが、変化は非常に小さいため、実際に使用されている次元の数とは無関係です(または誰かが働いていることを知っていますか?ディメンション付きのデータの場合、グラハムの数のサイズ-この論文で説明されている効果が実際に関連するために必要なサイズだと思います-私はそうではないと思います)。 前述したように、この定理は、ユークリッド空間に基づいて近接度を測定することが高次元空間では不十分な戦略であるという主張を支持するために非常に頻繁に引用されます。この定理が誤解を招くように使用されていると思います。 例:dディメンションあり a=np.ones((d,)) / 1e5 b=np.ones((d,)) * 1e5 dmin,dmax=norm(a), norm(b) (dmax-dmin)/dmin d = 3の 9999999999.0 場合d = 1e8の場合 9999999998.9996738 そして 、d = 1e8の d = 3 99.0に対して、1e5の代わりに1e1を使用します(データが正規化されているとしましょう)。 98.999999999989527

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
観測されたイベントと期待されたイベントを比較する方法は?
4つの可能なイベントの頻度の1つのサンプルがあるとします。 Event1 - 5 E2 - 1 E3 - 0 E4 - 12 そして、私は自分のイベントの発生が予想される確率を持っています: p1 - 0.2 p2 - 0.1 p3 - 0.1 p4 - 0.6 4つのイベントの観測頻度の合計(18)を使用して、イベントの予想頻度を計算できますか? expectedE1 - 18 * 0.2 = 3.6 expectedE2 - 18 * 0.1 = 1.8 expectedE1 - 18 * 0.1 = 1.8 expectedE1 - …
9 r  statistical-significance  chi-squared  multivariate-analysis  exponential  joint-distribution  statistical-significance  self-study  standard-deviation  probability  normal-distribution  spss  interpretation  assumptions  cox-model  reporting  cox-model  statistical-significance  reliability  method-comparison  classification  boosting  ensemble  adaboost  confidence-interval  cross-validation  prediction  prediction-interval  regression  machine-learning  svm  regularization  regression  sampling  survey  probit  matlab  feature-selection  information-theory  mutual-information  time-series  forecasting  simulation  classification  boosting  ensemble  adaboost  normal-distribution  multivariate-analysis  covariance  gini  clustering  text-mining  distance-functions  information-retrieval  similarities  regression  logistic  stata  group-differences  r  anova  confidence-interval  repeated-measures  r  logistic  lme4-nlme  inference  fiducial  kalman-filter  classification  discriminant-analysis  linear-algebra  computing  statistical-significance  time-series  panel-data  missing-data  uncertainty  probability  multivariate-analysis  r  classification  spss  k-means  discriminant-analysis  poisson-distribution  average  r  random-forest  importance  probability  conditional-probability  distributions  standard-deviation  time-series  machine-learning  online  forecasting  r  pca  dataset  data-visualization  bayes  distributions  mathematical-statistics  degrees-of-freedom 

3
逆共分散行列の計算の数値的不安定性
21次元データの65サンプル(ここに貼り付け)があり、それから共分散行列を構築しています。C ++で計算すると、ここに共分散行列が貼り付けられます。そして、データからMATLABで計算すると(以下に示すように)、ここに共分散行列が貼り付けられます データからcovを計算するためのMatlabコード: data = csvread('path/to/data'); matlab_cov = cov(data); 共分散行列の違いがわかるように(〜e-07)、これはおそらく浮動小数点演算を使用するコンパイラーの数値の問題が原因です。 ただし、matlabによって生成された共分散行列とC ++コードによって生成された共分散行列から疑似逆共分散行列を計算すると、大きく異なる結果が得られます。私はそれらを同じ方法で計算しています: data = csvread('path/to/data'); matlab_cov = cov(data); my_cov = csvread('path/to/cov_file'); matlab_inv = pinv(matlab_cov); my_inv = pinv(my_cov); 違いが非常に大きいため、サンプル(ここに貼り付け)から65サンプルの分布までのマハラノビス距離を次のように計算しています。 (65/642)×((sample−mean)×∑−1×(sample−mean)′)(65/642)×((sample−mean)×∑−1×(sample−mean)′)(65/64^2) \times ((sample-mean)\times {\sum}^{-1} \times (sample-mean)') 異なる逆共分散行列()を使用すると、大きく異なる結果が得られます。∑−1∑−1{\sum}^{-1} (65/(64^2))*((sample-sample_mean)*my_inv*(sample-sample_mean)') ans = 1.0167e+05 (65/(64^2))*((sample-sample_mean)*matlab_inv*(sample-sample_mean)') ans = 109.9612 共分散行列の小さな(e-7)差が疑似逆行列の計算にそのような影響を与えるのは正常ですか?もしそうなら、この影響を緩和するために私は何ができますか? これに失敗すると、逆共分散を含まない、使用できる他の距離メトリックスはありますか?私はマハラノビス距離を使用します。これは、n個のサンプルについてはベータ分布に従うため、仮説検定に使用します。 事前に感謝します EDIT:以下、共分散行列を計算するためのC ++コードを追加:vector&lt;vector&lt;double&gt; &gt;貼り付けたファイルからの行の集合を表します。 Mat …

2
2変量正規分布のJensen-Shannon発散
2つの二変量正規分布とられた場合、それらの間のJensen-Shannon発散を計算しようとしています、として次のように定義されます( ここでKLDはカルバックライブラーダイバージェンスです) 、およびM = \ frac {1} {2}(P + Q)分布のパラメーター、したがってJSDに関してKLD を計算する方法を見つけました。 J S D (P ‖ Q )= 1P≡N(μp,Σp)P≡N(μp,Σp)P \equiv \mathcal{N}(\mu_p, \Sigma_p)Q≡N(μq,Σq)Q≡N(μq,Σq)Q \equiv \mathcal{N}(\mu_q, \Sigma_q)JSD(P∥Q)=12(KLD(P∥M)+KLD(Q∥M))JSD(P‖Q)=12(KLD(P‖M)+KLD(Q‖M))JSD(P\|Q) = \frac{1}{2} (KLD(P\|M)+ KLD(Q\|M))KLDKLDKLDM=12(P+Q)M=12(P+Q)M=\frac{1}{2}(P+Q)KLDKLDKLDJSDJSDJSD 私の疑問は: Mを計算するにMMMは、M≡N(12(μp+μq),12(Σp+Σq))M≡N(12(μp+μq),12(Σp+Σq))M \equiv \mathcal{N}(\frac{1}{2}(\mu_p + \mu_q), \frac{1}{2}(\Sigma_p + \Sigma_q))。これは正しいですか? [ 1 ]でJSDJSDJSDが制限されていることを読みましたが、正規分布について上記で説明したように計算すると、そのようには見えません。それは私がそれを間違って計算している、仮定に違反している、または私が理解できない何かを意味しているのですか?

3
異なる共分散の2つの2変量分布間のマハラノビス距離
質問はタイトルにかなり含まれています。異なる共分散行列の2つの分布のマハラノビス距離はどれくらいですか?これまでに見つけたものは、両方の分布に対して同じ共分散、つまり次のようなものを想定しています。 ΔTΣ−1ΔΔTΣ−1Δ\Delta^T \Sigma^{-1} \Delta 2つの異なるがある場合はどうなりΣΣ\Sigmaますか? 注:-問題はこれです。同じ次元であるが、互いに回転および平行移動する2変量分布が2つあります(申し訳ありませんが、統計的なものではなく、純粋な数学的背景に由来します)。それらの重なり具合/距離を測定する必要があります。 * 更新:* 2つの分布の平均値の間の距離が必要だということを、私が尋ねていることで暗黙的であるかどうかはわかりません。平均がどこにあるかはわかっていますが、2つの分布は互いに対して回転しているため、異なる方向に異なる重みを割り当てる必要があるため、平均間の単純なユークリッド距離では機能しません。さて、私が理解しているように、分布が異なる形の場合、マハラノビス距離を使用してこの情報を測定することはできません(明らかに、同一の共分散の2つの多変量正規分布で機能しますが、一般的なケースでは機能しません)。異なる重みで向きをエンコードするというこの願いをエンコードする良い方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.