<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>演讲稿 on 格物堂</title><link>https://gewutang.cn/tags/%E6%BC%94%E8%AE%B2%E7%A8%BF/</link><description>Recent content in 演讲稿 on 格物堂</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 08 Feb 2012 00:00:00 +0000</lastBuildDate><atom:link href="https://gewutang.cn/tags/%E6%BC%94%E8%AE%B2%E7%A8%BF/index.xml" rel="self" type="application/rss+xml"/><item><title>R是一种生活，数据是一种态度</title><link>https://gewutang.cn/2012/02/08/r-is-a-kind-of-life-and-data-is-an-attitude/</link><pubDate>Wed, 08 Feb 2012 00:00:00 +0000</pubDate><guid>https://gewutang.cn/2012/02/08/r-is-a-kind-of-life-and-data-is-an-attitude/</guid><description>&lt;p&gt;有多少人听说过R软件？有多少人用过R软件？你现在最常用的软件是什么？SAS？SPSS？EViews?如果你是一个经常和数据分析打交道的人，或者从事金融建模，数学建模的人员，还不用R，你就有点out了。如果现在不学R，五年后你没有任何优势可言；如果5年后，你还不学R，那你差不多就可以被淘汰了。&lt;/p&gt;&#10;&lt;p&gt;接下来，我先介绍一下R软件，然后，会详细的讲解为什么你不用R就会out。&lt;/p&gt;&#10;&lt;p&gt;R是有Ross Ihaka跟Robert一起开发的一个面向对象的编程语言。什么是面向对象呢？就像现在，我在这里演讲，直接看见你们，你们就是我面向的对象，当然，这是开玩笑。面向对象的意思就是，R里面的一切东西都是视为对象（Object）。无论是数据框、列表还是函数或者环境，这里先不讲，免得把大家吓跑了。&lt;/p&gt;&#10;&lt;p&gt;R语言的前身是S语言，这个语言一度是数据分析领域里面的标准语言。当然，现在也是，但是正在逐步被R语言取代。S语言是由贝尔实验室开发的，贝尔实验室开发了很多经典的东西，S是其中之一。S语言的缺点是它不是免费的，而R最大的优点在于R是免费的。&lt;/p&gt;&#10;&lt;p&gt;现在很多人用SPSS，SAS,MatLab，但是用的都是盗版软件。从法律上来讲这是非法的，但是非法的东西在中国很流行，很多教授也用这些非法软件，并且还帮着同学去获取盗版软件，其实，这不太可取。当然，在感情上我予以充分理解。&lt;/p&gt;&#10;&lt;p&gt;上次去上海参加第4届R会议，来了一个嘉宾是新西兰人，新西兰是R的故乡，中间熊熹提到她复印了一本ggplot2的书，被外国人看到，外国人就问她征求过版权问题吗？在外国人看来这是很严肃的事情。当然，这是题外话。&lt;/p&gt;&#10;&lt;p&gt;免费是R很大的优点，但不是唯一的。R的最大优点是出色的作图功能、丰富的统计学方法以及超快的更新速度。下面讲一下R的各种功能。&lt;/p&gt;&#10;&lt;p&gt;首先，R可以作为计算器使用，例如（屏幕演示）。其次，出色的绘图功能，例如（屏幕演示，直方图，小提琴图），还可以绘制一些高级的图形，向日葵图，玫瑰花瓣图，脸谱图。当然，这是最基本的功能。虽然很基本，SPSS这些软件是不可能做到这么完美的。R的画图分四个层级，最基本的就是刚才演示的。高级一点的是grid，然后是，Lattice，Lattice的图形是这样的（屏幕演示），很适合做多元数据展示。grid是这样的（屏幕演示），grid图形引入了图层概念，并且可以切换图形的视角。举个例子：（A4纸演示），接下来是ggpolt2：ggplot2是一个更具有创新性的绘图设备，它创建了自己的语法，相当于R里面有创建了一门新的绘图语言。ggplot2的功能是这样的（屏幕演示）。最后，比较终极的绘图BOSS是ggobi，这是一个动态的绘图软件，交互性很强，不过可能很快要被谢益辉的cecran给取代了。后者是前者的加强版。&lt;/p&gt;&#10;&lt;p&gt;然后，就是R建模。R的建模能力超强。建立线性模型，只需要用lm函数就可以了，广义线性模型glm就可以了，广义可加模型gam就可以了。&lt;/p&gt;&#10;&lt;p&gt;然后是，时间序列分析。这个很有用的。我觉得，对于本科生也好，研究生也好，想基于一元或者多元回归做一个比较上层次的论文是困难的。但是，用时间序列分析是可以的，可以用arima，说到这里很多人就笑了，arima这个我知道，终于听到一个自己知道的模型了，其次是garch模型。我知道很多人做garch模型用EViews，但是这个软件太老了，极其不智能，稍微高级的方法都用不了。加一个外生变量要折腾半天。而且最重要的是你用的是盗版软件，话说过来，即使是正版的Eviews也不智能。R里面做garch模型就很简单，用rgarch包就可以了，可以构建各种高级的garch模型，tgarch，igarch，gjrgarch之类的，还有高级的Dccgarch，可能你又听不懂了，还有更高阶的BEKK模型，BEKK没什么神秘的，其实就是多元GARCH模型，就是把GARCH模型从一维推广到了二维了。还有更高阶的，因为参数估计起来太麻烦，所以应用比较少。&lt;/p&gt;&#10;&lt;p&gt;Rgarch包还能计算VaR。也就是Value at Risk。风险价值。这个东西很高级，没有听过吧？其实，我认为上了大三的人就应该很熟悉VaR。但是很多人不知道，因为中国的教育不太成功，我们叫不成功，不叫失败，免得打击教育部。高校的老师，怎么说呢，比较善于推己及人。他们当年读大三的时候，就不懂得VaR，他们复习半年，考上研究生的时候也不怎么懂。所以他们认为别的本科生也不懂，或者说没有能力懂。他们对中国的学生太没有信心了。其实，VaR的概念并不是很难。（演示）&lt;/p&gt;&#10;&lt;p&gt;这就是VaR，其实就是分位数。分位数其实就是对密度函数求变上限的积分，求变上限的积分都会吧？不过，也不用手动求，用R就可以了。&lt;/p&gt;&#10;&lt;p&gt;理论上讲，只要知道了密度函数，求积分不在话下。所以求密度函数其实是VaR的核心。根据求VaR密度函数的方法的不同，可以将它分成三种重用的方法，历史模拟法，蒙特卡洛模拟法，方差-协方差法。历史模拟法就是用历史数据的密度函数代替未来的密度函数，蒙特卡洛模拟法就是假设一个分布，模拟一批随机数。说到随机数，想起来本科期间一件事情，当时精算专业要生成随机数，一批学生不知道怎么做，在Excel里面瞎折腾。我就想不明白，为什么不用R呢，产生正态分布的随机数rnorm(5)就可以了，产生5万个，rnorm(50000)，在Excel里面，折腾死你。&lt;/p&gt;&#10;&lt;p&gt;蒙特卡洛模拟完随机数，就根据这一批样本来计算VaR。方差-协方差呢，跟这个不同，它求的是条件密度函数，理论上讲应该更准确。历史模拟法对历史区间的选择很敏感；蒙特卡洛对分布的假设很敏感，正态分布假设和t分布假设结果相差很大；方差-协方差对厚尾与否很敏感。&lt;/p&gt;&#10;&lt;p&gt;如果是单个资产的话，像上面这样求分位数就搞定了。资产组合的时候，要知道联合分布，才能求分位数。联合分布怎么求，最新的方法是Copula。简单而言就是个复合函数：假设你有联合分布函数F(x1,x2,x3,…)，有边际分布，f(x1),f(x2),f(x3)…要找到要个函数H（·）使得F(x1,x2,x3,…)=H（f(x1),f(x2),f(x2)…）。&lt;/p&gt;&#10;&lt;p&gt;这个函数就是Copula。这是工作原理，操作起来有一系列复杂的技术。当然，求解这个过程计算机会帮忙的，不需要手算。君子善假于物也。&lt;/p&gt;&#10;&lt;p&gt;本科生的时候做过一个项目是关于VaR的。当时学校的一个老师提出过质疑，因为VaR的最初定义是是关于头寸的。而R里面是基于收益率的。两者在测量风险方面没什么差异。但是，他非得坚持算头寸。答辩的时候，我跟他讲这是很容易换算的，他问怎么容易。我就解释给他，当时年少无知，连续向他发问，我估计他很久没有看最新的VaR文献了，因此，我质疑的问题，他一个都答不上来，后面听答辩的同学，开始欢呼，掌声雷动。我很了解同龄人，大家都喜欢看见权威被打倒。这是潜在的暴力倾向，我很不喜欢。值得注意的是，刘姝威老师也在下面拍手。&lt;/p&gt;&#10;&lt;p&gt;现在想起来当时太冲动了，事后我试图向那个老师道歉。当然，不是因为我用错了方法，只是因为我用错了态度。我觉得一个人还是应该尊重另一个人的。&lt;/p&gt;&#10;&lt;p&gt;刘姝威老师后来说，本科生能做出来这个VaR是很不容易的。我当时心里很舒服，得到了赞赏。后来想想，这个赞赏的代价很大。VaR明明很容易计算，她却因为这个儿称赞我，那不是在贬低其他所有的不会算VaR的同学吗？这是我后来想明白的。&lt;/p&gt;&#10;&lt;p&gt;R还能做极值理论。今年上海交大的一个研究生问我用R作极值理论的东西，我就帮他说了一下，他说帮了他大忙。说要感谢我，我说不用，在论文后面，鸣谢一下就可以了。其实，我心里一直在怀疑，研究生要毕业了，极值理论都还不懂，研究生到底读的是神马？更进一步，这样的人为什么能踏过研究生的门槛，问什么能考上研究生呢？中国的研究生录取机制有问题。&lt;/p&gt;&#10;&lt;p&gt;再之外，R在数据挖掘领域是顶呱呱的。里面有各种方法，比如随机森林，支持向量机，Lasso等。什么是Lasso，也许你说，那是lasso，我跟你说，你说错了，这个单词的重音在第二个。关于这方面，刘思喆是专家，你们可以到论坛上或者微博上咨询他。&lt;/p&gt;&#10;&lt;p&gt;R能做的东西很多。那有没有R不能做到的事情？让我想一想，好像还真有。比如，R好像不能下电影，看电影，听音乐。不过，R里面却是提供了很多高级的工具，它提供了一个hook，可以启动电脑中的其他程序，比如迅雷，可以自动下载网页附件，自动解压缩，读入数据等等。很多R粉丝甚至用R关机，用R发微博，发校内状态。R能给人很多惊喜，比如用R下五子棋，扫雷，玩儿递归汉诺塔。做贺卡，马赛克图，这里面是什么知道吗？是AV女优，不信你看看，是不是发现了很多熟人？&lt;/p&gt;&#10;&lt;p&gt;话说回来，很长一段时间里。SPSS,SAS,Matlab还会继续存在，不会骤然消失。我甚至认为这些软件不会消失。因为他还是有自己的受众的。你不能要求所有人的都学习R编程。&lt;/p&gt;&#10;&lt;p&gt;这些软件也有些优点，我最喜欢Matlab，他跟R有点像。好吧R跟matlab有点像，免得伤害Matlab user的感情。曾经有一个人发了一段代码，让用R实现。我不知道那人是什么动机。是想看看R能不能做到，还是想看看COS有没有人会。很不好意思，我两者都会一点，于是我就用R重现了那个过程，代码极其简单。后来，那人说，太牛了，这都能做到。其实，我想说，这不算什么。真的。牛人都在做更重要的事情。&lt;/p&gt;&#10;&lt;p&gt;我希望将来随着时日推移、随着SPSS，SAS，Matlab这一批老人家的辞世，R能快速的成长起来，老人家不愿意学编程，这一点我是很理解的，但是，他们阻碍了R的崛起，R将来势必是一种潮流。&lt;/p&gt;&#10;&lt;p&gt;目前，市场上流行一个观点。即数据越便宜，数据分析技术越昂贵。我早就意识到了这个问题，目前中国获取数据很难，大家都把数据当资源来买。国外就是不一样，国外开放很多数据，因为国外认为，数据里面的信息才是资源。我把数据源放开，你有本事就从里面寻找信息吧。所以，国外分析数据的人就很贵。&lt;/p&gt;&#10;&lt;p&gt;将来，中国的数据提供商肯定会转型，会开始搞咨询，搞分析，而不是单纯的卖数据。卖数据没有前途。他们不卖数据了，数据分析师就会开始值钱了。这一天，我相信很快就到来了。&lt;/p&gt;&#10;&lt;p&gt;R这么好，如何学习R呢?我推荐一些材料给大家。一个是Rforbeginner，R导论。看完之后，看一下Rin a Nutshell，接着看The R book或者Statistics with R。这些资源基本都是开放的。&lt;/p&gt;&#10;&lt;p&gt;你们也可以跟着学校的老师学，如果有用R的老师的话，实在不行就靠自己自学，来论坛问也是可以的。&lt;/p&gt;&#10;&lt;p&gt;总之，R是一片广阔的海域，你认为自己有理想，就放马过来吧。加入时代的浪潮，Come on!最后一点希望，希望在做的各位，将来毕业时都能够写出一篇漂亮的论文，不要抄袭！&lt;/p&gt;&#10;&lt;p&gt;祝各位身体健康，天天快乐，谢谢！&lt;/p&gt;&#10;</description></item></channel></rss>