何时使用 numpy 与统计模块

2024-03-26

在使用一些统计分析工具时,我发现至少有 3 种 Python 方法可以计算平均值和标准差(不包括“自己动手”技术):

  • np.mean(), np.std()(ddof=0 或 1)
  • statistics.mean(), statistics.pstdev()(和/或statistics.stdev)
  • scipy.statistics package

这让我摸不着头脑。应该有一种明显的方法可以做到这一点,对吗?:-) 我发现了一些较旧的帖子。一、性能优势对比np.mean() vs statistics.mean()。它还强调了求和运算符的差异。那篇文章在这里:为什么统计数据这么慢 https://stackoverflow.com/questions/37533666

我正在与numpy数组数据,并且我的值落在一个小范围内(-1.0到1.0,或0.0到10.0),所以numpy函数似乎是我的应用程序的明显答案。对于我将要处理的数据,它们在速度、准确性和易于实施性方面取得了良好的平衡。

看来statistics模块主要适用于那些具有列表(或其他形式)数据或广泛变化范围的数据的模块[1e+5, 1.0, 1e-5]。这仍然是一个公平的说法吗?有没有numpy解决求和运算符差异的增强功能?最近的发展是否带来了其他优势?

数值算法通常有积极和消极的方面:有些更快,或更准确,或者需要更小的内存占用。当面临 3-4 种计算方法的选择时,开发人员的责任是为他/她的应用程序选择“最佳”方法。一般来说,这是竞争优先级和资源之间的平衡行为。

我的目的是征求具有统计分析经验的程序员的回复,以深入了解上述方法(或其他/更好的方法)的优点和缺点。 [我对没有事实支持的猜测或观点不感兴趣。] 我会根据我的设计需求自己做出决定。


为什么 NumPy 重复 SciPy 的功能?

来自 SciPy 常见问题解答NumPy 和 SciPy 有什么区别? https://www.scipy.org/scipylib/faq.html#what-is-the-difference-between-numpy-and-scipy:

在理想的情况下,NumPy 除了数组数据类型和最基本的操作之外什么都不包含:索引、排序、整形、基本元素函数等。所有数字代码都将驻留在 SciPy 中。然而,NumPy 的重要目标之一是兼容性,因此 NumPy 尝试保留其前身支持的所有功能。

它建议使用 SciPy 而不是 NumPy:

无论如何,SciPy 包含功能更齐全的线性代数模块版本,以及许多其他数值算法。如果您使用 Python 进行科学计算,您可能应该同时安装 NumPy 和 SciPy。大多数新功能属于 SciPy 而不是 NumPy。

我什么时候应该使用统计库?

来自统计库文档 https://docs.python.org/3/library/statistics.html:

该模块无意成为第三方库(例如 NumPy、SciPy)或针对专业统计学家(例如 Minitab、SAS 和 Matlab)的专有全功能统计包的竞争对手。它针对的是图形和科学计算器的水平。

因此,我不会将它用于严肃的(即资源密集型)计算。

statsmodels 和 SciPy 之间有什么区别?

来自统计模型关于页面 https://www.statsmodels.org/stable/about.html:

scipy.stats 的 models 模块最初由 Jonathan Taylor 编写。有一段时间它是 scipy 的一部分,但后来被删除。在 Google Summer of Code 2009 期间,statsmodels 得到了纠正、测试、改进并作为新包发布。此后,statsmodels 开发团队不断添加新模型、绘图工具和统计方法。

因此,您可能有 SciPy 无法满足的要求,或者专用库可以更好地满足您的要求。 例如 SciPy 文档scipy.stats.probplot https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.probplot.html注意到

Statsmodels 具有更广泛的此类功能,请参阅statsmodels.api.ProbPlot.

因此,在这种情况下,您将需要求助于 SciPy 之外的统计库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时使用 numpy 与统计模块 的相关文章

随机推荐

  • Django 多列唯一约束批量插入

    假设我们有一个模型 from django db import models class Concept models Model a models CharField max length 255 b models CharField m
  • 应该以什么顺序向绝对初学者解释 Python 概念? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过移动网络的 HTTP/2 浏览器请求一次往返有多少字节?

    我正在开发一个网站 目标是尽可能快 这个目标需要让移动客户端发出初始 HTTP 请求one往返 HTTP 2 的 HPACK 应该处理同一页面的后续请求 传统观点认为 14 KB 的压缩文件response与您对网页第一次往返的预期一样多
  • 了解涉及用户定义转换的重载解析排名

    我试图理解过载解析 首先让我们考虑第一种情况 struct int1 int val operator int return val operator const int const return val void f int f 1 vo
  • 我可以在 onExit 中停止到下一个状态的转换吗?

    我有两个状态 A和B 当我通过单击关闭按钮退出状态 A 时 我使用 state go 转换到屏幕 A 到状态 B 屏幕 B 当我通过单击屏幕 A 上的后退浏览器按钮退出状态 A 时 随着浏览器 URL 的更改 我会转换到状态 B 屏幕 B
  • Concourse 将文件添加到 docker 镜像一次

    我正在使用 concourse 作为我们的构建系统 Concourse 会缓存 docker 镜像 这样我们就不需要在后续运行中每次都经历下载过程 我想将一个二进制文件添加到将从互联网提取的 docker 映像中 但我只想在第一次由 con
  • 以编程方式向表情符号添加肤色修改器

    我在向应用程序中的表情符号添加肤色修改器时遇到一些问题 例如 如果我使用 let text 打印出来了 但是 对于其他表情符号则不起作用 例如 let text 打印 向表情符号添加肤色修改器的正确方法是什么 仅当前面的字符是纯表情符号字符
  • 命名空间“UnityEngine”中不存在类型或命名空间名称“UI”

    我正在为初学者做一个小课程Unity 3D here https learn unity com project john lemon s haunted jaunt 3d beginner 从统一资产商店导入所有资产后 如课程中所述 我收
  • Azure 逻辑应用程序,解析 JSON,但可能为 null

    我想根据以下类解析 json public class DerModel public string Name get set public string Email get set public class DriverPositiveR
  • 通过单击行获取 HTML 表格单元格值

    如何获取 HTML 表格中的 TD 值 i e ID cell 1 cell 2 1 aaaa a2a2a2 2 bbbb b2b2b2 3 cccc c2c2c2 所以现在如果我单击单元格值 bbbb 我想获取所选行的所有值 id 2 c
  • SFINAE 模板专业化优先级

    include
  • 在 Bootstrap 3 模式中使用 jQuery DatePicker

    我想用jQuery UI 日期选择器在模态中 真正的问题是 如果我还想显示年份和月份 它会显示空选择 使用firebug 选项标签似乎位于模态下 这是我的 HTML div class modal dialog div class moda
  • iPhone UIActionSheet 自动旋转不起作用

    我读了很多相关内容 人们说 当其父级未设置为自动旋转时 它不会自动旋转 我尝试了一切但没有运气 我创建了基于视图的应用程序 v4 2 并带有一个执行此操作的按钮 UIActionSheet actionSheet UIActionSheet
  • 使用 BeautifulSoup 和 Requests 抓取多个分页链接

    Python 初学者在这里 我正在尝试从以下位置抓取所有产品dabs com 上的一个类别 http www dabs com category computing 11001 我已经设法抓取给定页面上的所有产品 但在迭代所有分页链接时遇到
  • 如何从 TreeExplainer 获取 shap_values 的特征名称?

    我正在做一个 shap 教程 并尝试获取数据集中每个人的 shap 值 from sklearn model selection import train test split import xgboost import shap impo
  • Hadoop 2.2.0 配置弃用

    我设置了 Hadoop 2 2 0 集群 现在运行我的 java 客户端来处理数据 运行我的 java 程序后 我注意到输出显示如下 13 11 18 11 44 44 INFO Configuration deprecation user
  • 理解“排序!”块

    现在我有一个数组 letter a b c a b c a b b 有人可以解释一下以下返回值吗 letter sort x letter count x gt b b a c c a b b a 当你定义一个sort or sort 阻止
  • 如何自定义 Flask admin QuerySelectMultipleField 选择?

    我在用flask admin允许管理员用户访问数据库 其中呈现一对多关系 编辑条目时 我希望下拉菜单仅显示满足条件的选项 我虽然query factory可以做到这一点 以下是我现在拥有的最小示例 class OneSideObj db M
  • 如何在L2E或EF中使用外键?

    我有一个User表有一个PrivilegeId外键指向aPrivilege表 并且是那里的主键 在Entity Framework中 VS不会生成PrivilegeId下的变量User为你 它将生成一个Privilege财产和Privile
  • 何时使用 numpy 与统计模块

    在使用一些统计分析工具时 我发现至少有 3 种 Python 方法可以计算平均值和标准差 不包括 自己动手 技术 np mean np std ddof 0 或 1 statistics mean statistics pstdev 和 或