为什么 numpy std() 给出的结果与 matlab std() 不同?

2023-12-03

我尝试将 matlab 代码转换为 numpy 并发现 numpy 与 std 函数有不同的结果。

在Matlab中

std([1,3,4,6])
ans =  2.0817

in numpy

np.std([1,3,4,6])
1.8027756377319946

这是正常的吗?我应该如何处理这个问题?


NumPy 函数np.std采用可选参数ddof:“自由度增量”。默认情况下,这是0。将其设置为1获取 MATLAB 结果:

>>> np.std([1,3,4,6], ddof=1)
2.0816659994661326

为了添加更多背景信息,在计算方差(其中标准差是平方根)时,我们通常除以我们拥有的值的数量。

但如果我们随机选择一个样本N来自较大分布的元素并计算方差,除以N可能会导致低估实际方差。为了解决这个问题,我们可以降低除以的数字(自由度) 为小于N(通常N-1). The ddof参数允许我们按指定的量更改除数。

除非另有说明,NumPy 将计算biased方差估计量 (ddof=0,除以N)。如果您正在处理整个分布(而不是从较大分布中随机选取的值的子集),这就是您想要的。如果ddof给定参数,NumPy 除以N - ddof反而。

MATLAB 的默认行为std是通过除以来纠正样本方差的偏差N-1。这消除了标准差中的部分(但可能不是全部)偏差。如果您在较大分布的随机样本上使用该函数,这可能就是您想要的。

@hbaderts 的精彩回答给出了进一步的数学细节。

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

为什么 numpy std() 给出的结果与 matlab std() 不同? 的相关文章

  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 如何在不丢失注释和格式的情况下更新 YAML 文件 / Python 中的 YAML 自动重构

    我想在 Python 中更新 YAML 文件值 而不丢失 Python 中的格式和注释 例如我想改造 YAML 文件 value 456 nice value to value 6 nice value 界面类似于 y yaml load
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • 如何将数据传递给 MATLAB oncleanup 函数?

    我有一个编译好的 matlab 程序 可以自动调整机器参数 在调整周期结束时 我需要恢复一些原始设置 有时会发生意外错误 有时用户会发现调整算法未正常工作 因此应终止 使用 control C 如果发生可预测的错误 我可以使用 try ca
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 将 Python 中的日期与日期时间进行比较

    所以我有一个日期列表 datetime date 2013 7 9 datetime date 2013 7 12 datetime date 2013 7 15 datetime date 2013 7 18 datetime date
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 打开文件对话框以获取 FTP 位置

    当用户浏览 ftp 位置时 我遇到打开文件对话问题 我从 openFileDialogue 获得的路径是本地路径 本地设置临时文件夹 而不是我选择的实际 ftp 路径 如何获取实际的 ftp 路径 您正在哪个版本的 Windows 上运行
  • 获取状态消息的隐私设置?

    有谁知道是否可以查询隐私设置以获取状态更新 我知道您可以将它们用于相册 但对于我的应用程序来说 能够提取不久前的随机状态消息并说 您与所有人分享了这篇文章 您今天还会这样做吗 会很有用 看看人们对在线分享的态度如何变化 我不追求任何花哨的东
  • 如何使用“cp”命令排除特定目录?

    我想复制目录中的所有文件 除了特定子目录中的某些文件 我注意到cp命令没有 exclude选项 那么 我怎样才能实现这一目标呢 rsync快速且简单 rsync av progress sourcefolder destinationfol
  • 更改 observable 但不通知 knockout.js 中的订阅者

    有没有办法忽略可观察值变化的订阅者 我想更改可观察值的值 但不使用 Knockout js 为订阅者执行它 通常这是不可能或不可取的 因为它可能会导致依赖链中的事物不同步 使用限制扩展器通常是限制依赖项接收的通知量的好方法 但是 如果您确实
  • 在完成前一个 AJAX 请求之前中止新的 AJAX 请求

    我有一个函数 可以在输入更改时运行 AJAX 调用 但是 在之前的 ajax 调用完成之前 该函数有可能会再次被触发 我的问题是 如何在开始新的 AJAX 调用之前中止之前的 AJAX 调用 不使用全局变量 参见类似问题的回答here JS
  • 为什么克隆时不执行构造函数[重复]

    这个问题在这里已经有答案了 Animal animal new Animal 101 Constructor is executed Animal clone Animal animal clone Constructor is not e
  • 将浮点数与零进行比较

    C 常见问题解答精简版 29 17 为什么我的浮点比较不起作用 推荐这个平等测试 include
  • 使用 Visual Studio 的调试器查看动态分配的空终止字符串

    有没有办法更改 Visual Studio 调试器的默认行为 以便将鼠标悬停在以 null 结尾的动态分配的字符数组 C 上时 它将显示字符串的完整内容 而不仅仅是第一个字符 我应该提到我正在使用 Visual Studio 2010 如果
  • .NET 中的 SQL 注入

    大家好 我想知道是否有人知道一些详细介绍 NET Web 应用程序 SQL 注入预防的好网站 任何资源都将得到极大的利用 谢谢 我认为 如果您在 google 上搜索一下 防止 NET 中的 sql 注入 您会发现很多好的资源 无论如何 一
  • 堆栈宽度始终与 CPU 寄存器大小相同吗?

    例如 对于8位CPU 堆栈大小预计为8位宽 而16位CPU vs 16位堆栈宽度 以及32位 64位CPU等 对于所有架构都是如此吗 CPU有数据总线和地址总线 它们可以具有相同的宽度 但通常不是 堆栈指针是指向内存的指针 因此它通常与地址
  • 消息“安全点期间合并操作”的含义

    java 应用程序使用以下标志运行 XX PrintSafepointStatistics 然后 在标准输出控制台上生成以下行 2 个虚拟机操作在安全点期间合并 有人愿意解释一下这是什么意思吗 更一般地说 是否有 Java 参考手册详细介绍
  • 将 http:// 添加到所有不带协议的链接

    我使用 VB NET 并且想添加http 指向所有尚未以 http https ftp 等开头的链接 I want to add http here a href target self Google a but not here a hr
  • 尝试理解 ASP.NET 和 HttpClient() 的“常见”异步死锁

    在遇到 常见 异步死锁并进一步了解之后异步最佳实践我尝试在 ASP NET 中模拟这个问题 试图找出为什么我们以前从未遇到过这个问题 看起来的区别在于 我们之前使用的是 http 客户端获取异步方法 但这并没有引起问题 public cla
  • 支持使用 AVCaptureSession 后台录制视频

    我正在尝试在后台录制视频 但目前当应用程序进入后台时 我的代码正在前台录制视频 void captureOutput AVCaptureFileOutput captureOutput didFinishRecordingToOutputF
  • Python:在 for 循环中访问迭代器对象

    我想在循环内显式地步进循环迭代器 有没有比以下 更好 的方法来做到这一点 idx iter range 0 10 for i in idx print i if i 5 print consuming i in step i next id
  • 操作现有的 CSV 文件,同时保持列顺序。 (CsvReader/CsvWriter)

    我需要通过以下操作操作现有的 CSV 文件 从现有 CSV 文件读取 gt 然后向其追加新行 我有以下代码 该代码在第三行中令人窒息 因为该文件已被第一行中的代码使用 我不知道如何正确阅读它 然后向其添加新行 public bool Sav
  • 阻止 WordPress 将脚本包含在 CDATA 中

    我正在使用 WordPress 的 HTML 导入插件导入 HTML 页面 我有一个谷歌地图的代码片段 它是导入的 但是 导入后 它会包含script tag in CDATA 如果我删除 CDATA 地图就可以正常工作 如何阻止 Word
  • powercfg 电池报告的 GUI

    我正在尝试为 powercfg 电池报告创建一个 GUI 我已经写了下面的内容 但似乎不起作用 有人可以帮忙吗 Thanks private void button1 Click object sender EventArgs e var
  • Web 浏览器控制:禁用跨站 XSS 过滤或其他在 HTML 上完整处理 JS 的方法

    我正在尝试使用我的网络浏览器控件从特定页面获取日期 包括所有子页面内容 问题是某些子页面位于单独的域上 因此当我尝试访问框架 通过 document windows frames i document 时 我收到权限设计错误 现在我明白了发
  • 为什么 numpy std() 给出的结果与 matlab std() 不同?

    我尝试将 matlab 代码转换为 numpy 并发现 numpy 与 std 函数有不同的结果 在Matlab中 std 1 3 4 6 ans 2 0817 in numpy np std 1 3 4 6 1 8027756377319