编写科学文章的技巧

信息处理 matlab
2022-02-12 04:43:12

我必须在 Matlab 中重现科学文章的模拟。

您对编写科学文章有什么建议吗?当您必须复制科学文章的模拟时,您有什么方法?

3个回答

不幸的是,越来越多的证据表明不同领域的结果缺乏可重复性(例如另一个例子另一个例子)。

作为对此的回应,专业机构和研究团队正在发布可重复研究的指南,您可能必须在您的领域中寻找类似的东西。引用类似“......在我们的工作中,我们试图在可能的情况下采纳......[引文]发布的可重复研究指南”的内容会很棒。

其中一些如下:

当然,在这些指导方针之后,有一些项目,如开放科学框架,试图为指导方针提供实施并传播最佳实践。

虽然你可以阅读很多关于这些事情的文章,但关键是要创造这样的条件,清楚地展示你是如何得出结果的。这必须以不需要您输入的方式完成。您不必在那里解释任何事情(这也是科学论文应该涉及的内容)。

这非常强大,原因有以下三个:

  1. 显然,如果任何人对您的结果有任何疑问,他们可以简单地尝试自己重复所有内容,或者如果可能的话,只需下载一个已设置“整个实验室”的虚拟机并完成您的整个过程。

  2. 如果您犯了某种错误,很容易有人指出它,这也是证明这项研究是在进行时以最好的知识进行的一种方式。

    • 如果您犯了某种错误,而其他人发现了它,那么每个人都会赢。
  3. 如果您无法重现结果,那么您只需说“这是整个设置,这是我所有的工作流程数据,这是实验的设置方式(如果您不能直接共享数据)。我已尽力重现这些结果,但到目前为止我还没有做到这一点”。

最后一点对于您尝试做的事情可能更重要,因为有时,对于“我们的数字与 XYZ 的数字不匹配”的原因有很多挫败感。

希望这可以帮助。

繁殖是一个复杂的问题。我最近遇到了有趣的重现性基本统计问题:模型、可变性、扩展

主要因素有:

  • 作者关于可重复性前提的知识(我个人从未在我的学习中被教导过)
  • 访问数据及其预处理
  • 足够详细的算法实现
  • 算法参数确定
  • 计算能力(很难在笔记本电脑上重现超级计算机实现)
  • 性能指标
  • 错误或作弊:一些论文结果有缺陷,您无法复制它们

步骤是:

  • 检查代码和数据是否公开可用
  • 如果没有,请询​​问作者是否会分享它们
  • 如果不可能,构建您的代码,就好像您是论文的作者并想分享它一样
  • 向作者测试您的代码。这可能使他们更倾向于分享他们的
  • 与适当的参考共享它,您可以从其他人的测试中受益。

这对任何论文的读者和作者来说都是一个大问题,可以更好地验证和传播结果。

我的建议是:

  • 使用 jupyter notebooks显示所有结果。这些可用于许多不同的语言,并且可以在我知道的任何操作系统上呈现,请查看https://jupyter.org/我的策略是每个图有一个笔记本。此外,我喜欢展示图形的变体,展示论文本身不需要撅嘴的东西。这些笔记本放在一个文件夹notebooks中,例如在这篇论文或那篇论文中。

  • 将主要脚本与安装说明放在一个单独的文件夹中。通常,我会在干净且空的虚拟机上测试整个安装,以确保想要重现代码的人不会丢失任何代码或外来依赖项。

  • 为后代使用公共网络服务器上的版本控制例如,一个流行的选择是https://github.com/:这使得最广泛的社区可以访问代码(使用 git、zip、...)。此外,github 会渲染 notebook,因此如果您只需要预览,则无需运行代码,请参阅github渲染一个笔记本.

  • 宣传你的工作:推特、博客、发送电子邮件。阅读您的代码的人越多,它就越防弹。