科学规划中的可重复性

2024-05-09

除了产生不正确的结果之外,科学编程中最令人担忧的事情之一就是无法重现生成的结果。哪些最佳实践有助于确保您的分析具有可重复性?


  • 在线发布原始原始数据并免费提供下载。
  • 使代码库开源并可在线下载。
  • 如果在优化中使用随机化,则重复优化多次,选择结果的最佳值或使用固定的随机种子,以便重复相同的结果。
  • 在执行分析之前,您应该将数据分为“训练/分析”数据集和“测试/验证”数据集。对“训练”数据集进行分析,并确保您获得的结果仍然适用于“验证”数据集,以确保您的分析实际上是可概括的,而不是简单地记住相关数据集的特殊性。

前两点非常重要,因为提供数据集可以让其他人对相同的数据执行自己的分析,这会增加您对自己分析的有效性的信心。此外,使数据集在线可用 - 特别是如果您使用链接数据格式 - 使得爬虫可以将您的数据集与其他数据集聚合,从而能够使用更大的数据集进行分析......在许多类型的研究中,样本大小有时太小而无法对结果充满信心......但是共享数据集可以构建非常大的数据集。或者,有人可以使用您的数据集来验证他们对其他数据集执行的分析。

此外,使您的代码开源可以让您的同行审查代码和过程。通常,此类审查会导致缺陷的发现或额外优化和改进的可能性。最重要的是,它允许其他研究人员改进您的方法,而不必从头开始实施您已经完成的所有操作。当研究可以专注于改进而不是重新发明轮子时,它会极大地加快研究的步伐。

至于随机化......许多算法依赖随机化来实现其结果。随机方法和蒙特卡罗方法非常常见,虽然它们已被证明在某些情况下是收敛的,但仍然有可能得到不同的结果。确保获得相同结果的方法是在代码中创建一个循环,该循环调用计算固定次数,并选择最佳结果。如果您使用足够多的重复,您可以期望找到全局或接近全局的最优值,而不是陷入局部最优值。另一种可能性是使用预定的种子,尽管恕我直言,这不是一个好的方法,因为您可以选择一个导致您陷入局部最优的种子。此外,无法保证不同平台上的随机数生成器将为该种子值生成相同的结果。

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

科学规划中的可重复性 的相关文章

  • 绘制对数分类网络度分布

    我经常遇到并从复杂网络中制作长尾度分布 直方图 如下图所示 从许多观察来看 它们使这些尾巴的末端很重 非常重和拥挤 然而 我读过的许多出版物都有更清晰的度分布 在分布末尾没有这种聚集 并且观察结果的间隔更均匀 如何使用以下方法制作这样的图表
  • 使用scipy高斯核密度估计计算CDF逆

    The gaussian kde函数于scipy stats有一个功能evaluate可以返回输入点的 PDF 值 我正在尝试使用gaussian kde估计逆 CDF 其动机是生成一些输入数据的蒙特卡罗实现 这些数据的统计分布是使用 KD
  • 在 cython 中生成高斯随机数的最有效和可移植的方法是什么?

    我正在编写一个 cython 应用程序 我需要在紧密的嵌套循环中动态生成高斯随机变量 我希望在不引入任何额外依赖项 例如 GSL 的情况下执行此操作 对于我目前能够做到这一点的最小版本均匀随机即时数字 from libc stdlib ci
  • 在相同长度的一维 numpy 数组上评估一维函数数组的高效算法

    我有一个 大 长度为 N 的 k 个不同函数的数组 以及一个长度为 N 的横坐标数组 我想评估横坐标处的函数以返回一个长度为 N 的纵坐标数组 最重要的是 我需要非常快地完成它 我尝试了以下循环来调用 np where 这太慢了 创建一些假
  • 高效构建FEM/FVM矩阵

    这是 FEM FVM 方程系统的典型用例 因此可能会引起更广泛的兴趣 从三角形网格 la 我想创建一个scipy sparse csr matrix 矩阵行 列表示网格节点处的值 该矩阵在主对角线上以及两个节点通过边连接的地方都有条目 这是
  • 在科学环境中进行编程实践? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 背景 去年 我在一所大学的物理研究小组实习 在这个组中 我们主要使用的是LabVIEW http en wikipedia org w
  • python scipy/numpy 中的多项式 pmf

    scipy numpy 中是否有内置函数用于获取多项式的 PMF 我不确定是否binom以正确的方式概括 例如 Attempt to define multinomial with n 10 p 0 1 0 1 0 8 rv scipy s
  • 使用 scipy、numpy、python 等进行 sigmoidal 回归

    我有两个变量 x 和 y 它们彼此之间存在某种 S 型关系 并且我需要找到某种预测方程 使我能够在给定 x 的任何值的情况下预测 y 的值 我的预测方程需要显示两个变量之间的 S 形关系 因此 我不能满足于产生一条直线的线性回归方程 我需要
  • python中物理量的命名

    我想为我的模拟代码中使用的物理 数学量建立一个良好的命名方案 考虑以下示例 from math import class GaussianBeamIntensity object Optical intensity profile of a
  • 辛积分器帮助

    我正在尝试开发物理模拟 并且想要实现四阶辛积分 http en wikipedia org wiki Symplectic integration方法 问题是我的数学一定是错误的 因为使用辛积分器时我的模拟根本不起作用 与模拟效果相当好的四
  • Scipy的solve_ivp函数的文档中字母k是什么意思?

    Solve ivp 是 Scipy 中的初始值问题求解器函数 简单来说 scipy integrate solve ivp 乐趣 t span y0 方法 RK45 t eval 无 dense output False 事件 无 向量化
  • Python(scikit learn)lda 崩溃为单一维度

    总的来说 我对 scikit learn 和机器学习非常陌生 I am currently designing a SVM to predict if a specific amino acid sequence will be cut b
  • 使用 C 编译器选项捕获浮点异常 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 Gfortran有得心应手的 ffpe trap编译器选项 但没有类似的选项可用gcc 我隐约意识到他们处理异常的方式不同 但不足以知道为什
  • 将大型 NumPy 数组写入文件的有效方法

    我目前有一个在 PiCloud 上运行的项目 其中涉及 ODE 求解器的多次迭代 每次迭代都会生成一个约 30 行和 1500 列的 NumPy 数组 每次迭代都会附加到先前结果数组的底部 通常 我只是让函数返回这些相当大的数组 将它们保存
  • JavaScript 和科学处理? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Matlab R 和 Python 功能强大 但对于我想做的一些数据挖掘工作来说要么成本高昂 要么速度缓慢 我正在考虑使用 Javascript
  • 有哪些 MATLAB 能做而 R 不能做的事情? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • scipy ode 将函数集内的 set_f_params 更新为 set_solout

    将 ode 与 scipy 集成时 ode 接受参数多于 t 和 y 的函数 例如 def fun t y param1 param2 这些参数的值可以使用设置set f params method 然而 当同时使用set solout方法
  • HDF5 存储开销

    我正在将大量小数据集写入 HDF5 文件 生成的文件大小约为我所输入数据的简单制表所期望的文件大小的 10 倍 我的数据按层次结构组织如下 group 0 gt subgroup 0 gt dataset dimensions 100 x
  • 什么是适用于 .net (C#) 的优秀免费(开源)BLAS/LAPACK 库? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个用 C 编写的项目 需要对矩阵进行各种线性代数运算 例如 LU 分解 由于该程序主要是为了证实
  • 科学规划中的可重复性

    除了产生不正确的结果之外 科学编程中最令人担忧的事情之一就是无法重现生成的结果 哪些最佳实践有助于确保您的分析具有可重复性 在线发布原始原始数据并免费提供下载 使代码库开源并可在线下载 如果在优化中使用随机化 则重复优化多次 选择结果的最佳

随机推荐

  • UITableView 自动调整行大小约束在 iPhone 6Plus 上神秘破坏

    我有一个自定义的 UITableViewCell 它有一个缩略图和一堆文本 行高配置为使用自动计算 tableView estimatedRowHeight 129 tableView rowHeight UITableViewAutoma
  • 为 ggplot 定义新的尺度轴变换

    我正在尝试创建一个squared使用 y 轴变换scales trans new但遇到错误 MWE data data frame x 1 10 y runif 10 z rnorm 10 10 library ggplot2 ggplot
  • 获取 Google Cloud 服务帐户的开发者密钥

    我已经启用了XML API https cloud google com storage docs interoperability并分配了一些开发者密钥 https cloud google com storage docs migrat
  • 为什么某些 Web.config 转换标记化为 SetParameters.xml,而其他则不然?

    我最近在 VS2010 中使用配置转换相当多 但我很困惑为什么有些转换直接应用于包中的 Web config 而其他转换则针对 SetParameters xml 中的令牌存储 然后在发布时应用 例如 采用具有以下连接字符串和应用程序设置的
  • JQuery 表单提交不发送帖子

    我在使用 JQuery 提交表单时遇到问题 当按下提交按钮时 表单会正确提交 但是当我尝试使用时 somebutton click function form myForm submit 我还尝试从 Chrome 控制台调用表单提交 表单未
  • 如何让你的精灵在pygame中跳跃

    目前我已经制作了一个平台游戏 可以左右移动我的角色 他从地上开始 关于如何让他跳的任何想法 因为我不明白 目前 如果我按住向上键 我的玩家精灵将连续向上移动 或者如果我按下它 我的玩家精灵将向上移动并保持向上 我想找个办法远离他 让我重新跌
  • iOS:启动图像多语言

    我有一个多语言应用程序 我的问题是启动图像 根据设备的语言使用启动图像的方法是什么 有什么东西在info plist file 解决方案是像项目中的任何其他资源一样本地化 Default png 从 Xcode 的项目列表中选择 Defau
  • 如何在SpringBootTest中向Autowired testRestTemplate添加基本身份验证;春季启动 1.4

    我在 Spring Boot 1 4 之前的 OAuth 集成测试如下 更新只是为了不使用已弃用的功能 RunWith SpringRunner class SpringBootTest classes ApplicationConfigu
  • 如何正确使用Google Calendar API Events.Insert命令?

    所以我一直使用REST方法来调用Google的API 我需要将事件插入到我拥有 ID 的特定日历中 这是我发送的 POST 请求 地址 https www googleapis com calendar v3 calendars https
  • jQuery 查找 id 以total 开头的所有li

    我有以下内容 但只想循环 lines 中 id 以total 开头的行 lines li each function 有任何想法吗 Lee lines li id total each function
  • 如何检查 Gmail 标签是否有嵌套子标签?

    使用Google Apps脚本 是否有一个功能可以检查Gmail标签是否有嵌套子标签 如果标签有一个或多个子标签 我想将它们从代码序列中排除 没有直接的方法可以从 父 标签获取标签 但是使用简单的方法来获取标签非常简单getUserLabe
  • 我可以将日历事件与 Microsoft Graph API 同步吗?

    我正在使用 Microsoft Graph api 尝试从 Outlook 同步日历事件 我在看本文 https msdn microsoft com en us office office365 api calendar rest ope
  • 是否可以开发一个可以跟踪其他应用程序使用情况的应用程序?

    我很想知道是否有可能为 iOS 开发一款类似的应用程序 就像本周刚刚发布的 Android 版应用程序一样 https play google com store apps details id com appuccino Frequenc
  • 如何从 SonarQube api 获取超过 500 个问题

    我在 java 工具中使用 SonarQube API 来处理问题并向其添加注释 更改问题状态 例如不会修复 api issues search 功能的页面大小限制为最多 500 个 我有超过 500 个问题 需要阅读此内容 我想过执行多个
  • 双击事件 - 多个范围

    我正在寻找为双击事件在多个范围内进行编码的最佳方法 Private Sub Worksheet BeforeDoubleClick ByVal Target As Range Cancel As Boolean If Not Interse
  • 如何为背景图像添加内边距

    我有一个LinearLayout其中有一个背景图像 一个 9 修补的 png 文件 如何向左和右添加填充 以使背景图像不占据整个宽度 我努力了android paddingLeft and android paddingRight 但这并没
  • vue:转义并渲染 HTML 字符串?

    我正在尝试在模板中渲染一些 HTML 字符串 但我希望它们是字符串 我不想渲染 富文本 我开始于
  • g++ C++0x 枚举类编译器警告

    我一直在将可怕的 C 类型安全伪枚举重构为新的 C 0x 类型安全枚举 因为它们是way更具可读性 不管怎样 我在导出的类中使用它们 所以我明确地将它们标记为导出 enum class attribute visibility defaul
  • 如何使用 SVN/Tortoise 从 Google Code 下载代码?

    我刚刚看到一个非常酷的 WPF Twitter 客户端 我认为它是由 Herding Code 播客开发的畜牧法 http www herdingcode com called Witty http code google com p wi
  • 科学规划中的可重复性

    除了产生不正确的结果之外 科学编程中最令人担忧的事情之一就是无法重现生成的结果 哪些最佳实践有助于确保您的分析具有可重复性 在线发布原始原始数据并免费提供下载 使代码库开源并可在线下载 如果在优化中使用随机化 则重复优化多次 选择结果的最佳