Пакет статистики Python: разница между statsmodel и scipy.stats

Мне нужно несколько советов по выбору пакета статистики для Python, я сделал довольно какой-то поиск, но не уверен, что все правильно, особенно в отношении различий между statsmodels и scipy.stats.

Одна вещь, которую я знаю, это те, у которых есть пространство имен scikits, являются конкретными "ветвями" scipy, и то, что раньше было scikits.statsmodels, теперь называется statsmodels. С другой стороны, есть также scipy.stats. Каковы различия между ними, и какой из них представляет собой пакет статистики для Python?

Спасибо.

- EDIT -

Я изменил название, потому что некоторые ответы действительно не связаны с вопросом, и я полагаю, что, поскольку заголовок недостаточно ясен.

Ответ 1

У Statsmodels есть scipy.stats как зависимость. Scipy.stats имеет все распределения вероятностей и некоторые статистические тесты. Это больше похоже на библиотечный код в вене numpy и scipy. Statsmodels, с другой стороны, предоставляют статистические модели с формулой, аналогичной R, и она работает с pandas DataFrames. В статистических моделях также есть статистические тесты, построение графика и множество вспомогательных функций. На самом деле это зависит от того, что вам нужно, но вам определенно не нужно выбирать. У них разные цели и сильные стороны.

Ответ 2

Я пытаюсь использовать pandas/statsmodels/scipy для моей работы на ежедневной основе, но иногда эти пакеты немного коротки (LOESS, кто-нибудь?). Проблема с модулем RPy (последний раз я проверил, по крайней мере), что он хочет, чтобы определенная версия R не была текущей. Моя установка R - 2.16 (я думаю), а RPy - 2.14. Таким образом, либо вы должны иметь две параллельные установки R, либо вам нужно понизить. (Если у вас нет R, вы можете просто установить правильную версию R и использовать RPy.)

Поэтому, когда мне нужно что-то не в pandas/statsmodels/scipy, я пишу R-скрипты и запускаю их с помощью модуля subprocess. Это позволяет мне взаимодействовать с R как можно меньше (что мне действительно не нравится в программировании), но я все еще могу использовать все, что R имеет, что пакеты Python этого не делают.

Урок состоит в том, что нет ни одного решения какой-либо проблемы - вам нужно собрать целую кучу деталей, которые вам полезны (и, возможно, написать некоторые из ваших собственных), таким образом, чтобы вы понимать, решать проблемы. (Конечно, поклонники не согласятся!)

Ответ 3

Я думаю, что пакет статистики numpy/scipy. Он отлично работает, если вы хотите распечатать свои данные с помощью matplotlib. Однако, насколько мне известно, matplotlib еще не работает с Python 3.x.