n次元の連続値ベクトルのサンプル母集団が2つ以上あるとしましょう。これらのサンプルが同じ分布からのものかどうかをテストするノンパラメトリックな方法はありますか?もしそうなら、これのためにRまたはPythonに関数がありますか?
n次元の連続値ベクトルのサンプル母集団が2つ以上あるとしましょう。これらのサンプルが同じ分布からのものかどうかをテストするノンパラメトリックな方法はありますか?もしそうなら、これのためにRまたはPythonに関数がありますか?
回答:
コルモゴロフ-スミルノフ検定が多変量ではないことに気付いたとき、多変量2サンプルテストについて多くの研究を行ったところです。そこで、カイ検定、ホテリングのT ^ 2、アンダーソンダーリング、クラマーフォンミーゼス基準、シャピロウィルクなどを見ました。これらのテストのいくつかは、同じであると比較されるベクトルに依存しているため、注意が必要です。長さ。その他は、2つのサンプル分布を比較するためではなく、正規性の仮定を拒否するためにのみ使用されます。
主要なソリューションは、2つのサンプルの累積分布関数を、数千のレコードを含むサンプルの1回の実行で数分程度で非常に計算量が多い可能性があるすべての可能な順序と比較するようです。
https://cran.r-project.org/web/packages/Peacock.test/Peacock.test.pdf
Xiaoのドキュメントにあるように、FasanoおよびFranceschiniテストはPeacockテストの変形です。
http://adsabs.harvard.edu/abs/1987MNRAS.225..155F
FasanoとFranceschiniのテストは、特に計算量を減らすことを目的としていましたが、Rでの作業の実装は見つかりませんでした。
Peacock対FasanoおよびFranceschiniテストの計算面を調査したい方は、2次元Kolmogorov–Smirnovテストの計算効率の良いアルゴリズムをご覧ください。
はい、2つの多変量サンプルが同じ結合分布からのものであるかどうかをテストするノンパラメトリックな方法があります。Lフィッシュマンが言及したものを除く詳細について言及します。あなたが求めている基本的な問題は「2つのサンプルの問題」と呼ぶことができ、現在、機械学習研究ジャーナルや統計統計学などのジャーナルでかなりの量の研究が行われています。この問題について少し知識があれば、次のように指示を出すことができます
さまざまなポイントセット(サンプルセット)を参照ポイントセットと比較して、それらが参照ポイントセットにどれだけ近いかを確認する場合は、f-divergenceを使用できます。
アプローチする方法は他にもあるかもしれませんが、この答えはあなたの質問の包括的な扱いではありません;)