問題タブ [mahalanobis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1905 参照

scikit-learn - Sklearn KNN + mahalanobis on python

Sklearn で関数 NearestNeighbors を使用しようとしています。これらの関数で何が起こっているかを理解するための例を書きます。

上記のコードはうまく機能し、2 番目の最近点を正しく計算できます。しかし、データセットを使用しようとすると、いくつかの間違いが発生します。データセット マトリックスは 9959 * 384 マトリックスです。以下の行列を出力し、行列 training_data を宣言します

そして、サンプルをtraining_dataに変更するだけの上記のコードにtraining_dataを使用すると、間違いがあります。

これらの質問を解決するのを手伝ってください。

0 投票する
1 に答える
928 参照

r - 観測値の各ペアのマハラノビス距離

データセットの各観測間のマハラノビス距離を計算しようとしてdatいます。各行は観測であり、各列は変数です。このような距離は次のように定義されます。

方式

それを行う関数を書きましたが、遅いように感じます。R でこれを計算するより良い方法はありますか?

関数をテストするためのデータを生成するには:

これまで書いてきた機能です。どちらも機能し、私のデータ (800 個の obs と 90 個の変数) の場合、method = "forLoop"method = "apply"でそれぞれ約 30 秒と 33 秒かかります。

NB: 使ってみouter()ましたが、さらに遅くなりました (60 秒)

0 投票する
2 に答える
148 参照

python - 不確かなポイントを持つ最近傍

2 つの 2D ポイント セットAとがありBます。Aの各点について、最初の最近傍を見つけたいと思いますB。しかし、私は不確実な点を扱っています (つまり、点には平均 (2D ベクトル) と 2*2 共分散行列があります)。

したがって、マハラノビス距離を使用したいと思いますが、scikit-learn(たとえば) では、単一の共分散行列が必要なため、各点の共分散行列を渡すことができません。

現在、平均的な位置 (つまり、2D 正規分布の平均) のみを考慮すると、次のようになります。

L2 ノルムを距離として使用する代わりに、私の不確かな点を使用して、( B 内の点と Ba内の点の間、それらのマハラノビス距離:Ab

どこC = inv(cov_a + cov_b)

ここでmu_a(それぞれmu_b) とcov_a(それぞれ ) は不確定点(cov_bそれぞれ ) の 2D 平均と 2*2 共分散行列です。ab

0 投票する
1 に答える
297 参照

vba - VBAのマハラノビス距離

VBAでマハラノビス距離を計算しようとしています。

共分散行列を計算する UDF を作成しましたが、関数を実行すると #value エラーが発生しました。

助けてもらえますか

前もって感謝します!

これは正常に動作する私の VarCovar 関数です

ここに画像の説明を入力

0 投票する
1 に答える
851 参照

python - numpyでのベクトル化(二乗)マハラノビス距離

X (nxd)、Y (mxd)、正定値 L (dxd) があります。D_ij が (X_i - Y_i) * L * (X_i - Y_i).T である D を計算したい。n と m は約 250 です。d は約 10^4 です。

を使用できますscipy.spatial.distance.cdistが、これは非常に遅いです。

この質問に対する Dougal の回答を見て、試してみました

これも非常に遅いです。

この計算をベクトル化するより効率的な方法はありますか?