COSeditor
邱怡轩
看来animation包里面每个函数的背后都有一段故事。:)
itellin
终于看到有业内人士进行一些正本清源的工作了。统计中揣着糊涂当明白的人太多了,当然也有很多真明白的人, 但我有个疑问,为什么这些明白人不去指出一些基本概念中的误导呢?比如说方差的含义和表示方差的公式,两者之间好像是有点小问题。
dingpeng
极限理论有两个关键的定理:central limit theorem 和 law of rare events。
前一个渐近分布是正态,后一个渐近分布是poisson。
并不是所有的“和”都能渐近正态。
统计里面大部分的渐近正态性由taylor展开得到,但是小样本时候也有所谓的Bartlett Correction,也就是taylor展开到稍微高阶的项。
投色子,两项的和怎么可能渐近正态呢?看画出的直方图尾巴那么厚,目测都知道不是正态,即使他是对称的。《金融计算与建模》的作者估计还未打通任督二脉。
eijuhz-eijuhz
谢老大现在也开始用SAS了?
王化儒
谢谢益辉的工作,记得第一次R语言会议席间,还给我更正过这方面的错误呢。今天读了这篇文章,加深了理解。
xin-comeandgo_2007
谢先生在这里还是以代码的长度论输赢, 恐怕还是书生气了一点。 做industry的东东,关键是能不能get something done with reasonable resources and cost. 我的R 和SAS 都不怎么样,都用最平常的写法, 现在分析一个50G的数据, 用SAS 在台式单机(2G内存, 200G硬盘)15小时搞定。到LINUX SERVER (8 CORES, 32G内存)跑R, 怎么都是死翘翘。 不要高诉我在R里用call C PERL什么的也一样, C和PERL能做到的不等于R也能做到, 也不是每个分析师都有时间学C
另外关于sas作图,可以看下面的连接里的例子。
http://www.robslink.com/SAS/Home.htm
当然这些图肯定还是比不了R的功能, 我只是说SAS如果学好了, 一样可以作出漂亮的图, 与软件无关, 与人有关。
我其实对R 和SAS都感兴趣,他们各有长处。 我所反对的是根据一些不全面的信息而作出误导性的结论。
Feng-no_spam
比较两个分布的差距你可以计算一下kullback-leibler divergence.
yihui
[未知用户] 没那么夸张,只是碰巧这个话题的故事比较多而已
yihui
[未知用户] 我不用SAS,你可以看到我的观点显然是“SAS代码过于臃肿”,在本文的模拟中不如R轻巧
yihui
[未知用户] 如果我真的以代码长度论“输赢”的话,那我确实太书生气了——我没有推广到输赢的意思。不过如果有简单的办法能实现目的,为什么要选择臃肿的办法呢?如果代码长短没关系,那何不统一退回到汇编语言呢?用你自己的评判标准,在本文的模拟中,R的``resource and cost''都免费,而且实现起来更方便,要啥有啥,SAS写起来像恐龙语言,而且输出往往是有用没用的一大堆,你用SAS也知道,给3个数字都能输出好几页报表。
你若是统计学家,论证也应该有点统计学的风格:一个学统计的人有多大概率会去分析50G的数据呢?举例子是个很好的论证方式,但抽样要有代表性。另外,你50G数据硬要装到32G内存中,这不是故意调戏你的服务器么……这问题有两种可能的解决方式:一、拿昂贵的SAS购买费用去多买一些便宜得像白菜的内存;二、看看R处理大数据的包,比如bigmemory包。无论如何,不能用“不知道”代替“不可能”。
我也不想总在这个问题上争来争去,有人愿意花钱愿意多写代码,那也没办法。我这篇文章写出来就是避免空泛的争论,大家如果有争议,可以针对具体的工作来讨论。我知道我的文字看起来很偏激,这非我本意,我只能说就我的工作而言,R可以包打天下,我没有任何用SAS的必要,我一再强调,读者要切记,这是我的个人观点,至于我是不是个有代表性的统计工作者,只能留给旁观者判断了。
从始至终,我也没说“SAS不能做什么”,只是在说“R能做什么”,这里面如果有什么误导的话,我愿意洗耳恭听。
yihui
[未知用户] K-L信息量这个东西确实是衡量两个分布差异的工具,但我一直觉得它有个小问题,就是它没有上界,就如同方差衡量变异程度一样,没有界限的东西就很难知道到底差多大算大、多小算小(当然0意味着两个分布a.s.一样)。
shuaihuang
我来打打擦边球(这好像是我的一贯习惯)
-- 我顶评注1. 这一点是做asymptotical analysis的必备道具,基本上我见过的证明一个估计量是渐进正太的论文,都是按照这个思路来的:1.泰勒展开,2.证明二次项主导其他所有的项。。。这也是我厌倦理论分析的原因。
但是还有另外一种分析,走得完全是另外一条路子,那就是不仅假设n->infinity,同时,模型的变量也->无穷,这个就很难证了。而且也更好玩。
Feng-no_spam
[未知用户] 这种准则性的东西还是两两比较有优势,所谓不怕不识货,就怕货比货。
Feng-no_spam
[未知用户] R语言的精炼你不要不承认,你要是非抬杠,那岂不是大家都去学机器语言了,还要现在的高级语言干什么?
“与软件无关, 与人有关。 ”我喜欢你这句话,俗话说没有金刚钻,不揽瓷器活。人笨,不要嫌刀钝。你那50G的例子是你自己搞不定,不代表别人也搞不定。个案,不具有普遍性。要是SAS的分析师都成了门外汉,我看SAS也该近黄昏了。
xin-comeandgo_2007
[未知用户] 其实我真的不愿发这些帖子, 因为我其实对R非常感兴趣, 也在积极努力的提高。因为R虽然有些缺点(依赖内存,package良莠不齐,文档差), 但是又有那个软件没有缺点呢? 也是R是缺点比较少的语言了把。
但是我现在还很少看到一个SAS programmer去攻击R(也许SAS PROGRAMMER 大多是老帮菜, 很少看BLOG, 哈哈), 相反R论坛上充斥了对SAS的以偏概全和道听途说的攻击, 已经产生了很多误导效应,所以不得不厚着老脸出来提供一点 不同之声。
谢先生说50G的数据对统计师来说是OUTLIER, 我不得不说谢先生对当前DATA MINING界发展的把握是略欠火候了。 我证券交易所的朋友随便一个dataset轻轻松松就20G以上, 如果是double click 的online 数据, 平均体积是35-60 GB, 我是搞生物的, 下一代基因测序技术的出现使每个病人产生的数据量达到TB。 这些都是要靠统计师在挥汗如雨的操作。 你在感叹内存的廉价, 殊不知真实世界的数据增长大大超过了内存的增长。
总之R快速增长已经使其成为现代统计师不可不学的工具, R的重要性和优点根本不需要通过攻击SAS来得以彰显, 因为象牙塔以外的世界是如此的复杂和挑战, 我们太需要各种不同的工具并存去发挥他们的长处。
yihui
[未知用户] 多谢指点!我知识范围有限那简直是一定的(a.s.),不过呢,仍然是我的概率观点:搞统计不等于做Data Mining,换句话说,DM的人占统计工作者多大比例呢?我知道相对来说,做DM的人手上的数据都会比较大,我也并非没有耳闻,前年我去新浪溜达的时候了解过一些情况(比如你说的TB单位的数据),但并没有参与他们的工作,我自己仅仅在某政府部门用R亲手做过5G左右的数据(在普通的PC机上,而且是Windows XP系统,大数据并不代表所有数据都有用或一定要整体读入)。
要说误导,我真不知道“误”在何处,有谁说过“SAS不能做什么”没有?本文中我都给了SAS代码,说它可以做,但问题是孰繁孰易。抱歉,我似乎有点不见棺材不落泪……
看!又跑题了……本文的例子中,哪里有50G的数据啊,两个骰子36条数据,手指头都能数过来,若要谈大数据的处理问题,各位作者们谁有兴趣可以写下一篇文章,再专门讨论。
GUAN Jingjing
下月会议的时候朱老师也许来,可以谈论一下这个事情。
myli-lichengwen02
谢谢益辉,貌似明白了一些我以前的有疑惑的地方,但还是有些不太明白的地方。
我再仔细看看,喜欢你这种 正本清源 的精神 #_#
easttiger-easttiger
鄙人觉得R和SAS的起因本身是不同的. SAS的设计初衷是极度应用性的软件包,为了用户能写几行代码就可迅速得到答案, 而不是为了开发. R的初衷是做开发环境. 你可以自己开发像SAS里的那种几行代码出一大摞结果的包, 也可以当它是一般编程语言来使用做任何想做的事情. 我觉得可以把SAS比喻成Financial Calculator, 把R比喻成Scientific Calculator. 比如你在算金融中的特定问题时, Financial Calculator预设的功能可以让你几个按键便出结果. 但一般科学函数计算器则要从first principle开始一步一步地算, 有些高级一些的函数计算器带macro储存, 那也可以把这一步一步的案件存成macro,以后直接调用.
总的来说我觉得"分析员没时间学C语言"这种说法算一种不太好的借口. C语言影响了几乎全部当今的主流编程语言, 这是任何程序员的基本功中的基本功, 如果连C语言都不愿意学的话, 那实在是不能算具有专业水准的.