Theil-Sen推定器を効率的に計算する方法は?


8

Theil-Sen推定量は私にとって興味深いものですが、自分で実装すると、O(n ^ 2)としてスケーリングするものになってしまいます。ウィキペディアによると、O(n log(n))で正確に計算できます。誰かが効率的な実装に私を向けることができますか(pythonまたはmathematicaが最善であり、MatlabまたはRが許容できるでしょう)、そうでなければ効率的なバージョンがどのように機能するかを簡単な言葉で説明できますか?

回答:


3

ウィキペディアによると、O(n log(n))で正確に計算できます。

ウィキペディアは、O n log n パフォーマンスのさまざまな決定論的アルゴリズムまたはランダム化アルゴリズムを詳述する6つ以上の論文を指摘しています。このセクションでは、そのようなアルゴリズムの存在に言及している(特定の状況下ではさらに高速なアルゴリズムに言及している)。Oログ

確定的:

コール、リチャード; Salowe、Jeffrey S. シュタイガー、WL; Szemerédi、Endre(1989)、勾配選択の最適時間アルゴリズム、SIAM Journal on Computing 18(4):792–810、doi:10.1137 / 0218055、MR 1004799。

Katz、Matthew J.、Sharir、Micha(1993)、エキスパンダーによる最適な勾配の選択、情報処理レター47(3):115–122、doi:10.1016 / 0020-0190(93)90234-Z、MR 1237287。

ブロンニマン、エルベ; Chazelle、Bernard(1998)、カッティングによる最適な勾配の選択、計算幾何学理論と応用10(1):23–29、doi:10.1016 / S0925-7721(97)00025-4、MR 1614381。

 

無作為化:

ディレンクール、マイケルB; マウント、デビッドM; ネタニヤフ、ネイサンS.(1992)、勾配選択のためのランダム化アルゴリズム、International Journal of Computational Geometry&Applications 2(1):1–27、doi:10.1142 / S0218195992000020、MR 1159839。

Matoušek、Jiří(1991)、勾配選択のためのランダム化最適アルゴリズム、情報処理文字39(4):183–187、doi:10.1016 / 0020-0190(91)90177-J、MR 1130747。

ヘンリック・ブランク; Vahrenhold、1月(2006)、「インプレースのランダムな勾配の選択」、アルゴリズムと複雑さに関する国際シンポジウム、コンピュータサイエンスの講義ノート3998、ベルリン:Springer-Verlag、30-41ページ、doi:10.1007 / 11758471_6、MR 2263136 。

どちらにしますか?


3
はい、私は参照が行われたときに気づく方法を知っています。ここで比較的簡単に説明できるものをお願いします。あるいは、コードを使用できるように実装されているもの。
mdeceglie 2014年

毎回少しずつ異なる答えを出すよりも、正確に計算する方法を好みます。
mdeceglie 2014年

なぜ反対票か。
COOLSerdash 2014年

3
Oログ

2
イタリア語-非常に単純なアルゴリズムはありません。それらを説明する論文はかなりの数の詳細を省いています(専門家が省略された詳細を記入できるほど十分に明白であるため)。これらすべてを説明する必要があります。最も単純なものでも、何千、何千もの単語(おそらく数万、さらには図)でカバーされていることはわかりません。私が見る限り、すべては何らかの形で計算幾何学を含みます。ランダム化されたアルゴリズムはやや単純になる傾向がありますが、それはあまり意味がありません。あなたが本当にこれを必要とするなら、あなたの最善の策は実装を探すことでしょう。
Glen_b-モニカを2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.