我们知道,百度首页的结果一定是广大人民群众最关注、最为熟知的内容。

而如此一门小众的语言,居然能盖过著名女影星,登上搜索结果第一条,可见它的火爆程度。

就此事件,记者询问了身边的程序员。程序员纷纷表示可以给记者分享珍藏在硬盘里,Julia 历年来出演的所有影片

新人学r语言好还是python好 实例对比Julia(1)

所以记者认为有必要解释一下 Julia 到底是什么:

新人学r语言好还是python好 实例对比Julia(2)

这门语言很年轻,诞生至今也不到10年,前段时间才正式进入1.0版本。

所以大家下次看到招聘要求10年Julia开发经验的,绝对不要去。

Julia,R 和 Python 谁的势力大

因为 R 语言设计的初衷就是应用在科研领域。所以这次的三方势力比拼,我们限制在数据研究领域:

新人学r语言好还是python好 实例对比Julia(3)

根据上图 KDnugget 的调查显示,2016年的时候,R 占据了 42% 的份额成为 dalao,Python 紧随其后成为 dalao 的小老弟,Julia 根本就默默无闻。

没想到短短一年时间,双方的位置就互换了。然后 Julia 还是保持了默默无闻。

可见即使在特别垂直的领域,Python 这种粘合剂语言配合强大的第三方库,也是拥有恐怖的战力。

Julia,R 和 Python 谁更狠一点?

背景介绍

就此问题,人工智能头条记者找到了戴卓嘉。他是一名拥有10年金融开发经验的数据科学家、全栈开发者、信用风险模型团队leader。并获得授权,翻译他的文章《Julia vs R vs Python: simple optimization》。戴卓嘉对三种语言的熟悉程度分别是:

新人学r语言好还是python好 实例对比Julia(4)

有人做过测试,不依赖第三方装备的情况下,在计算比10⁵更小数的时候 Python 还是要比Julia快的。从10⁵开始,Julia 的速度就比 Python 比更快还快了。

这也是为什么 Julia 的布道者 Chris Rackauckas 说,在处理10秒内就能解决的小问题时,并不能体现出 Julia 的优势。而一旦问题复杂到一定程度,Julia 的优势就体现出来了。

本次实例,尝试使用三种语言,分别去优化一个似然函数。属于比较小的优化问题,可能在性能上的差距不是很明显。但在解决问题的过程中,还是很好的体现了三者之间的优劣势。

接下来,我们就开始这段优化吧。

问题描述

指定一个观察序列 Q₁, Q₂, Q₃...Q៷,我们的目标是找出可以优化下面这个似然函数的参数μ和σ

新人学r语言好还是python好 实例对比Julia(5)

通常我们是去优化对数似然

新人学r语言好还是python好 实例对比Julia(6)

在统计学上,这是截断正态分布的最大似然估计(MLE)。

使用 Julia

利用Optim.jl对符号的支持,可以直接使用希腊字母μσ作为变量名。

新人学r语言好还是python好 实例对比Julia(7)

在下面硬编码了准备在MLE估计中使用的 Q_t 的值

新人学r语言好还是python好 实例对比Julia(8)

最终输出效果,看起来非常舒服,格式经过精心的排版,描述也经过了精心的处理。完美的支持数学公式显示。

新人学r语言好还是python好 实例对比Julia(9)

评分:

新人学r语言好还是python好 实例对比Julia(10)

使用 R

使用 truncnorm包来处理截断正态

新人学r语言好还是python好 实例对比Julia(11)

输出结果显示

新人学r语言好还是python好 实例对比Julia(12)

只能用一个词形容:简单粗暴!

评分:

新人学r语言好还是python好 实例对比Julia(13)

使用 Python

代码

新人学r语言好还是python好 实例对比Julia(14)

输出结果显示

新人学r语言好还是python好 实例对比Julia(15)

虽然比 R 是强了不少,但跟 Julia 还是没法比。而且不支持数学公式

评分

新人学r语言好还是python好 实例对比Julia(16)


最终用一个表格来总结一下此次对比结果:

新人学r语言好还是python好 实例对比Julia(17)

,