Python statistics包:statsmodel和scipy.stats之间的区别

2024-05-16 04:28:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一些关于为Python选择statistics包的建议,我已经做了相当多的搜索,但不确定是否一切都正确,特别是statsmodels和scipy.stats之间的差异。

我知道的一件事是,那些具有scikits名称空间的是scipy的特定“分支”,以前是scikits.statsmodels的现在称为statsmodels。另一方面也有scipy.stats。两者的区别是什么,哪一个是Python的统计包?

谢谢。

--编辑--

我更改了标题,因为有些答案与问题没有实际联系,我想这是因为标题不够清楚。


Tags: 答案名称编辑标题stats分支空间scipy
3条回答

Statsmodels将scipy.stats作为依赖项。stats有所有的概率分布和一些统计测试。它更像是numpy和scipy中的库代码。另一方面,Statsmodels为统计模型提供了一个类似于R的公式框架,它可以与pandas数据框架一起工作。statsmodels中还有统计测试、绘图和大量帮助函数。实际上这取决于你需要什么,但你绝对不必选择。他们有不同的目标和优势。

我认为这个统计数据包是新的。如果您想使用matplotlib打印数据,它也很有用。 然而,据我所知,matplotlib还不能与Python3.x一起工作。

我尝试在日常工作中使用pandas/statsmodels/scipy,但有时这些包会有点短(黄土,有人吗?)。RPy模块的问题是(至少上次我检查过)它需要一个不是当前版本的R——我的R安装是2.16(我想),RPy需要2.14。所以要么你必须有两个R的并行安装,要么你必须降级。(如果您没有安装R,那么您可以安装正确版本的R并使用RPy。)

因此,当我需要pandas/statsmodels/scipy中没有的东西时,我编写R脚本,并使用subprocess模块运行它们。这让我尽可能少地与R交互(我真的不喜欢在其中编程),但是我仍然可以利用R拥有的Python包没有的所有东西

教训是,任何问题都不可能有一个解决方案——你必须以你理解的方式,组装一大堆对你有用的部分(也许你自己也可以写一些)来解决问题。(当然,R爱好者会不同意!)

相关问题 更多 >