スピアマンの順位相関係数計算の複雑さは何ですか?


10

スピアマンの順位相関係数を研究してきました

。ρ=Σ私(バツ私−バツ¯)(y私−y¯)Σ私(バツ私−バツ¯)2Σ私(y私−y¯)2

2つのリストおよびy 1、… 、y nの場合。アルゴリズムの複雑さは何ですか?バツ1、…、バツんy1、…、yん

アルゴリズムは減算を計算するだけなので、O (n )になることは可能ですか?んO(ん)

回答:


8

計算する必要があります

  • 2つの平均、
  • 違い、2ん
  • 加数を持つ3つの合計-一定時間で計算できます-それぞれん
  • 1つの除算、1つの乗算、および1つの平方根。

初等算術演算が一定時間で実行されると仮定すると、これらすべてが線形時間で実行できるため、合計時間は確かに可能です。ルートを計算すると、問題が発生する可能性があることに注意してください。O(ん)

スペースに関しては、いくつかのオプションがあります。

  • 平均のみ、つまり2つの数値(、Mは最大数)のみを保存します。すべての差を再計算する必要があります。つまり、合計6 nの減算を実行します。O(ログ⁡M)M6ん
  • 2ん+2O(ん⋅ログ⁡M)4ん

どちらが望ましいかは、状況によって異なります。


6

重要なステップを省略しました...ピアソン相関のための式です。スピアマンになるのは、xとyが2つの元の変数のランクであることです。このランキングステップは、スピアマン相関係数の複雑さを考慮する必要があります。基本的に、2つの変数のそれぞれをソートする必要があります。これは、選択したソートアルゴリズムによって異なり、その後、上記の計算が続きます。

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