October 26th, 2011 — SAS
这个周五,我会跟同事(SAS程序员和生物统计师)一起去北大做个关于SAS编程与生物统计的经验交流,感兴趣的朋友不妨去转转。这个活动由我以前在学校的社团,北大应用统计研究会帮忙张罗。之前我在协会负责SAS俱乐部。
主题(关键字):SAS编程、生物统计、行业应用
时间:2011年10月28号,周五,晚上,7点到9点
地点:北京大学,二教422(地铁北大东门下就是)
适用人群:对SAS与生物统计感兴趣的在校生,其他感兴趣的朋友也欢迎捧场
组织单位:北京大学应用统计研究会
出席人员:来自赛诺菲巴斯德(Sanofi Pasteur)生物统计中国部的SAS程序员与生物统计师
这将是一场非正规的经验交流(赶在这个校园招聘忙的季节),但我们也抱着接触潜在实习生与员工的想法。对我个人来说,就是趁着机会,回次学校,见见朋友,再体会一把久违的社团生活。
又,如果你是在校生,先读一下这篇文章会很有作用:
http://cos.name/2010/04/think-sas-1/
October 5th, 2011 — CDISC, SAS, 人物, 机器学习与数据挖掘, 统计备忘录, 胡说
大半年没跟新了。一些个人技术方面的动向在英文博客里:
1. CDISC Express
CDISC Express是一款开源的SDTM转化器,基于SAS和Excel(其实背后是XML)。我为这个产品写了一系列的入门教程,并参加了一个相应的比赛(赢了一台iPad)。益辉最近也抽中了一台Kindle,加上上半年在SAS Global Forum拎回来的一台Kindle,不禁感慨,知识(和概率)真是咱农民的第一生产力呀。对着手头这台上世纪的诺基亚6300,我坚定的目光瞄上了iPhone5。有一句话说,做自己喜欢的事,然后找一个人或机构买单,人生一乐也。
又,把临床数据自动导入到符合CDISC标准的数据集,现在有不少vendor在做,很多药厂内部也有开发。感兴趣的朋友不妨也鼓捣鼓捣。
2. Big Data
现在还提这个概念就较不时尚了,重要的是如何做,或者如何为以后做些准备。SAS也将加入对Hadoop的支持,不过现在Hadoop的框架还是基于Java,拣回来些C/C++、Java或者Python还是很有戏场的(甚至R也能够玩会Hapoop),对一个SAS程序员来说,是时候更新自个的工具箱了。
迄今为止,这个领域还是IT人士的天下。这一方面说明了我们这些传统的数据分析人员还需要夯实技术(去看看Hadoop的‘hello world’, 所有的操作都要分解为map()和reduce(),而这并不是所有人都习惯的),也说明目前这一块,发展还在起步阶段,因为这些框架,最终都是要为了让数据产生价值,而这就不可能有数据分析师的缺席。
3. SAS之外
这些日子,在SAS之外,试图拣回来些数据挖掘的东西。本来准备四月份在拉斯维加考下SAS数据挖掘的认证,后来还是被其他事情给挪掉了。最后所得就是,还是稍微看了下这块的东西,在概念上是过了一遍。这次在拉斯维加,碰到以前在北大一起做SAS俱乐部的朋友光辉,他现在加拿大工作。光辉说他趁着开会的缝隙,随手把SAS的数据挖掘认证(SAS Certified Predictive Modeler using SAS Enterprise Miner 5 or 6 Credential)给考了。这叫行动力啊。
机缘巧合,这上半年有朋友给我介绍Feature Selection(大白话就叫变量选择,在数据挖掘里面属于前期的工作),我就对着一个R的包看了一遍,也就是在脑袋里过一下,最后没有什么成果出来。另一个额外的好处是,这次我是对R在学习方面的优势有了切身体验,对R算是有了些个人感情。一边找论文看,然后几乎就能找到一个相应的R包跑一跑,增加些手感,这效果真是不错。
再说些R。我还真尝试过认真学一学R。做为一个SAS程序员,想,还是从input/output开始吧,就先研读官方文档R Data Import/Export,转了一圈,发现,这数据读取转存还是SAS更为方便有效,对我来说,鼓捣这个有点得不偿失,遂罢。
又想,R对SAS的一个优势在于它支持多种数据结构,像array、list之类,就从这入手了。不知道怎么搞的,在学习R的数据结构时,可能是我学习不够深入,修为不够,总觉得有些不够畅快——具体我说不上来。想,我还是把自己的Python拣回来吧,R跟Python有类似的地方。后来我就能说上来了,Python的List等数据结构,对我来说,的确是更为优雅(换一种说法,或者是因为我还没有读到一本“优雅地”介绍R数据结果的文档)。好吧,到此为止,我的R还停留在用它尝试算法的阶段。
然后就是捡回Python。我两年多的SAS程序员工作经历,一个直接的后果就是把之前学过的一点C++、Java和Python又打回“hello world”的水平,手都生疏了。我读了很多Jian Dai(他在加州做SAS程序员)的代码,包括Perl, C, JavaSAcript等等,想,做SAS程序员也不至于把其他的语言都丢掉,为了方便,又重新学习下Python。
为学而学毕竟有局限,在工作中使用当然来得最快。现在我还没有这机会,除了翻文档之外,就尝试用Python写些小东西,把它就当一回事一样。其实,除了工作中直接使用,还有一项就是参加开源运动——我看益辉这几年写R代码是风生水起,一个极大的外部刺激就是参与开源运动,整个积极性都给起来了。一个普通的统计学博士生,用不了那个多的代码量,那动力,就在于统计之外。
统计。今年的基础统计学习,没有去年那么饱满。每天跟统计师打交道,就想好好学习一下他们的语言。今年,到现在为止,算是在工作中(向统计师)学习,整了下CI calculation和euivalence and noninferiority test。下一步准备鼓捣些Sample Size之类。有个哥们写了一篇文章叫Programmers Need To Learn Statistics Or I Will Kill Them All,好吧,作为一个程序员,为了生命安全,每天跟统计师打交道,还是学下统计了。
4. 工作
不是说自己的工作,是说工作与实习机会。感兴趣的朋友,不妨跟我联系。中南大学统计系的本科生韩帅,不久前结束在我公司的实习,在Sxlion主持的SAS中文门户写了两篇非常有价值的总结文章,大伙可以去看看:
一个SAS菜鸟的故事 学习篇
一个SAS菜鸟的故事 实习篇
人是这样的,只有经历过了(我说的是第一份实习或其他),才能自信地自称“菜鸟”,否则就真是论坛里“弱弱地问”的菜鸟。我推荐我公司,当然是因为最熟悉。说实在的,在北京,在药厂,对SAS程序员来说,这的确是一份不错的的实习机会。去年我也推荐了汤耀华来我公司做实习生,他现在中科院读研。这两位都来自中南大学,怎么说?对我和我的同事来说,他们提升了中南大学在我们心目中的分量。在上海,我想,很多SAS程序员对中南大学也很有兴趣。
一些大学生朋友给我写邮件打电话,说些职业或技术选择的事。这不是选择两个到手的offer,大哥,随便扎进一个方向,都比在那犹豫强。
5. SAS
还是得提一下SAS。现在用上SAS9.2了(然后SAS9.3就华丽丽地发布了。。。),对我来说,直接地,有两个触动:
1)SAS9.2及以后,作图更漂亮,我终于有些动力研究下SAS作图了。在公司,去年与宾州的同事一道,把公司作图的macro(基于9.1.3)的更新以后,以后都直接调用,压根就没写过proc gplot之类,然后我就发现自己作图的那一点点手艺正在迅速凋零。。。
2)SAS9.2中,BASE中正式支持自定义函数(仿佛听到其他门类的程序员在冷笑,我弱弱地辩解一下,SAS/IML早就可以自定义函数,而且对SAS程序员来讲,一直使用macro写一种叫function-like macro,而且,macro也支持递归。。。)。这将给我们的编程生活带来不少乐趣,其中之一就是可以把以前的一些macro改写成函数(方便debug啊)。
在写函数之前,我把SAS BASE里面的函数都看了一遍,省得以后重复造轮子:
把所有的函数分门别类导入到Excel,然后动用一点VBA,把每个函数的解释都搁进每个函数名的comments里。这么一梳理,又发现不少有趣的东西,再议。
May 20th, 2011 — S:R&S-PLUS, 人物
我有个担心,SAS在国内甚至都没有兴起过,但在校生可能就不愿学它,或者没机会学它了。所以我业余生活的一块,就是在国内R用户最密集的社区,“统计之都”(cos.name),低调低调鼓吹SAS。
要声明一下,我对R印象也非常好,身边很多朋友用R,大多在高校,也有在职的。我个人机器里装了R,也用R自学过些数据挖掘,但用得都不够深入,自然是没有底气评价它如何如何,我关注R的行业新闻要多于R本身。不过想身边这么多聪明的大脑都用R,凭他们的品味,R一定不错。关于SAS和R,我的主要意思是,为了找工作的便利,学点SAS吧,又不是什么水火不容。想,有这么多也不笨的大脑,这么多也受人尊重的公司,不用说,SAS也是不赖的东西。
在R面前提SAS,我的语气一般会很谦虚。为什么?因为SAS跟R相比,是太不对称了。现在SAS系统9.2,代码量是1600万行,跟R比赢了是胜之不武,输了就很没面子。所以在“虚拟的”R与SAS之争中,R用户天然占优势地位。
现在SAS用户有一个直接与R用户沟通的机会,“第四届中国R语言会议”,2011年5月28日~29日,人民大学,现在有18个话题:
1 赵毅 R与.NET混合编程及其在化学计量学中的应用
2 李青龙 R与VBA混合编程
3 王洪月 SAS Interation With R
4 胡江堂 R vs SAS
5 颜林林 R的高级编程技巧及Rcpp的介绍
6 李舰 R与高性能运算
7 张金龙 系统发育比较方法方面
8 张雯 R对物种的进化关系进行分析
9 曹宗富 基于R Bioconductor进行生物芯片数据分析
10 曹飞 R在生物信息学中的应用
11 卢一鸣 Lasso算法在高通量生物数据处理中的应用
12 李欣海 R在生物统计教学方面的应用
13 肖嘉敏 基于R的网络用户行为研究
14 祝迎春 R在择偶上的应用
15 邓一硕 R在计量金融的应用
16 林伟林 R在套利中的应用
17 李颖 R相关书籍的出版
18 张伟平 MCMC方法在R中的实现
到时我会把这场“虚拟的”R与SAS之争直接带到会场。王洪月是我的前同事,来自SAS中国研发中心,我很期待他关于SAS 9.2中跟R交互的内容,这才是最积极的正面举动。
又,看现在收到的话题,刨去3、4两个关于SAS的,总结一下,生物信息和social network这块,还真是很火啊:
R与其他语言交互,包括.net、VBA和C++: 1、2、5,
高性能运算:6,这对SAS来说,也是很火的话题
生物:8、9、10、11、12
SNS:13、14
金融:15、16
算法:18,MCMC
其他:17
May 20th, 2011 — SAS, 人物
对SAS,这套软件,这家公司,还有这套软件这家公司后面的人,我都带着很浓重的个人感情。现在,可以自豪地宣布,我完成了人生一个的小小心愿,参观了SAS总部,还有就是当面见到了SAS公司1976年的三个创始人:
第一个Anthony James(Jim) Barr,更多地被称为Tony,SAS系统的发明人,今年4月份在佛罗里达拜访他并长谈(右一):
Jim Goodnight和John Sall,现在SAS公司的一、二号当家,在拉斯维加斯的SAS全球大会见到。我没有跟Jim Goodnight有任何互动,最“近”的一次是几年前,当时在SAS中国研发中心,收到唯一一份来自Goodnight的邮件,大概是群发给全球一万多号员工的。John Sall来过北京,不过没机会见过。这次在拉斯维加,在一间中型会议室,看他慢慢演示JMP,差点超时。
第四个创始人Jane负责文档,还没有见过。不过去年,就在北京,有幸见过第一本SAS user guide (A User’s Guide to the Statistical Analysis System, 1972)的作者,Dr. Jolayne (‘Jo’) Service(左二):
Jo离开北京后,还随着美国统计学代表团参加了上海生物统计学术论坛(SBF)组织的活动。
March 20th, 2011 — SAS
1.第一届全国大学生数据挖掘邀请赛
“统计之都”(http://cos.name)的朋友拉来人大统计学院和中科大管理学院,一起办一个大学生数据挖掘的比赛(“第一届全国大学生数据挖掘邀请赛”)。非在校生的朋友可能也会感兴趣,这次比赛的赞助商是上海的一家婚恋交友网站,比赛的任务是,“评估给定的候选会员集合中,哪些会员更容易获得特定会员A的青睐”。有评论认为,这是两会之后,真正关注国计民生的好题目。
预祝这次竞赛活动圆满成功。先去围观了:
http://www.statmodelingcompetition.com
http://cos.name/2011/03/1st-data-mining-competetion-for-college-students/
2. SAS Global Forum 2011, Las Vegas, Apr 4-7
SGF2011的会议论文已经放在网上,大伙可以先睹为快:
http://support.sas.com/resources/papers/proceedings11/TOC.html
这将是我第一次参加SGF。我提交的论文很水,几乎跟SAS无关,讲的是装备一个SAS程序员的几个简单的工具:文本编辑器Notepad++、文件比较工具Beyond Compare以及个人信息门户Gmail和Google Reader。
——恩?怎么还有Gmail?这话题似乎难登大雅之堂,但我觉得还是非常重要的。总体而言,SAS程序员/SAS用户的技术装备水平不高。根据SAS邮件组SAS-L订阅者邮箱使用的相关数据(http://www.howles.com/sas-l),一共有3万7千个注册邮箱,现在能跟使用者本人对应起来的邮箱数大概是4千8百个。而在这4800个可以说是较为有效的邮箱中:
- .edu后缀的有722个
- .net的698个
- .org的198个
- .gov的195个
- .com的当然最多,有2680个
而在这2680个.com邮箱中,有大量分散的公司邮箱,不论,几个常用的免费邮箱是
-
Gmail有269个
-
Yahoo有252个
-
Hotmail有174个
这什么概念?首先,SAS用户,大量集中在企业,我猜R-help邮件组的Gmail使用者应该会非常多——当然这不是这里的重点。使用公司或机构邮箱的,大多数人用outlook之类的客户端收发邮件,其余的如Gmail、Yahoo、Hotmail用户大多使用Webmail的方式。作为一个Gmail爱好者,我好奇的是众多的非gmail用户如何管理(以及忍受)来自SAS-L成千上万的邮件的。
又,SAS-L的Gmail邮箱订阅者较少,还有一个可能,就是大伙都喜欢在工作时间收取SAS邮件。我个人推荐用Gmail收取邮件组的邮件,同样,根据个人兴趣,那天我还会跟SAS用户推荐Google Reader,这个所谓Web2.0时代的利器。这次SAS大会同样也充满2.0精神:
到时热闹了。
December 30th, 2010 — SAS
首先是oloolo同学在my.sas论坛问我以前那个Think SAS 系列继不继续。话说我有很多标记为“(一)”的文章没有继续下去,长此以往,国将不国,不好不好。趁着年假,把早就搁在机器的草稿拎出来,再推进了五六千字,《Think SAS》(二):
http://cos.name/2010/12/think-sas-2/
感兴趣的朋友不妨去拍拍砖。还没写完,这个系列。
另外,我有一篇文章被明年的SAS全球论坛(SGF2011, April4-7, Las Vegas)接受,题目很大,叫做Work Smarter than Harder-tools for growing up a SAS programmer,写的是装备SAS程序员的一些普通工具。卑之无甚高论,但现实中一般SAS程序员的装备还是挺落后的,大都拿“分析员”而不是“程序员”的标准要求自个。这篇文章草稿在
http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf
一样欢迎大伙拍砖评论。
明年去拉斯维加斯,心里又不禁嘀咕,倒是可以趁着这个机会把SAS数据挖掘的认证考下来。这样这几个月就又有得东西忙了。
明年准备数据挖掘,但今年开始的统计学基础还不能丢。还想给“统计之都”写些类似“方差分析初步”之类的文字。统计学我的底子高深不了,就沉浸在表达这块了。
大伙新年愉快。
November 23rd, 2010 — SAS
SAS中国研发中心(北京)需要招几个统计学博士(modeling+SAS)。感兴趣的朋友可以跟我联系:
jiangtanghu<at>gmail<dot>com
这里只负责牵线搭桥,具体的会安排您跟SAS R&D的负责人谈。
November 14th, 2010 — 统计备忘录, 胡说
像外行一样思考,像专家一样实践。
刚在“统计之都”(COS)贴了一篇读书笔记,关于假设检验的基本概念。作为一个非统计出身的SAS程序员,我特别在意如何用大白话来解释统计学的概念:数学公式的推导,我可能走不了多远;但用普通话给表达出来,我其实没什么劣势。写这类文章,我都把自己的认知界定在高中水平,然后一路路给出示例说明,最后达到理解某些概念的目的。比如这篇关于假设检验,基于这段时间来生物统计学基本教材的阅读(这里和这里)而做的一个笔记,就是从日常的逻辑推理说开去。从常识说起,能推到多远,就写到多远。
这一年的统计学阅读,多集中在生物统计方面。生物统计基础,是统计学中最保守也是最经典最严格的那部分——这对我来说,一个好处就是,可以借这个机会,细致地补补统计学101。如果有时间,我倒是愿意就每个主题都写一篇。以后如果自己长时间不接触统计学了,通过自己的笔记还可以迅速捡回来(《程序员统计书》?)。时间,写这个东西最耗的就是时间:什么东西都得不厌其烦地写出来。最后自己读一读,都有些琐屑的味道。
———–
在那篇博文里,我借用了一个在线统计学习网站的一个t分布生成器,挺方便的东西:
http://onlinestatbook.com/calculators/
November 2nd, 2010 — SAS, 人物
全民皆博(非“微博”)的黄金时期已经过去,各种技术博客倒是风起云涌(再拽一个词,方兴未艾)。说说SAS博客的事。
英文世界里,SAS程序员第一个应该去的地方应该是SAS Community Planet:
http://www.sascommunity.org/planet/ RSS订阅:http://www.sascommunity.org/planet/rss20.xml
现在里面收录了24个相关博客(包括“技止于此”的英文博客,From a Logical Point of View),内容涵盖SAS编程、BI、行业信息等等。另外,SAS一些员工或部门也在在其主页开博(现在是15个),见
http://support.sas.com/community/rss/
这里的博客与Planet的博客会有些重合,建议是一个个点过去,总能找到值得订阅的。比如,SAS公司负责IML开发的Rick Wicklin,今年的9月初开了一个IML相关的博客,唤作The Do Loop,现在已经有33篇了,质量都很高,而且适合不同层次的读者阅读。有意思的是,他有个明文的规矩,周一些初级篇,周三是中级篇,周五则是高级篇,各位读者,皆大欢喜(这里介绍了这么多Rick,也有一些私心。他上个月也推荐了一下我的一篇博文,也是关于IML的。之前我在blogger开英文博客,到现在也没写几篇,以后再接再厉了)。
回到中文世界。mysas论坛的掌门人shiyiming前些日子新开辟了一个栏目,叫做“SAS世博汇”,号称要“网聚全球优秀SAS博客的力量”(就是定期出爬虫抓取相关博客内容,中文为主,现在看到的数量是8个,包括Liu Wensui、ooloo等知名ID)。mysas现在也支持RSS订阅,所以这个渠道看着也还不赖。
上海还有一个活跃的朋友,sxlion,新开了一个SAS博客群,在网聚SAS博客方面,用功甚勤:
http://saslist.com/
里面提供了一批SAS中英文博客(跟上面提到的也大多重合)。这个saslist还提供博客群服务,现在还是以mysas活跃的朋友为主,比如hopewell。刚刚建起,会有些粗糙的地方,有兴趣的朋友可以上午鼓捣一下。
关于群体博客,现在做得最好的是“科学松鼠会”,科普类。另外跟统计相关的,就是“统计之都”。sas群组,现在都还是刚刚起了个头。
October 17th, 2010 — 统计备忘录
最近又开始读些基础数学与统计书,看规模,够我读上好几年了。老三样,微积分、线性代数和概率论与统计,大致想让自己的数学水平,随时保持在一个能进研究生院的水平。
工作中一个感受是,如果一个问题成功地转成了数学形式,那你就可以轻松地解出来(随便叫一个学习还算认真的大学生也能解出来)。困难的是如何把问题转换成数学形式。
1. Calculus by Michael Spivak, Publish or Perish Press, 1994
这本书的出版社很有意思,叫“不出版,就完蛋”(Publish or Perish),是作者Spivak拥有的一家小型出版社,而且出的大多是他自个的书。为什么选这本微积分教材?因为IBM的一位工程师Antonio Cangiano在他的博客里有推荐。先推荐一下他的博客:
http://math-blog.com
一位软件工程师写的数学博客,内容生动适度。如果打不开网页,你可以直接在google reader里订阅。在一篇名为the most enlightening calculus books的博文里,Cangiano(当然)还提到Apostol以及Hardy的经典教材,但咱嫌它们太难。Spicak的这本书,是introduction to real analysis的水平,觉得对自个是一个挑战,但不妨一跳那种。
2. Introduction to Linear Algebra, 4th edition by Gilbert Strang, Wellesley-Cambridge Press, 2009
Strang这本,可能是世界上最好的线性代数入门书。他今年在MIT开的这门课,可以在MIT开放课程里找到:
http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/
前些年孟岩写了一些列关于线性代数的文章,现在读起来还是很让人大脑激荡。自个也要去线性空间去巡巡礼了。
又,前些年上海师范大学的数学老师eijuhz,托我在北大图书馆借过这本书。当时想就应该是好书。
3. Introduction to Probability, by Dimitri P. Bertsekas and John N. Tsitsiklis,Athena Scientific, 2002
这家雅典娜科学出版社(Athena Scientific )又是一家跟本书作者息息相关的小型出版社,这本书,也是MIT数学教授写给工程师的教科书,同样可以在MIT的开放课程里找到。我手头是第一版。
读这本书的缘由,大概是“MIT”这个关键字。无论怎么样,这是一本不错的书,可着劲儿读掉就是。我看各种教材就像我们古时候的字典,没有索引,你只有背下来了才能使用。我常翻阅的资料,很多都是以前用的熟透的教科书。遗憾的是,以前用的教科书,并不是每一部都是经典(所以,现在有些垃圾书也在翻着,路径依赖啊)……
4. Biostatistical Analysis (5th Edition) by Jerrold H. Zar, Prentice Hall, 2009
Zar教授引以为豪的,除了这部最受欢迎的生物统计入门书,还有一首关于spelling check的打油诗。我拿这本书捡回些统计的基础知识。这本书的数学保持在高中水平,这也是我手头要备着上面三个大部头数学书的原因之一。
5. 沈明来编著《生物检定统计法》,台北:九州图书文物有限公司,2007
台版书。一些表达比较有趣,比如提到T分布,说Gosset与1908年“诱得此式”。
又,内页介绍出版社,说它在台湾大学侧门麦当劳楼上。麦当劳楼上的出版社,你猜我想到哪家?哦,中国人民大学出版社。
生物检定(biological assay)所需之统计法,与一般统计指导书所述法不尽相同。