web-dev-qa-db-ja.com

Python統計パッケージ:statsmodelとscipy.statsの違い

Pythonの統計パッケージを選択するためのアドバイスが必要です。かなりの検索を行いましたが、特にstatsmodelsとscipy.statsの違いについて、すべてが正しく行われたかどうかはわかりません。

私が知っていることの1つは、scikits名前空間を持つものはscipyの特定の「ブランチ」であり、以前はscikits.statsmodelsであったものが現在statsmodelsと呼ばれていることです。一方、scipy.statsもあります。 2つの違いは何ですか?どちらがPython用のthe統計パッケージですか?

ありがとう。

-編集-

一部の回答が質問とあまり関係がないため、タイトルを変更しました。これは、タイトルが十分に明確でないためだと思います。

23
herrfz

Statsmodelsには依存関係としてscipy.statsがあります。 Scipy.statsには、すべての確率分布といくつかの統計的検定があります。それは、numpyとscipyの静脈にあるライブラリコードのようなものです。一方、Statsmodelsは、Rと同様の数式フレームワークを備えた統計モデルを提供し、pandas DataFramesで機能します。statsmodelsには、統計的検定、プロット、および多くのヘルパー関数もあります。実際には、必要なものについてですが、絶対に選択する必要はありません。目的と強みは異なります。

35
jseabold

私は日常的にパンダ/ statsmodels/scipyを仕事に使用しようとしていますが、それらのパッケージが少し不足することがあります(LOESS、誰か?)。 RPyモジュールの問題は(少なくとも最後に確認した)、最新ではない特定のバージョンのRが必要なことです---私のRのインストールは2.16(私は思う)で、RPyは2.14を望んでいました。したがって、Rを2つ並行してインストールするか、ダウングレードする必要があります。 (Rがインストールされていない場合は、正しいバージョンのRをインストールしてRPyを使用できます。)

したがって、pandas/statsmodels/scipyにないものが必要な場合は、Rスクリプトを記述し、subprocessモジュールを使用して実行します。これにより、Rとの対話をできるだけ少なくすることができますが(プログラミングは本当に好きではありません)、Rが持つPythonパッケージにはないものすべてを活用できます。

教訓は、これまでにone問題の解決策はないということです---あなたはすべてあなたに役立つ(そしておそらくあなた自身のいくつかを書く)たくさんのパーツを組み立てる必要があります問題を解決するために、あなたが理解する方法。 (もちろん、愛好家は同意しません!)

4
BenDundee