さまざまな統計手法(回帰、PCAなど)は、サンプルのサイズと次元にどのように対応していますか?


10

サンプルサイズと次元に応じてスケーリングする方法を説明する統計手法の既知の一般的な表はありますか?たとえば、ある友人が先日、サイズnの1次元データを単純にクイックソートする計算時間はn * log(n)になると教えてくれました。

したがって、たとえば、Xがd次元の変数であるXに対してyを回帰すると、O(n ^ 2 * d)になりますか?正確なガウスマルコフ解とニュートン法による数値最小二乗法で解を求めたい場合、どのようにスケーリングしますか?または、単純に解を取得するか、有意差検定を使用するか?

私はここでの良い答えよりも良い答えの源(様々な統計的手法のスケーリングをまとめた論文のような)が欲しいと思います。たとえば、重回帰、ロジスティック回帰、PCA、Cox比例ハザード回帰、K平均クラスタリングなどのスケーリングを含むリストのように。


これは良い質問です。統計の本の多くは、高次元データの理論的な側面について述べており、計算の側面については触れていません。
シャドウトーカー2014

多くの場合、元の文献では複雑性について説明されています。しかし、理論的な複雑さは役に立たないことがよくあります。QuickSortのワーストケースはO(n ^ 2)ですが、多くの場合最も高速です-ワーストケースO(n log n)のHeapSortよりも高速です。少し調べれば、わかっている場合は、多くのアルゴリズムの複雑さの結果がわかります。例えばPCA O(NKID)などというO(ND ^ 3)であること、k平均は
終了しました- Anony-ムース

回答:


6

効率的な(そして自明ではない)統計アルゴリズムのほとんどは本質的に反復的であるためO()、最悪のケースは「収束に失敗」するため、最悪のケースの分析は無関係です。

それにもかかわらず、大量のデータがある場合、線形アルゴリズム(O(n))でさえ遅くなる可能性があるため、表記法の背後にある「隠された」定数に焦点を合わせる必要があります。たとえば、単一の変量の分散の計算は、データを2回スキャンして単純に行われます(平均の推定値を計算するために一度、分散を推定するために1回)。しかし、それは1つのパスで行うこともできます。

反復アルゴリズムの場合、より重要なのは、収束に大きな影響を与える要素であるデータ次元の関数としての収束率とパラメーター数です。多くのモデル/アルゴリズムは、変数(スプラインなど)の数に応じて指数関数的なパラメーターを増やしますが、他のモデル(アルゴリズムは、サポートベクターマシン、ランダムフォレストなど)を線形に増やします。


私がこれに同意するかどうかはわかりません。統計的問題のアルゴリズムを設計するとき、各反復ステップの複雑さに多くの関心が向けられます(通常、原稿に文書化されます)。しかし、指摘するように、反復ごとに同じ複雑さを持つ2つのアルゴリズムは、必要な反復のために非常に異なる動作をする可能性があるため、要約するのはそれほど簡単ではありません。とはいえ、必要な反復回数がを超えることは非常にまれですO(log(n) )
クリフAB

5

タイトルで回帰とPCAについて言及しましたが、それぞれに明確な答えがあります。

N> Pの場合、線形回帰の漸近的な複雑さはO(P ^ 2 * N)に減少します。ここで、Pは特徴の数、Nは観測の数です。最小二乗回帰演算の計算の複雑さの詳細。

バニラPCAはO(P ^ 2 * N + P ^ 3)であり、高次元データの最速PCAアルゴリズムと同様です。しかし、その回答で説明されている非常に大きな行列には高速アルゴリズムが存在し、膨大な数の機能に最適なPCAアルゴリズムはありますか?

しかし、私は誰もがその主題について一つの明るいレビュー、参照、または本を編集したとは思いません。私の自由時間には悪いプロジェクトではないかもしれません...


ありがとう、それはとても役に立ちます!さまざまな予測モデリング手法について文献レビューを行うと、きっと多くの参考になるでしょう。大きなnまたは大きなpの場合にどのアルゴリズムを使用するか、またはより正確な計算のためにそれらの中程度の値を使用するかを区別したい人には非常に役立ちます。より不明瞭なテクニックのいくつかがどのようにスケールするか知っていますか?(コックス比例ハザード回帰または確認因子分析のように)
ブリッジバーナー2014

残念ながらできませんが、そのレビューを行う場合は、包括的になるよう努めます。私は、少なくとも私の分野では、Cox回帰を「あいまい」と呼ぶことはほとんどありません。
シャドウトーカー2014

5

実際のシミュレーションのタイミングに基づいて、このStata Journalの記事でStataのために開発した確認因子分析パッケージに対して非常に限られた部分的な回答を与えました。確認因子分析は最尤推定手法として実装され、各次元(サンプルサイズn、変数のp数、因子の数k)で計算時間がどのように増加するかを非常に簡単に確認できました。Stataがデータについて考える方法に大きく依存しているため(行ではなく列/観測全体で計算するように最適化されています)、パフォーマンスがO(n^{0.68} (k+p)^{2.4})ここで、2.4は最速の行列反転漸近法です(そして、確認的因子分析の反復最大化には、その多くが地獄にあります)。後者については言及しませんでしたが、ウィキペディアから入手したと思います。

X'X108


2
数学フォーマットはDataScienceでは機能しませんか?本当に?それを入手するように頼むべきかもしれません。
StasK 2014

数値精度についての良い点。
シャドウトーカー2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.