COS访谈第21期~史建军:饱学致用育桃李,锦袍换酒傲江湖

史建军老师是工业工程领域的知名教授和学术带头人,现任佐治亚理工学院(Georgia Institute of Technology,后文简称Georgia Tech)工业工程系(后文简称IE,该系在美国连续28年专业排名第一)冠名教授,同时兼任机械工程系教授。史老师开创了系统信息学和控制(system informatics and control)这一新的博士研究培养方向,是美国工业工程学会(IIE)会士,美国机械工程学会(ASME)会士,运筹学和管理科学学会(INFORMS)会士,国际统计学会(ISI)会士,国际质量研究院(IAQ)院士,也是美国INFORMS的质量统计与可靠性分会的founding Chair,曾获得 the IIE Albert G. Holzman Distinguished Educator Award 等重要奖项。他是多个国际期刊的编委,包括主编管理工程国际顶尖期刊“IIE Transactions”的 Quality and Reliability Engineering 子刊等。史建军教授是使用系统控制和多元统计相结合研究多工位误差建模与分析理论的创始人。他培养的博士生已经有二十几位在国际一流大学任教,其中有7名获得美国自然科学基金委NSF Career奖,1名获得美国总统奖,多名学生在工业公司担任副总或资深管理人员。史老师一直与工业界紧密合作,他的研究小组中开发出的技术已经应用到各种生产系统并带来重大的经济效益,被广泛用在了汽车组装、飞机制造、钢铁冶炼等诸多领域。史老师也是国内多处高校的客座教授,是中科院质量研究中心的创始人之一和海外主任,也是北京大学工业工程系的访问首席教授。jianjun

本访谈既学术又八卦,由黄帅、常象宇、魏太云执行并撰写。出于读者阅读习惯的考虑,我们将一些英文翻译成了中文,并且做了相应的中文写作处理。如果由于我们的失误造成一些误解,还请各位读者多多谅解。

  继续阅读COS访谈第21期~史建军:饱学致用育桃李,锦袍换酒傲江湖

标准正态分布函数的快速计算方法

标准正态分布的分布函数 $\Phi(x)$ 可以说是统计计算中非常重要的一个函数,基本上有正态分布的地方都或多或少会用上它。在一些特定的问题中,我们需要大量多次地计算这个函数的取值,比如我经常需要算正态分布与另一个随机变量之和的分布,这时候就需要用到数值积分,而被积函数就包含 $\Phi(x)$。如果 $Z\sim N(0,1), X\sim f(x)$,$f$ 是 $X$ 的密度函数,那么 $Z+X$ 的分布函数就是

$$P(Z+X\le t)=\int_{-\infty}^{+\infty} \Phi(t-x)f(x)\mathrm{d}x$$

我们知道,$\Phi(x)$ 没有简单的显式表达式,所以它需要用一定的数值方法进行计算。在大部分的科学计算软件中,计算的精度往往是第一位的,因此其算法一般会比较复杂。当这个函数需要被计算成千上万次的时候,速度可能就成为了一个瓶颈。

当然有问题就会有对策,一种常见的做法是略微放弃一些精度,以换取更简单的计算。在大部分实际应用中,一个合理的误差大小,例如 $10^{-7}$,一般就足够了。在这篇文章中,给大家介绍两种简单的方法,它们都比R中自带的 pnorm() 更快,且误差都控制在 $10^{-7}$ 的级别。

第一种办法来自于经典参考书 Abramowitz and Stegun: Handbook of Mathematical Functions
公式 26.2.17。其基本思想是把 $\Phi(x)$ 表达成正态密度函数 $\phi(x)$ 和一个有理函数的乘积。这种办法可以保证误差小于 $7.5\times 10^{-8}$,一段C++实现可以在这里找到。(代码中的常数与书中的略有区别,是因为代码是针对误差函数 $\mathrm{erf}(x)$ 编写的,它与 $\Phi(x)$ 相差一些常数)

我们来对比一下这种方法与R中 pnorm() 的速度,并验证其精度。

library(Rcpp)
sourceCpp("test_as26217.cpp")

x = seq(-6, 6, by = 1e-6)
system.time(y < - pnorm(x))
## user  system elapsed
## 1.049   0.000   1.048
system.time(asy <- r_as26217ncdf(x))
## user  system elapsed
## 0.293   0.019   0.311
max(abs(y - asy))
## [1] 6.968772e-08

可以看出,A&S 26.2.17 的速度大约是 pnorm() 的三倍,且误差也在预定的范围里,是对计算效率的一次巨大提升。

那么还有没有可能更快呢?答案是肯定的,而且你其实已经多次使用过这种方法了。怎么,不相信?看看下面这张图,你就明白了。

normal_table

继续阅读标准正态分布函数的快速计算方法

COS沙龙第35期(北京)纪要

主题:工业系统大数据分析方法及其应用案例

嘉宾:  刘恺博

主办:统计之都

场地:北京大学

组织:闫晗 常象宇 王高斌

纪要:王高斌

简介:第35期沙龙(北京)与2016年1月9日在北京大学顺利举办。主持人为人大本科生闫晗,嘉宾刘恺博,现任美国威士康星大学麦迪逊分校的助理教授。刘恺博于2009年毕业于香港科技大学工业与工程管理专业,2011年和2013年分别获得美国佐治亚理工学院(Georgia Tech)统计学硕士、工业与系统工程博士学位(系统信息学和控制方向)。刘恺博博士的研究兴趣主要是工业工程背景下的系统信息学和大数据分析,重点通过数据融合的方法研究制造业、服务系统中的系统过程建模、质量监测、诊断与寿命预测等。他的三篇文章曾先后获得运筹学和管理科学学会(INFORMS)、工业与系统工程研究学会(ISERC)的最佳论文。他于2012年获得了美国工业工程学会(IIE)的学术奖金(the Gilbreth Memorial Fellowship), 2013年获得了美国质量协会(ASQ) 的奖学金(the Richard A. Freund International Scholarship), 2014年获得了美国工业工程学会(IIE)的最佳博士论文奖(第二名)。他的研究获得了美国和中国国家自然科学基金 (National Science Foundation)的资助。有关于刘恺博博士的其他信息,可以从他的主页了解更多: http://kaibo.ie.wisc.edu/index.html

继续阅读COS沙龙第35期(北京)纪要

COS沙龙第36期(北京)纪要

主题:利用开放数据重新定义中国的城市系统

嘉宾:龙瀛

主办:统计之都

场地:中国人民大学

组织:张心雨 魏太云

纪要:张心雨

简介:第36期沙龙(北京)与2015年1月10日在中国人民大学顺利举办。本次沙龙由人大统院本科生张心雨主持,嘉宾龙瀛老师现任职于清华大学建筑学院。龙瀛博士是清华大学城市规划工学博士,北京城市实验室(The Beijing City Lab (BCL) ,http://www.beijingcitylab.com/)创始人和执行主任,剑桥大学国家公派访问学者。他主要从事区域与城市规划、定量城市研究和城市模型等方面的研究工作。他在城市规划相关领域的国际期刊(SSCI)共发表24篇论文,他还在国内期刊有良好的发表记录,著有Springer英文专著《Geospatial Analysis to Support Urban Planning in Beijing》,他还是多个国内外刊物的客座编辑和国内大学的客座教授/研究员,曾受邀在多所大学和研究机构讲学。他的研究方向注重了国际规划理论与中国规划实践的结合,研究成果曾多次被New Scientist、参考消息、中央电视台、北京电视台、澎湃新闻、南方周末、凤凰周刊等报道。

继续阅读COS沙龙第36期(北京)纪要

《Rcpp:R与C++的无缝整合》

RcppSeamless R and C++ Integration with Rcpp

[法] 德克·埃德比特尔 著    寇强 张晔 译

内容简介

Rcpp是R应用最为广泛的语言扩展包,它被应用于超过100个CRAN和BioConductor的包中。这本书是关于Rcpp的第一本综合性导论。Rcpp使得用户可以在R和C++之间来回传递数值、向量、列表或者完整的R对象,在给R分析框架带来深度的同时,也带来了C++的威力、速度和效率。

继续阅读《Rcpp:R与C++的无缝整合》