<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>技止于此</title>
	<atom:link href="http://www.jiangtanghu.com/cn/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jiangtanghu.com/cn</link>
	<description>胡江堂：（所谓）技术博客</description>
	<lastBuildDate>Sat, 25 Feb 2012 01:57:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>极客屋</title>
		<link>http://www.jiangtanghu.com/cn/2012/02/25/%e6%9e%81%e5%ae%a2%e5%b1%8b/</link>
		<comments>http://www.jiangtanghu.com/cn/2012/02/25/%e6%9e%81%e5%ae%a2%e5%b1%8b/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 01:57:04 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=10049</guid>
		<description><![CDATA[刚Google了一下，大致有信心可以把GitHub翻译成“极客屋”这一荣誉划到自己名下。当然，早有把geek station翻译成“极客屋”的，窃以为可以并存。 科普一下，Git是最近几年开始流行的版本控制软件（比CVS、SVN要新），而GitHub(极客屋)则是部署了Git的一个网络合作平台（当然你也可以把Git部署在自己机器上）。谢益辉说Git是版本控制软件中的战斗机，极客屋则是程序员的Facebook。早就受他感染，自己也去注册了一个，开始玩儿： https://github.com/Jiangtang 看益辉自打来到美国，一半以上的在线时间都泡在极客屋里。借助个平台，大概可以激发自己写代码的兴致，我也要多督促自己多些代码了。 一月份我到的北卡，离SAS总部是更近，但是自己SAS代码却写得不多。我在这里换了份工作，从纯SAS程序员转成咨询顾问（还是在临床研究这个领域），工具大致是Excel、SAS Solutions（+Java）、PowerPoint，SAS Base本身则成了一门胶水语言，不像以前是出报表的主打工具。北卡地广人稀，鸡犬之声不相闻，跟北京比是几乎没什么应酬，刚好可以写写代码，杀杀时间（为写代码而写代码，简直跟为艺术而艺术一样纯粹）。 翻了下这个博客，更新得是很不够（我去年年底的一份总结在这里）。但接下来的时间里，我会更多地更新另一个英文技术博客（From a Logical Point of View）。关于技术话题（比如SAS， CDISC），即使对中文读者来说，英文也是更为Google Searchable的（如果google不到，那就可能不存在），这样对读者和我，都方便了很多。听谁说过，博客不是用来浏览的，而是用来被搜索的。这个中文（所谓）技术博客，我觉得最好用来说说八卦，技术八卦什么的，然后它们链上某些有意思的话题，比如说极客屋之类的。下篇或许谈谈我现在的公司和CDISC，我每天的工作。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2012/02/GitHub.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="GitHub" border="0" alt="GitHub" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2012/02/GitHub_thumb.png" width="395" height="237" /></a></p>
<p>刚Google了一下，大致有信心可以把GitHub翻译成“极客屋”这一荣誉划到自己名下。当然，早有把geek station翻译成“极客屋”的，窃以为可以并存。</p>
<p>科普一下，<a href="http://git-scm.com/" target="_blank">Git</a>是最近几年开始流行的版本控制软件（比CVS、SVN要新），而<a href="https://github.com/" target="_blank">GitHub</a>(极客屋)则是部署了Git的一个网络合作平台（当然你也可以把Git部署在自己机器上）。<a href="https://github.com/yihui" target="_blank">谢益辉</a>说Git是版本控制软件中的战斗机，极客屋则是程序员的Facebook。早就受他感染，自己也去注册了一个，开始玩儿：</p>
<blockquote><p><a href="https://github.com/Jiangtang">https://github.com/Jiangtang</a></p>
</blockquote>
<p>看益辉自打来到美国，一半以上的在线时间都泡在极客屋里。借助个平台，大概可以激发自己写代码的兴致，我也要多督促自己多些代码了。</p>
<p>一月份我到的北卡，离SAS总部是更近，但是自己SAS代码却写得不多。我在这里换了份工作，从纯SAS程序员转成咨询顾问（还是在临床研究这个领域），工具大致是Excel、SAS Solutions（+Java）、PowerPoint，SAS Base本身则成了一门胶水语言，不像以前是出报表的主打工具。北卡地广人稀，鸡犬之声不相闻，跟北京比是几乎没什么应酬，刚好可以写写代码，杀杀时间（为写代码而写代码，简直跟为艺术而艺术一样纯粹）。</p>
<p>翻了下这个博客，更新得是很不够（我去年年底的一份总结在<a href="http://li-and-jiang.com/blog/2011/12/29/2011-the-end/" target="_blank">这里</a>）。但接下来的时间里，我会更多地更新另一个英文技术博客（<em><a href="http://www.jiangtanghu.com/blog/" target="_blank">From a Logical Point of View</a></em>）。关于技术话题（比如SAS， CDISC），即使对中文读者来说，英文也是更为Google Searchable的（如果google不到，那就可能不存在），这样对读者和我，都方便了很多。听谁说过，博客不是用来浏览的，而是用来被搜索的。这个中文（所谓）技术博客，我觉得最好用来说说八卦，技术八卦什么的，然后它们链上某些有意思的话题，比如说极客屋之类的。下篇或许谈谈我现在的公司和CDISC，我每天的工作。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2012/02/25/%e6%9e%81%e5%ae%a2%e5%b1%8b/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>北大讲座（20111028）：SAS编程与生物统计</title>
		<link>http://www.jiangtanghu.com/cn/2011/10/26/sas-pku/</link>
		<comments>http://www.jiangtanghu.com/cn/2011/10/26/sas-pku/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 13:16:19 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2011/10/26/sas-pku/</guid>
		<description><![CDATA[这个周五，我会跟同事（SAS程序员和生物统计师）一起去北大做个关于SAS编程与生物统计的经验交流，感兴趣的朋友不妨去转转。这个活动由我以前在学校的社团，北大应用统计研究会帮忙张罗。之前我在协会负责SAS俱乐部。 主题（关键字）：SAS编程、生物统计、行业应用 时间：2011年10月28号，周五，晚上，7点到9点 地点：北京大学，二教422（地铁北大东门下就是） 适用人群：对SAS与生物统计感兴趣的在校生，其他感兴趣的朋友也欢迎捧场 组织单位：北京大学应用统计研究会 出席人员：来自赛诺菲巴斯德(Sanofi Pasteur)生物统计中国部的SAS程序员与生物统计师 这将是一场非正规的经验交流（赶在这个校园招聘忙的季节），但我们也抱着接触潜在实习生与员工的想法。对我个人来说，就是趁着机会，回次学校，见见朋友，再体会一把久违的社团生活。 又，如果你是在校生，先读一下这篇文章会很有作用： http://cos.name/2010/04/think-sas-1/]]></description>
			<content:encoded><![CDATA[<p>这个周五，我会跟同事（SAS程序员和生物统计师）一起去北大做个关于SAS编程与生物统计的经验交流，感兴趣的朋友不妨去转转。这个活动由我以前在学校的社团，<a href="http://10928.u.giftsplay.com/news/2967.html" target="_blank">北大应用统计研究会</a>帮忙张罗。之前我在协会负责SAS俱乐部。</p>
<blockquote><p><strong>主题（关键字）：SAS编程、生物统计、行业应用</strong></p>
<p><strong>时间：2011年10月28号，周五，晚上，7点到9点</strong></p>
<p><strong>地点：北京大学，二教422（地铁北大东门下就是）</strong></p>
<p><strong>适用人群：对SAS与生物统计感兴趣的在校生，其他感兴趣的朋友也欢迎捧场</strong></p>
<p><strong>组织单位：北京大学应用统计研究会</strong></p>
<p><strong>出席人员：来自赛诺菲巴斯德(</strong><a href="www.sanofipasteur.com" target="_blank"><strong>Sanofi Pasteur</strong></a><strong>)生物统计中国部的SAS程序员与生物统计师</strong></p>
</blockquote>
<p>这将是一场非正规的经验交流（赶在这个校园招聘忙的季节），但我们也抱着接触潜在实习生与员工的想法。对我个人来说，就是趁着机会，回次学校，见见朋友，再体会一把久违的社团生活。</p>
<p>又，如果你是在校生，先读一下这篇文章会很有作用：</p>
<blockquote><p><a href="http://cos.name/2010/04/think-sas-1/">http://cos.name/2010/04/think-sas-1/</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2011/10/26/sas-pku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>更新（技术与工作，2011-10-04）</title>
		<link>http://www.jiangtanghu.com/cn/2011/10/05/update/</link>
		<comments>http://www.jiangtanghu.com/cn/2011/10/05/update/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 04:39:48 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[CDISC]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[人物]]></category>
		<category><![CDATA[机器学习与数据挖掘]]></category>
		<category><![CDATA[统计备忘录]]></category>
		<category><![CDATA[胡说]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[数据挖掘]]></category>
		<category><![CDATA[统计]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2011/10/05/update/</guid>
		<description><![CDATA[大半年没跟新了。一些个人技术方面的动向在英文博客里： 1.&#160; 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 [...]]]></description>
			<content:encoded><![CDATA[<p>大半年没跟新了。一些个人技术方面的动向在英文博客里：</p>
<p>1.&#160; <a href="http://www.jiangtanghu.com/blog/category/cdisc/" target="_blank">CDISC Express</a></p>
<p>CDISC Express是一款开源的SDTM转化器，基于SAS和Excel（其实背后是XML）。我为这个产品写了一系列的入门教程，并参加了一个相应的比赛（<a href="http://blog.clinovo.com/and-the-winner-is/" target="_blank">赢了一台iPad</a>）。<a href="http://yihui.name/cn/2011/09/ny-strata-and-nj-att/" target="_blank">益辉最近也抽中了一台Kindle</a>，加上上半年<a href="http://li-and-jiang.com/blog/2011/04/06/sasgf11/" target="_blank">在SAS Global Forum拎回来的一台Kindle</a>,不禁感慨，知识（和概率）真是咱农民的第一生产力呀。对着手头这台上世纪的诺基亚6300，我坚定的目光瞄上了iPhone5。有一句话说，做自己喜欢的事，然后找一个人或机构买单，人生一乐也。</p>
<p>又，把临床数据自动导入到符合CDISC标准的数据集，现在有不少vendor在做，很多药厂内部也有开发。感兴趣的朋友不妨也鼓捣鼓捣。</p>
<p>2. <a href="http://www.jiangtanghu.com/blog/2011/10/04/map-and-reduce-in-mapreduce-a-sas-illustration/" target="_blank">Big</a> <a href="http://www.jiangtanghu.com/blog/2011/09/14/analytical-valley/" target="_blank">Data</a></p>
<p>现在还提这个概念就较不时尚了，重要的是如何做，或者如何为以后做些准备。<a href="blogs.sas.com/content/datamanagement/2011/08/29/sas-hadoop-and-big-data" target="_blank">SAS也将加入对Hadoop的支持</a>，不过现在Hadoop的框架还是基于Java，拣回来些C/C++、Java或者Python还是很有戏场的（甚至R也能够玩会Hapoop），对一个SAS程序员来说，是时候更新自个的工具箱了。</p>
<p>迄今为止，这个领域还是IT人士的天下。这一方面说明了我们这些传统的数据分析人员还需要夯实技术（去看看<a href="http://hadoop.apache.org/common/docs/r0.17.2/mapred_tutorial.html" target="_blank">Hadoop的‘hello world’</a>, 所有的操作都要分解为<a href="http://www.jiangtanghu.com/blog/2011/10/04/map-and-reduce-in-mapreduce-a-sas-illustration/" target="_blank">map()和reduce()</a>,而这并不是所有人都习惯的），也说明目前这一块，发展还在起步阶段，因为这些框架，最终都是要为了让数据产生价值，而这就不可能有数据分析师的缺席。 </p>
<p>3. SAS之外</p>
<p>这些日子，在SAS之外，试图拣回来些<font color="#ff0000">数据挖掘</font>的东西。本来准备四月份在拉斯维加考下SAS数据挖掘的认证，后来还是被其他事情给挪掉了。最后所得就是，还是稍微看了下这块的东西，在概念上是过了一遍。这次在拉斯维加，碰到以前在北大一起做SAS俱乐部的朋友光辉，他现在加拿大工作。光辉说他趁着开会的缝隙，随手把SAS的数据挖掘认证（<a href="http://support.sas.com/certify/creds/dm.html" target="_blank">SAS Certified Predictive Modeler using SAS Enterprise Miner 5 or 6 Credential</a>）给考了。这叫行动力啊。</p>
<p>机缘巧合，这上半年有朋友给我介绍<font color="#ff0000">Feature Selection</font>（大白话就叫变量选择，在数据挖掘里面属于前期的工作），我就<a href="http://www.jiangtanghu.com/blog/2011/01/15/feature-selection-collections-for-self-study/" target="_blank">对着一个R的包看了一遍</a>，也就是在脑袋里过一下，最后没有什么成果出来。另一个额外的好处是，这次我是对R在学习方面的优势有了切身体验，对R算是有了些个人感情。一边找论文看，然后几乎就能找到一个相应的R包跑一跑，增加些手感，这效果真是不错。</p>
<p>再说些<font color="#ff0000">R</font>。我还真尝试过认真学一学R。做为一个SAS程序员，想，还是从input/output开始吧，就先研读官方文档<em>R Data Import/Export</em>，转了一圈，发现，这数据读取转存还是SAS更为方便有效，对我来说，鼓捣这个有点得不偿失，遂罢。</p>
<p>又想，R对SAS的一个优势在于它支持多种数据结构，像array、list之类，就从这入手了。不知道怎么搞的，在学习R的数据结构时，可能是我学习不够深入，修为不够，总觉得有些不够畅快——具体我说不上来。想，我还是把自己的Python拣回来吧，R跟Python有类似的地方。后来我就能说上来了，Python的List等数据结构，对我来说，的确是更为优雅（换一种说法，或者是因为我还没有读到一本“优雅地”介绍R数据结果的文档）。好吧，到此为止，我的R还停留在用它尝试算法的阶段。</p>
<p>然后就是捡回<font color="#ff0000">Python</font>。我两年多的SAS程序员工作经历，一个直接的后果就是把之前学过的一点C++、Java和Python又打回“hello world”的水平，手都生疏了。我读了很多<a href="http://www.jiangtanghu.com/blog/2011/08/15/sas-bloggers-in-action-2-jian-dai-and-his-sas-academy/" target="_blank">Jian Dai（他在加州做SAS程序员）的代码</a>，包括Perl, C, JavaSAcript等等，想，做SAS程序员也不至于把其他的语言都丢掉，为了方便，又重新学习下Python。</p>
<p>为学而学毕竟有局限，在工作中使用当然来得最快。现在我还没有这机会，除了翻文档之外，就尝试用Python写些小东西，把它就当一回事一样。其实，除了工作中直接使用，还有一项就是参加开源运动——我看<a href="http://yihui.name/en/" target="_blank">益辉</a>这几年写R代码是风生水起，一个极大的外部刺激就是参与开源运动，整个积极性都给起来了。一个普通的统计学博士生，用不了那个多的代码量，那动力，就在于统计之外。</p>
<p><font color="#ff0000">统计</font>。今年的基础统计学习，没有去年那么饱满。每天跟统计师打交道，就想好好学习一下他们的语言。今年，到现在为止，算是在工作中（向统计师）学习，整了下<a href="http://www.jiangtanghu.com/blog/2011/07/14/a-sas-implementation-of-confidence-intervals-for-single-proportion-eleven-methods/" target="_blank">CI calculation</a>和euivalence and noninferiority test。下一步准备鼓捣些Sample Size之类。有个哥们写了一篇文章叫<em><a href="http://zedshaw.com/essays/programmer_stats.html" target="_blank">Programmers Need To Learn Statistics Or I Will Kill Them All</a></em>，好吧，作为一个程序员，为了生命安全，每天跟统计师打交道，还是学下统计了。</p>
<p>4. 工作</p>
<p>不是说自己的工作，是说工作与实习机会。感兴趣的朋友，不妨跟我联系。中南大学统计系的本科生<a href="http://hssnow.name/" target="_blank">韩帅</a>，不久前结束在我公司的实习，在Sxlion主持的<a href="http://saslist.net/" target="_blank">SAS中文门户</a>写了两篇非常有价值的总结文章，大伙可以去看看：</p>
<blockquote><p><a href="http://saslist.net/archives/200" target="_blank">一个SAS菜鸟的故事 学习篇</a></p>
<p><a href="http://saslist.net/archives/202" target="_blank">一个SAS菜鸟的故事 实习篇</a></p>
</blockquote>
<p>人是这样的，只有经历过了（我说的是第一份实习或其他），才能自信地自称“菜鸟”，否则就真是论坛里“弱弱地问”的菜鸟。我推荐我公司，当然是因为最熟悉。说实在的，在北京，在药厂，对SAS程序员来说，这的确是一份不错的的实习机会。去年我也推荐了<a href="http://yaohua.cos.name/cn/" target="_blank">汤耀华</a>来我公司做实习生，他现在中科院读研。这两位都来自中南大学，怎么说？对我和我的同事来说，他们提升了中南大学在我们心目中的分量。在上海，我想，很多SAS程序员对中南大学也很有兴趣。</p>
<p>一些大学生朋友给我写邮件打电话，说些职业或技术选择的事。这不是选择两个到手的offer，大哥，随便扎进一个方向，都比在那犹豫强。</p>
<p>5. SAS</p>
<p>还是得提一下SAS。现在用上SAS9.2了（然后SAS9.3就华丽丽地发布了。。。），对我来说，直接地，有两个触动：</p>
<p>1）SAS9.2及以后，作图更漂亮，我终于有些动力研究下SAS作图了。在公司，去年与宾州的同事一道，把公司作图的macro（基于9.1.3）的更新以后，以后都直接调用，压根就没写过proc gplot之类，然后我就发现自己作图的那一点点手艺正在迅速凋零。。。</p>
<p>2）SAS9.2中，BASE中正式支持自定义函数（仿佛听到其他门类的程序员在冷笑，我弱弱地辩解一下，SAS/IML早就可以自定义函数，而且对SAS程序员来讲，一直使用macro写一种叫function-like macro，而且，macro也支持递归。。。）。这将给我们的编程生活带来不少乐趣，其中之一就是可以把以前的一些macro改写成函数（方便debug啊）。</p>
<p>在写函数之前，我把SAS BASE里面的函数都看了一遍，省得以后重复造轮子：</p>
<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/10/SAS_Func.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="SAS_Func" border="0" alt="SAS_Func" align="left" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/10/SAS_Func_thumb.png" width="416" height="229" /></a> </p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>把所有的函数分门别类导入到Excel，然后动用一点VBA，把每个函数的解释都搁进每个函数名的comments里。这么一梳理，又发现不少有趣的东西，再议。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2011/10/05/update/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>（又一次）狭路相逢（？）： SAS和R</title>
		<link>http://www.jiangtanghu.com/cn/2011/05/20/sas-r/</link>
		<comments>http://www.jiangtanghu.com/cn/2011/05/20/sas-r/#comments</comments>
		<pubDate>Thu, 19 May 2011 19:08:45 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[S:R&S-PLUS]]></category>
		<category><![CDATA[人物]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2011/05/20/sas-r/</guid>
		<description><![CDATA[我有个担心，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&#160;&#160;&#160; 赵毅&#160;&#160;&#160; R与.NET混合编程及其在化学计量学中的应用 2&#160;&#160;&#160; 李青龙&#160;&#160;&#160; R与VBA混合编程 3&#160;&#160;&#160; 王洪月&#160;&#160;&#160; SAS Interation With R 4&#160;&#160;&#160; 胡江堂&#160;&#160;&#160; R vs SAS 5&#160;&#160;&#160; 颜林林&#160;&#160;&#160; R的高级编程技巧及Rcpp的介绍 6&#160;&#160;&#160; 李舰&#160;&#160;&#160; R与高性能运算 7&#160;&#160;&#160; 张金龙&#160;&#160;&#160; 系统发育比较方法方面 8&#160;&#160;&#160; 张雯&#160;&#160;&#160; R对物种的进化关系进行分析 9&#160;&#160;&#160; 曹宗富&#160;&#160;&#160; 基于R Bioconductor进行生物芯片数据分析 10&#160;&#160;&#160; 曹飞&#160;&#160;&#160; R在生物信息学中的应用 11&#160;&#160;&#160; 卢一鸣&#160;&#160;&#160; Lasso算法在高通量生物数据处理中的应用 12&#160;&#160;&#160; 李欣海&#160;&#160;&#160; R在生物统计教学方面的应用 13&#160;&#160;&#160; 肖嘉敏&#160;&#160;&#160; 基于R的网络用户行为研究 14&#160;&#160;&#160; 祝迎春&#160;&#160;&#160; R在择偶上的应用 15&#160;&#160;&#160; 邓一硕&#160;&#160;&#160; R在计量金融的应用 [...]]]></description>
			<content:encoded><![CDATA[<p>我有个担心，SAS在国内甚至都没有兴起过，但在校生可能就不愿学它，或者没机会学它了。所以我业余生活的一块，就是在国内R用户最密集的社区，“统计之都”(<a href="cos.name" target="_blank">cos.name</a>)，低调低调<a href="http://cos.name/2010/04/think-sas-1/" target="_blank">鼓吹SAS</a>。</p>
<p>要声明一下，我对R印象也非常好，身边很多朋友用R，大多在高校，也有在职的。我个人机器里装了R，也用R自学过些<a href="http://www.jiangtanghu.com/blog/2011/01/15/feature-selection-collections-for-self-study/" target="_blank">数据挖掘</a>，但用得都不够深入，自然是没有底气评价它如何如何，我关注R的行业新闻要多于R本身。不过想身边这么多聪明的大脑都用R，凭他们的品味，R一定不错。关于SAS和R，我的主要意思是，为了找工作的便利，学点SAS吧，又不是什么水火不容。想，有这么多也不笨的大脑，这么多也受人尊重的公司，不用说，SAS也是不赖的东西。</p>
<p>在R面前提SAS，我的语气一般会很谦虚。为什么？因为SAS跟R相比，是太不对称了。现在SAS系统9.2，代码量是1600万行，跟R比赢了是胜之不武，输了就很没面子。所以在“虚拟的”<a href="http://cos.name/2009/01/r-and-sas-new-york-times/" target="_blank">R与SAS之争</a>中，R用户天然占优势地位。</p>
<p>现在SAS用户有一个直接与R用户沟通的机会，“<a href="http://cos.name/2011/04/chinar-2011/" target="_blank">第四届中国R语言会议</a>”，2011年5月28日~29日，人民大学，现在有18个话题：</p>
<blockquote><p>1&#160;&#160;&#160; 赵毅&#160;&#160;&#160; R与.NET混合编程及其在化学计量学中的应用     <br />2&#160;&#160;&#160; 李青龙&#160;&#160;&#160; R与VBA混合编程      <br /><font color="#ff0000"><strong>3&#160;&#160;&#160; 王洪月&#160;&#160;&#160; SAS Interation With R         <br />4&#160;&#160;&#160; 胡江堂&#160;&#160;&#160; R vs SAS</strong></font>      <br />5&#160;&#160;&#160; 颜林林&#160;&#160;&#160; R的高级编程技巧及Rcpp的介绍      <br />6&#160;&#160;&#160; 李舰&#160;&#160;&#160; R与高性能运算      <br />7&#160;&#160;&#160; 张金龙&#160;&#160;&#160; 系统发育比较方法方面      <br />8&#160;&#160;&#160; 张雯&#160;&#160;&#160; R对物种的进化关系进行分析      <br />9&#160;&#160;&#160; 曹宗富&#160;&#160;&#160; 基于R Bioconductor进行生物芯片数据分析      <br />10&#160;&#160;&#160; 曹飞&#160;&#160;&#160; R在生物信息学中的应用      <br />11&#160;&#160;&#160; 卢一鸣&#160;&#160;&#160; Lasso算法在高通量生物数据处理中的应用      <br />12&#160;&#160;&#160; 李欣海&#160;&#160;&#160; R在生物统计教学方面的应用      <br />13&#160;&#160;&#160; 肖嘉敏&#160;&#160;&#160; 基于R的网络用户行为研究      <br />14&#160;&#160;&#160; 祝迎春&#160;&#160;&#160; R在择偶上的应用      <br />15&#160;&#160;&#160; 邓一硕&#160;&#160;&#160; R在计量金融的应用      <br />16&#160;&#160;&#160; 林伟林&#160;&#160;&#160; R在套利中的应用      <br />17&#160;&#160;&#160; 李颖&#160;&#160;&#160; R相关书籍的出版      <br />18&#160;&#160;&#160; 张伟平&#160;&#160;&#160; MCMC方法在R中的实现</p>
</blockquote>
<p>到时我会把这场“虚拟的”<a href="http://cos.name/2009/01/r-and-sas-new-york-times/" target="_blank">R与SAS之争</a>直接带到会场。王洪月是我的前同事，来自SAS中国研发中心，我很期待他关于SAS 9.2中跟R交互的内容，这才是最积极的正面举动。</p>
<p>又，看现在收到的话题，刨去3、4两个关于SAS的，总结一下，生物信息和social network这块，还真是很火啊：</p>
<blockquote><p>R与其他语言交互，包括.net、VBA和C++： 1、2、5，</p>
<p>高性能运算：6，这对SAS来说，也是很火的话题</p>
<p>生物：8、9、10、11、12</p>
<p>SNS：13、14</p>
<p>金融：15、16</p>
<p>算法：18，MCMC</p>
<p>其他：17</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2011/05/20/sas-r/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SAS: 追星篇</title>
		<link>http://www.jiangtanghu.com/cn/2011/05/20/sas-gurus/</link>
		<comments>http://www.jiangtanghu.com/cn/2011/05/20/sas-gurus/#comments</comments>
		<pubDate>Thu, 19 May 2011 18:26:54 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[人物]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2011/05/20/sas-%e8%bf%bd%e6%98%9f%e7%af%87/</guid>
		<description><![CDATA[对SAS，这套软件，这家公司，还有这套软件这家公司后面的人，我都带着很浓重的个人感情。现在，可以自豪地宣布，我完成了人生一个的小小心愿，参观了SAS总部，还有就是当面见到了SAS公司1976年的三个创始人： 第一个Anthony James(Jim) Barr，更多地被称为Tony，SAS系统的发明人，今年4月份在佛罗里达拜访他并长谈（右一）： &#160; Jim Goodnight和John Sall，现在SAS公司的一、二号当家，在拉斯维加斯的SAS全球大会见到。我没有跟Jim Goodnight有任何互动，最“近”的一次是几年前，当时在SAS中国研发中心，收到唯一一份来自Goodnight的邮件，大概是群发给全球一万多号员工的。John Sall来过北京，不过没机会见过。这次在拉斯维加，在一间中型会议室，看他慢慢演示JMP，差点超时。 第四个创始人Jane负责文档，还没有见过。不过去年，就在北京，有幸见过第一本SAS user guide (A User&#8217;s Guide to the Statistical Analysis System, 1972)的作者，Dr. Jolayne (‘Jo’) Service(左二): &#160; Jo离开北京后，还随着美国统计学代表团参加了上海生物统计学术论坛（SBF）组织的活动。]]></description>
			<content:encoded><![CDATA[<p>对SAS，这套软件，这家公司，还有这套软件这家公司后面的人，我都带着很浓重的个人感情。现在，可以自豪地宣布，我完成了人生一个的小小心愿，参观了SAS总部，还有就是当面见到了SAS公司1976年的<a href="http://li-and-jiang.com/blog/2010/01/24/sas/" target="_blank">三个创始人</a>：</p>
<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/05/4J_SAS.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="4J_SAS" border="0" alt="4J_SAS" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/05/4J_SAS_thumb.png" width="450" height="149" /></a> </p>
<p>第一个Anthony James(Jim) Barr，更多地被称为Tony，SAS系统的发明人，今年4月份在佛罗里达拜访他并长谈（右一）：</p>
<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/05/Tony.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Tony" border="0" alt="Tony" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/05/Tony_thumb.jpg" width="329" height="248" /></a>&#160;</p>
<p>Jim Goodnight和John Sall，现在SAS公司的一、二号当家，在拉斯维加斯的S<a href="http://li-and-jiang.com/blog/2011/04/06/sasgf11/" target="_blank">AS全球大会</a>见到。我没有跟Jim Goodnight有任何互动，最“近”的一次是几年前，当时在SAS中国研发中心，收到唯一一份来自Goodnight的邮件，大概是群发给全球一万多号员工的。John Sall来过北京，不过没机会见过。这次在拉斯维加，在一间中型会议室，看他慢慢演示JMP，差点超时。</p>
<p>第四个创始人Jane负责文档，还没有见过。不过去年，就在北京，有幸见过第一本SAS user guide (<i>A User&#8217;s Guide to the Statistical Analysis System, </i>1972)的作者，Dr. Jolayne (‘Jo’) Service(左二):</p>
<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/05/Jo.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Jo" border="0" alt="Jo" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2011/05/Jo_thumb.jpg" width="377" height="251" /></a>&#160;</p>
<p>Jo离开北京后，还随着美国统计学代表团参加了上海生物统计学术论坛（SBF）组织的活动。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2011/05/20/sas-gurus/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>活动两条：数据挖掘竞赛和SAS大会</title>
		<link>http://www.jiangtanghu.com/cn/2011/03/20/dm-sgf2011/</link>
		<comments>http://www.jiangtanghu.com/cn/2011/03/20/dm-sgf2011/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 08:47:35 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[SGF2011]]></category>
		<category><![CDATA[数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2011/03/20/dm-sgf2011/</guid>
		<description><![CDATA[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精神： 一个Twitter账户，#SASGF11 一个官方博客，http://blogs.sas.com/sgf/ 一个Facebook账户 一个LinkedIn讨论组 一个信息门户，http://sascommunity.org/ 到时热闹了。]]></description>
			<content:encoded><![CDATA[<p><strong>1.</strong><a href="http://www.statmodelingcompetition.com/" target="_blank"><strong>第一届全国大学生数据挖掘邀请赛</strong></a></p>
<p>“统计之都”(<a href="http://cos.name">http://cos.name</a>)的朋友拉来人大统计学院和中科大管理学院，一起办一个大学生数据挖掘的比赛（“<a href="http://www.statmodelingcompetition.com/" target="_blank">第一届全国大学生数据挖掘邀请赛</a>”）。非在校生的朋友可能也会感兴趣，这次比赛的赞助商是上海的一家婚恋交友网站，比赛的任务是，“评估给定的候选会员集合中，哪些会员更容易获得特定会员A的青睐”。有评论认为，这是两会之后，真正关注国计民生的好题目。</p>
<p>预祝这次竞赛活动圆满成功。先去围观了：</p>
<blockquote><p><a href="http://www.statmodelingcompetition.com">http://www.statmodelingcompetition.com</a></p>
<p><a href="http://cos.name/2011/03/1st-data-mining-competetion-for-college-students/">http://cos.name/2011/03/1st-data-mining-competetion-for-college-students/</a></p>
</blockquote>
<p><strong>2. </strong><a href="http://support.sas.com/events/sasglobalforum/2011/" target="_blank"><strong>SAS Global Forum 2011</strong></a><strong>, Las Vegas, Apr 4-7</strong></p>
<p>SGF2011的会议论文已经放在网上，大伙可以先睹为快：</p>
<blockquote><p><a href="http://support.sas.com/resources/papers/proceedings11/TOC.html">http://support.sas.com/resources/papers/proceedings11/TOC.html</a></p>
</blockquote>
<p>这将是我<a href="http://support.sas.com/resources/papers/proceedings11/211-2011.pdf" target="_blank">第一次参加SGF</a>。<a href="http://support.sas.com/resources/papers/proceedings11/211-2011.pdf" target="_blank">我提交的论文</a>很水，几乎跟SAS无关，讲的是装备一个SAS程序员的几个简单的工具：文本编辑器Notepad++、文件比较工具Beyond Compare以及个人信息门户Gmail和Google Reader。</p>
<p>——恩？怎么还有Gmail？这话题似乎难登大雅之堂，但我觉得还是非常重要的。总体而言，SAS程序员/SAS用户的技术装备水平不高。根据SAS邮件组SAS-L订阅者邮箱使用的相关数据（<a href="http://www.howles.com/sas-l">http://www.howles.com/sas-l</a>），一共有3万7千个注册邮箱，现在能跟使用者本人对应起来的邮箱数大概是4千8百个。而在这4800个可以说是较为有效的邮箱中：</p>
<ul>
<li>.edu后缀的有722个</li>
<li>.net的698个</li>
<li>.org的198个</li>
<li>.gov的195个</li>
<li>.com的当然最多，有2680个</li>
</ul>
<p align="justify">而在这2680个.com邮箱中，有大量分散的公司邮箱，不论，几个常用的免费邮箱是</p>
<ul>
<li>
<div align="justify"><font color="#ff0000">Gmail</font>有269个</div>
</li>
<li>
<div align="justify">Yahoo有252个</div>
</li>
<li>
<div align="justify">Hotmail有174个</div>
</li>
</ul>
<p align="justify">这什么概念？首先，SAS用户，大量集中在企业，我猜R-help邮件组的Gmail使用者应该会非常多——当然这不是这里的重点。使用公司或机构邮箱的，大多数人用outlook之类的客户端收发邮件，其余的如Gmail、Yahoo、Hotmail用户大多使用Webmail的方式。作为一个Gmail爱好者，我好奇的是众多的非gmail用户如何管理（以及忍受）来自SAS-L成千上万的邮件的。</p>
<p align="justify">又，SAS-L的Gmail邮箱订阅者较少，还有一个可能，就是大伙都喜欢在工作时间收取SAS邮件。我个人推荐用Gmail收取邮件组的邮件，同样，根据个人兴趣，那天我还会跟SAS用户推荐Google Reader，这个所谓Web2.0时代的利器。这次SAS大会同样也充满2.0精神：</p>
<ul>
<li>
<div align="justify">一个Twitter账户，<a href="http://twitter.com/SASGlobalForum">#SASGF11</a></div>
</li>
<li>
<div align="justify">一个官方博客，<a href="http://blogs.sas.com/sgf/">http://blogs.sas.com/sgf/</a></div>
</li>
<li>
<div align="justify">一个<a href="www.facebook.com/SASGlobalForum" target="_blank">Facebook</a>账户</div>
</li>
<li>
<div align="justify">一个<a href="http://www.linkedin.com/groups/SAS-Global-Forum-2011-2993852" target="_blank">LinkedIn</a>讨论组</div>
</li>
<li>
<div align="justify">一个信息门户，<a href="http://sascommunity.org/">http://sascommunity.org/</a></div>
</li>
</ul>
<p>到时热闹了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2011/03/20/dm-sgf2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>年末流水帐</title>
		<link>http://www.jiangtanghu.com/cn/2010/12/30/%e5%b9%b4%e6%9c%ab%e6%b5%81%e6%b0%b4%e5%b8%90/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/12/30/%e5%b9%b4%e6%9c%ab%e6%b5%81%e6%b0%b4%e5%b8%90/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 09:06:17 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[SGF2011]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/12/30/%e5%b9%b4%e6%9c%ab%e6%b5%81%e6%b0%b4%e5%b8%90/</guid>
		<description><![CDATA[首先是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数据挖掘的认证考下来。这样这几个月就又有得东西忙了。 明年准备数据挖掘，但今年开始的统计学基础还不能丢。还想给“统计之都”写些类似“方差分析初步”之类的文字。统计学我的底子高深不了，就沉浸在表达这块了。 大伙新年愉快。]]></description>
			<content:encoded><![CDATA[<p>首先是<a href="http://sas-programming.blogspot.com" target="_blank">oloolo</a>同学在<a href="http://www.mysas.net/forum/viewtopic.php?f=8&amp;t=7201" target="_blank">my.sas</a>论坛问我以前那个<a href="http://cos.name/2010/04/think-sas-1/" target="_blank"><em>Think SAS</em></a> 系列继不继续。话说我有很多标记为“（一）”的文章没有继续下去，长此以往，国将不国，不好不好。趁着年假，把早就搁在机器的草稿拎出来，再推进了五六千字，《Think SAS》（二）：</p>
<blockquote><p><a href="http://cos.name/2010/12/think-sas-2/">http://cos.name/2010/12/think-sas-2/</a></p>
</blockquote>
<p>感兴趣的朋友不妨去拍拍砖。还没写完，这个系列。</p>
<p>另外，我有<a href="http://sgf2011.confnav.com/sgf2011/web/sessions/detail.html?id=20101023091009653775000000" target="_blank">一篇文章</a>被明年的SAS全球论坛(SGF2011, April4-7, Las Vegas)接受，题目很大，叫做<em>Work Smarter than Harder-tools for growing up a SAS programmer</em>,写的是装备SAS程序员的一些普通工具。卑之无甚高论，但现实中一般SAS程序员的装备还是挺落后的，大都拿“分析员”而不是“程序员”的标准要求自个。这篇文章草稿在</p>
<p><a title="http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf" href="http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf">http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf</a></p>
<p>一样欢迎大伙拍砖评论。</p>
<p>明年去拉斯维加斯，心里又不禁嘀咕，倒是可以趁着这个机会把SAS数据挖掘的认证考下来。这样这几个月就又有得东西忙了。</p>
<p>明年准备数据挖掘，但今年开始的统计学基础还不能丢。还想给“统计之都”写些类似“方差分析初步”<a href="http://sgf2011.confnav.com/sgf2011/web/sessions/detail.html?id=20101023091009653775000000" target="_blank">之类的文字</a>。统计学我的底子高深不了，就沉浸在表达这块了。</p>
<p>大伙新年愉快。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/12/30/%e5%b9%b4%e6%9c%ab%e6%b5%81%e6%b0%b4%e5%b8%90/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PhD in Statistics Needed: SAS R&amp;D China</title>
		<link>http://www.jiangtanghu.com/cn/2010/11/23/statistics-phd-sas/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/11/23/statistics-phd-sas/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 12:16:21 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[工作]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/11/23/statistics-phd-sas/</guid>
		<description><![CDATA[SAS中国研发中心（北京）需要招几个统计学博士（modeling+SAS）。感兴趣的朋友可以跟我联系： jiangtanghu&#60;at&#62;gmail&#60;dot&#62;com 这里只负责牵线搭桥，具体的会安排您跟SAS R&#38;D的负责人谈。]]></description>
			<content:encoded><![CDATA[<p>SAS中国研发中心（北京）需要招几个统计学博士（modeling+SAS）。感兴趣的朋友可以跟我联系：</p>
<blockquote><p>jiangtanghu&lt;at&gt;gmail&lt;dot&gt;com</p>
</blockquote>
<p>这里只负责牵线搭桥，具体的会安排您跟SAS R&amp;D的负责人谈。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/11/23/statistics-phd-sas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>理解统计学</title>
		<link>http://www.jiangtanghu.com/cn/2010/11/14/how-to-learn-stat/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/11/14/how-to-learn-stat/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 11:26:27 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[统计备忘录]]></category>
		<category><![CDATA[胡说]]></category>
		<category><![CDATA[假设检验]]></category>
		<category><![CDATA[统计]]></category>
		<category><![CDATA[统计之都]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/11/14/how-to-learn-stat/</guid>
		<description><![CDATA[像外行一样思考，像专家一样实践。 刚在“统计之都”（COS）贴了一篇读书笔记，关于假设检验的基本概念。作为一个非统计出身的SAS程序员，我特别在意如何用大白话来解释统计学的概念：数学公式的推导，我可能走不了多远；但用普通话给表达出来，我其实没什么劣势。写这类文章，我都把自己的认知界定在高中水平，然后一路路给出示例说明，最后达到理解某些概念的目的。比如这篇关于假设检验，基于这段时间来生物统计学基本教材的阅读（这里和这里）而做的一个笔记，就是从日常的逻辑推理说开去。从常识说起，能推到多远，就写到多远。 这一年的统计学阅读，多集中在生物统计方面。生物统计基础，是统计学中最保守也是最经典最严格的那部分——这对我来说，一个好处就是，可以借这个机会，细致地补补统计学101。如果有时间，我倒是愿意就每个主题都写一篇。以后如果自己长时间不接触统计学了，通过自己的笔记还可以迅速捡回来（《程序员统计书》？）。时间，写这个东西最耗的就是时间：什么东西都得不厌其烦地写出来。最后自己读一读，都有些琐屑的味道。 &#8212;&#8212;&#8212;&#8211; 在那篇博文里，我借用了一个在线统计学习网站的一个t分布生成器，挺方便的东西： http://onlinestatbook.com/calculators/]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>像外行一样思考，像专家一样实践。</strong></p>
</blockquote>
<p>刚在“统计之都”（<a href="http://cos.name">COS</a>）贴了一篇读书笔记，关于<a href="http://cos.name/2010/11/hypotheses-testing/">假设检验的基本概念</a>。作为一个非统计出身的SAS程序员，我特别在意如何用大白话来解释统计学的概念：数学公式的推导，我可能走不了多远；但用普通话给表达出来，我其实没什么劣势。写这类文章，我都把自己的认知界定在高中水平，然后一路路给出示例说明，最后达到理解某些概念的目的。比如这篇<a href="http://cos.name/2010/11/hypotheses-testing/">关于假设检验</a>，基于这段时间来生物统计学基本教材的阅读（<a href="http://www.jiangtanghu.com/cn/2010/10/17/math-prob-stat/">这里</a>和<a href="http://www.jiangtanghu.com/cn/2010/08/08/sas-stat/">这里</a>）而做的一个笔记，就是从日常的逻辑推理说开去。从常识说起，能推到多远，就写到多远。</p>
<p>这一年的统计学阅读，多集中在生物统计方面。生物统计基础，是统计学中最保守也是最经典最严格的那部分——这对我来说，一个好处就是，可以借这个机会，细致地补补统计学101。如果有时间，我倒是愿意就每个主题都写一篇。以后如果自己长时间不接触统计学了，通过自己的笔记还可以迅速捡回来（<em>《程序员统计书》？</em>）。时间，写这个东西最耗的就是时间：什么东西都得不厌其烦地写出来。最后自己读一读，都有些琐屑的味道。</p>
<p>&#8212;&#8212;&#8212;&#8211;</p>
<p>在那篇博文里，我借用了一个<a href="http://onlinestatbook.com/">在线统计学习网站</a>的一个<a href="http://onlinestatbook.com/calculators/t_calc.html">t分布生成器</a>，挺方便的东西：</p>
<p><a href="http://onlinestatbook.com/calculators/">http://onlinestatbook.com/calculators/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/11/14/how-to-learn-stat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAS博客大观</title>
		<link>http://www.jiangtanghu.com/cn/2010/11/02/sas-blog/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/11/02/sas-blog/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 13:46:14 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[人物]]></category>
		<category><![CDATA[博客]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/11/02/sas-blog/</guid>
		<description><![CDATA[全民皆博（非“微博”）的黄金时期已经过去，各种技术博客倒是风起云涌（再拽一个词，方兴未艾）。说说SAS博客的事。 英文世界里，SAS程序员第一个应该去的地方应该是SAS Community Planet: http://www.sascommunity.org/planet/&#160;&#160; 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群组，现在都还是刚刚起了个头。]]></description>
			<content:encoded><![CDATA[<p>全民皆博（非“微博”）的黄金时期已经过去，各种技术博客倒是风起云涌（再拽一个词，方兴未艾）。说说SAS博客的事。</p>
<p>英文世界里，SAS程序员第一个应该去的地方应该是<strong><a href="http://www.sascommunity.org/planet/">SAS Community Planet</a>:</strong></p>
<blockquote><p><a href="http://www.sascommunity.org/planet/">http://www.sascommunity.org/planet/</a>&#160;&#160; <a href="http://www.sascommunity.org/planet/RSS">RSS</a>订阅：<a href="http://www.sascommunity.org/planet/rss20.xml">http://www.sascommunity.org/planet/rss20.xml</a></p>
</blockquote>
<p>现在里面收录了<font color="#ff0000">24</font>个相关博客（包括“<a href="http://jiangtanghu.com/cn">技止于此</a>”的英文博客，<em><a href="http://www.jiangtanghu.com/blog/">From a Logical Point of View</a></em>），内容涵盖SAS编程、BI、行业信息等等。另外，SAS一些员工或部门也在在其主页开博（现在是<font color="#ff0000">15</font>个），见</p>
<blockquote><p><a href="http://support.sas.com/community/rss/">http://support.sas.com/community/rss/</a></p>
</blockquote>
<p>这里的博客与Planet的博客会有些重合，建议是一个个点过去，总能找到值得订阅的。比如，SAS公司负责IML开发的<a href="http://blogs.sas.com/iml/">Rick Wicklin</a>，今年的9月初开了一个IML相关的博客，唤作<a href="http://blogs.sas.com/iml/"><em>The Do Loop</em></a>，现在已经有33篇了，质量都很高，而且适合不同层次的读者阅读。有意思的是，他有个明文的规矩，周一些初级篇，周三是中级篇，周五则是高级篇，各位读者，皆大欢喜（这里介绍了这么多Rick，也有一些私心。他上个月也推荐了一下我的<a href="http://blogs.sas.com/iml/index.php?/archives/41-Learning-PROC-IML-A-SAS-Programmers-Perspective.html">一篇博文</a>，也是关于IML的。之前我在blogger开英文博客，到现在也没写几篇，以后再接再厉了）。</p>
<p>回到中文世界。<a href="http://mysas.net/forum">mysas论坛</a>的掌门人shiyiming前些日子新开辟了一个栏目，叫做“SAS世博汇”，号称要“网聚全球优秀SAS博客的力量”（就是定期出爬虫抓取相关博客内容，中文为主，现在看到的数量是<a href="http://mysas.net/forum/viewtopic.php?f=3&amp;t=6878"><font color="#ff0000">8</font>个</a>，包括Liu Wensui、ooloo等知名ID）。mysas现在也支持RSS订阅，所以这个渠道看着也还不赖。</p>
<p>上海还有一个活跃的朋友，<a href="http://saslist.com/sxlion/">sxlion</a>，新开了一个SAS博客群，在网聚SAS博客方面，用功甚勤：</p>
<blockquote><p><a href="http://saslist.com/">http://saslist.com/</a></p>
</blockquote>
<p>里面提供了一批SAS中英文博客（跟上面提到的也大多重合）。这个saslist还提供<a href="http://saslist.com/blogs/">博客群</a>服务，现在还是以mysas活跃的朋友为主，比如hopewell。刚刚建起，会有些粗糙的地方，有兴趣的朋友可以上午鼓捣一下。</p>
<p>关于群体博客，现在做得最好的是“<a href="http://songshuhui.net/">科学松鼠会</a>”，科普类。另外跟统计相关的，就是“<a href="http://cos.name/">统计之都</a>”。sas群组，现在都还是刚刚起了个头。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/11/02/sas-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>秋冬又是读书季：数学与统计</title>
		<link>http://www.jiangtanghu.com/cn/2010/10/17/math-prob-stat/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/10/17/math-prob-stat/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 07:16:20 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[统计备忘录]]></category>
		<category><![CDATA[数学]]></category>
		<category><![CDATA[概率]]></category>
		<category><![CDATA[生物检定]]></category>
		<category><![CDATA[生物统计]]></category>
		<category><![CDATA[统计]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/10/17/math-prob-stat/</guid>
		<description><![CDATA[最近又开始读些基础数学与统计书，看规模，够我读上好几年了。老三样，微积分、线性代数和概率论与统计，大致想让自己的数学水平，随时保持在一个能进研究生院的水平。 工作中一个感受是，如果一个问题成功地转成了数学形式，那你就可以轻松地解出来（随便叫一个学习还算认真的大学生也能解出来）。困难的是如何把问题转换成数学形式。 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 [...]]]></description>
			<content:encoded><![CDATA[<p>最近又开始读些基础数学与统计书，看规模，够我读上好几年了。老三样，微积分、线性代数和概率论与统计，大致想让自己的数学水平，随时保持在一个能进研究生院的水平。</p>
<p>工作中一个感受是，如果一个问题成功地转成了数学形式，那你就可以轻松地解出来（随便叫一个学习还算认真的大学生也能解出来）。困难的是如何把问题转换成数学形式。</p>
<p><strong>1. <em><a href="http://www.mathpop.com/bookhtms/cal.htm">Calculus</a></em> by Michael Spivak, </strong><a href="http://www.mathpop.com/"><strong>Publish or Perish</strong></a><strong> Press, 1994</strong></p>
<p>这本书的出版社很有意思，叫“不出版，就完蛋”(Publish or Perish)，是作者<a href="http://en.wikipedia.org/wiki/Michael_Spivak">Spivak</a>拥有的一家小型出版社，而且出的大多是他自个的书。为什么选这本微积分教材？因为IBM的一位工程师Antonio Cangiano在他的博客里有<a href="http://math-blog.com/2007/05/13/the-most-enlightening-calculus-books/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+math-blog+%28Math+Blog%3A+Mathematics+is+wonderful%21%29">推荐</a>。先推荐一下他的<a href="http://math-blog.com">博客</a>：</p>
<blockquote><p><a title="http://math-blog.com" href="http://math-blog.com">http://math-blog.com</a></p>
</blockquote>
<p>一位软件工程师写的数学博客，内容生动适度。如果打不开网页，你可以直接在google reader里订阅。在一篇名为<em><a href="http://math-blog.com/2007/05/13/the-most-enlightening-calculus-books/">the most enlightening calculus books</a></em>的博文里，Cangiano（当然）还提到Apostol以及Hardy的经典教材，但咱嫌它们太难。Spicak的这本书，是introduction to real analysis的水平，觉得对自个是一个挑战，但不妨一跳那种。</p>
<p><strong>2. <em><a href="http://www.amazon.com/Introduction-Linear-Algebra-Fourth-Gilbert/dp/0980232716/ref=ntt_at_ep_dpi_1">Introduction to Linear Algebra, 4th edition</a></em> by </strong><a href="http://www-math.mit.edu/~gs/"><strong>Gilbert Strang</strong></a><strong>, Wellesley-Cambridge Press, 2009</strong></p>
<p>Strang这本，可能是世界上最好的线性代数入门书。他今年在MIT开的这门课，可以在MIT开放课程里找到：</p>
<p><a href="http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/">http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/</a></p>
<p>前些年孟岩写了<a href="http://blog.csdn.net/myan/archive/2007/11/03/1865397.aspx">一些列关于线性代数的文章</a>，现在读起来还是很让人大脑激荡。自个也要去线性空间去巡巡礼了。</p>
<p>又，前些年上海师范大学的数学老师eijuhz，托我在北大图书馆借过这本书。当时想就应该是好书。</p>
<p><strong>3. <em><a href="http://www.athenasc.com/probbook.html">Introduction to Probability</a></em>, by </strong><a href="http://www.mit.edu:8001/people/dimitrib/home.html"><strong>Dimitri P. Bertsekas</strong></a><strong> and </strong><a href="http://web.mit.edu/jnt/www/home.html"><strong>John N.</strong> <strong>Tsitsiklis</strong></a><strong>，</strong><a href="http://www.athenasc.com/"><strong>Athena Scientific</strong></a><strong>, 2002</strong></p>
<p>这家雅典娜科学出版社(Athena Scientific )又是一家跟本书作者息息相关的小型出版社，这本书，也是MIT数学教授写给工程师的教科书，同样可以在MIT的<a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/index.htm">开放课程</a>里找到。我手头是第一版。</p>
<p>读这本书的缘由，大概是“MIT”这个关键字。无论怎么样，这是一本不错的书，可着劲儿读掉就是。我看各种教材就像我们古时候的字典，没有索引，你只有背下来了才能使用。我常翻阅的资料，很多都是以前用的熟透的教科书。遗憾的是，以前用的教科书，并不是每一部都是经典（所以，现在有些垃圾书也在翻着，路径依赖啊）……</p>
<p>4. <strong><em><a href="http://www.amazon.com/Biostatistical-Analysis-5th-Jerrold-Zar/dp/0131008463/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1287298443&amp;sr=1-1">Biostatistical Analysis (5th Edition)</a></em> by <a href="http://www.bios.niu.edu/zar/zar.html">Jerrold H. Zar</a>, Prentice Hall, 2009</strong></p>
<p><a href="http://www.bios.niu.edu/zar/zar.html">Zar教授</a>引以为豪的，除了这部最受欢迎的生物统计入门书，还有<a href="http://www.bios.niu.edu/zar/poem.pdf">一首关于spelling check的打油诗</a>。我拿这本书捡回些统计的基础知识。这本书的数学保持在高中水平，这也是我手头要备着上面三个大部头数学书的原因之一。</p>
<p>5. 沈明来编著《生物检定统计法》，台北：九州图书文物有限公司，2007</p>
<p>台版书。一些表达比较有趣，比如提到T分布，说Gosset与1908年“<font color="#ff0000">诱</font>得此式”。</p>
<p>又，内页介绍出版社，说它在台湾大学侧门麦当劳楼上。麦当劳楼上的出版社，你猜我想到哪家？哦，中国人民大学出版社。</p>
<p>生物检定(biological assay)所需之统计法，与一般统计指导书所述法不尽相同。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/10/17/math-prob-stat/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>九月技术/行业聚会：SAS、CDISC</title>
		<link>http://www.jiangtanghu.com/cn/2010/09/18/sas-cdisc-gathering/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/09/18/sas-cdisc-gathering/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 15:31:47 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[CDISC]]></category>
		<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/09/18/sas-cdisc-gathering/</guid>
		<description><![CDATA[九月在北京和上海分别参加了三个SAS、CDISC相关的聚会。见牛人云集，跟着乐呵了。 1.北京数据管理与生物统计论坛（BBF）第三次聚会 9月4号下午，周六，北大医学部。详见： http://cos.name/2010/09/3rd-bbf/ 2. mysas.net 线下交流 上海，谷麦咖啡店，9月11号，下午，参与者sxlion、jthu、tianwild、ahuige、shiyiming，话题：SAS非SAS，技术非技术，兴之所至，无所不聊。照片见： http://mysas.net/sns/space.php?uid=1&#38;do=album&#38;picid=372 上海是SAS程序员的大本营。我第一次来上海，当然要去拜拜码头了。九月10号晚上我在北京发贴召集，还好有这么些活跃成员捧场。据说在上海，像这样临时凑一个局可不容易。 3. CDISC Interchange China 2010 这次CDISC交流大会中国站在上海举行，复旦大学医学院，9月15号。去年在北京办，跟同事也都参加了。一些话题： 3.1&#160; CDISC Worldwide – Highlights 2010 (including Healthcare link, JIC, BRIDG)&#160; by Frank Newby and Rebecca Kush (CDISC) 演讲者是CDISC组织的二号人物，Frank Newby（简称“牛掰”。Rebecca Kush 是CDISC组织的CEO）。由于FDA的推动，CDISC现在一个很明显的动向就是与HL7的融合。这次大会本来还安排有HL7的CEO Charles Jaffe的演讲，Hl7-CDISC Relationship，应该也会很精彩，可惜Charles 没能过来。 3.2 x3C&#160; Updates x3C包括J3C、K3C和C3C，分别代表日本、韩国和中国的CDISC协调委员会(CDISC Coordinating Committee)，演讲者是相应组织的负责人： J3C: Yoshio Tsukada (GSK Japan) K3C: Sukil [...]]]></description>
			<content:encoded><![CDATA[<p>九月在北京和上海分别参加了三个SAS、CDISC相关的聚会。见牛人云集，跟着乐呵了。</p>
<p><strong><u>1.北京数据管理与生物统计论坛（BBF）第三次聚会</u></strong></p>
<p>9月4号下午，周六，北大医学部。详见：</p>
<blockquote><p><a href="http://cos.name/2010/09/3rd-bbf/">http://cos.name/2010/09/3rd-bbf/</a></p>
</blockquote>
<p><strong><u>2. </u></strong><a href="mysas.net "><strong><u>mysas.net</u></strong></a><strong><u> 线下交流</u></strong></p>
<p>上海，谷麦咖啡店，9月11号，下午，参与者sxlion、jthu、tianwild、ahuige、shiyiming，话题：SAS非SAS，技术非技术，兴之所至，无所不聊。照片见：</p>
<p><a href="http://mysas.net/sns/space.php?uid=1&amp;do=album&amp;picid=372">http://mysas.net/sns/space.php?uid=1&amp;do=album&amp;picid=372</a></p>
<p>上海是SAS程序员的大本营。我第一次来上海，当然要去拜拜码头了。九月10号晚上我在北京发贴召集，还好有这么些活跃成员捧场。据说在上海，像这样临时凑一个局可不容易。</p>
<p><strong><u>3. </u></strong><a href="http://www.cdisc.org/interchange-china#2329"><strong><u>CDISC Interchange China 2010</u></strong></a></p>
<p>这次CDISC交流大会中国站在上海举行，复旦大学医学院，9月15号。去年在北京办，跟同事也都参加了。一些<a href="http://www.cdisc.org/stuff/contentmgr/files/0/9fd75c86f20fcbc9a262fa8914aa205a/misc/chinainterchangeprogram_2010_08_29.pdf">话题</a>：</p>
<p><strong>3.1&#160; <em>CDISC Worldwide – Highlights 2010 (including Healthcare link, JIC, BRIDG)</em>&#160; by <font color="#ff0000">Frank Newby</font> and <font color="#ff0000">Rebecca Kush</font> (CDISC)</strong></p>
<p>演讲者是CDISC组织的二号人物，Frank Newby（简称“牛掰”。Rebecca Kush 是CDISC组织的CEO）。由于FDA的推动，CDISC现在一个很明显的动向就是与HL7的融合。这次大会本来还安排有HL7的CEO Charles Jaffe的演讲，Hl7-CDISC Relationship，应该也会很精彩，可惜Charles 没能过来。</p>
<p><strong>3.2 <em>x3C&#160; Updates</em></strong></p>
<p>x3C包括J3C、K3C和C3C，分别代表日本、韩国和中国的CDISC协调委员会(CDISC Coordinating Committee)，演讲者是相应组织的负责人：</p>
<blockquote><p>J3C: <font color="#ff0000">Yoshio Tsukada</font> (GSK Japan)</p>
<p>K3C: <font color="#ff0000">Sukil Kim</font> (Catholic University of Korea)</p>
<p>C3C: <font color="#ff0000">Simon Wang</font> (Parexel China)</p>
</blockquote>
<p>今年CDISC组织在亚洲的动作很大，你可以在<a href="http://www.cdisc.org/cdisc-blog">CDISC的博客</a>看些更新。</p>
<p><strong>3.3 <em>CDISC Standards for Study Start-up (Business Case, Protocol and Trial Registration, CDASH Standards for CRfs, eSource Data Interchange)</em> by <font color="#ff0000">Frank Newby</font> and Rebecca Kush (CDISC)</strong> </p>
<p>演讲者仍然是“牛掰”先生，强调把CDISC标准运用到临床研究的整个生命周期，从方案设计、数据收集到分析以及提交监管当局。</p>
<p>现在在概念上火的是CDASH，数据收集这块。我说是“概念”，是因为临床数据管理本身有很复杂和成熟的系统，要采用新的标准，还有很长一段路要走。</p>
<p><strong>3.4 <em>The future of Clinical Data: The Evolving Impact of CDISC and Hl7 Standards on Data Management, Submission, and Pharmacovigilance</em>&#160; by <font color="#ff0000">Wayne R. Kubick</font>&#160; (Phase Forward lincoln Safety Group)</strong></p>
<p>Wayne R. Kubick 被认为是“CDISC之父”，在CDISC组织还没有形成时就是其领军人物。这次他讲临床数据的远景，其中一条也是与HL7的融合，以后大伙应该会经常CDISC/HL7的字眼。</p>
<p>Wayne 的口音跟相貌，都跟克林顿有类似，在Lincoln Technology工作（Lincoln Technology后来被Phase Forward 收购，而Phase Forward 最近又被Oracle收购）。</p>
<p>Lincoln Technology在临床研究领域是一个非常厉害的科技公司。会后我跟Wayne 聊到他部门另外一位伟大的科学家，William DuMouchel。William 在AT&amp;T工作时发明了药物安全监测的Gamma Poisson Shrinker（伽玛泊松缩减）法，它是一种贝叶斯方法，为FDA推荐使用。</p>
<p><strong>3.5 <em>CDISC/FDA Pilot for Integrated Safety Data (Pediatrics Studies)</em> by <font color="#ff0000">Yuguang Zhao</font> (Eisai Global Clinical Development)</strong><a name="dumouchel"></a><a name="dumouchel"></a> </p>
</p>
<p> </a>
</p>
<p> CDISC的SDTM标准已经被FDA接受。这次CDISC/FDA的联合活动，类似于完全运用CDISC标准向FDA提交临床研究报告的一次预演，包括SDTM、ADaM和define.xml。
</p>
<p>这个演习活动，召集了业界二十来位好手，牵头人物是：</p>
<blockquote><p>Chris Decker, d-Wise Technologies </p>
<p>Yuguang Zhao, Eisai Pharmaceuticals </p>
<p>Steve Hirschfeld, National Institute of Health </p>
</blockquote>
<p>Yuguang之前在sanofi-aventis工作，是CDISC SDS TEAM的核心成员之一，今年上半年来我们办公室参观过。关于这次活动，你可以参考：</p>
<p><a href="http://www.d-wise.com/papers/rs02.pdf">http://www.d-wise.com/papers/rs02.pdf</a></p>
<p><strong>3.6 <em>Building an eCRf CDASH library – A</em> Case Study by <font color="#ff0000">Paula Silva</font> (Phase Forward Services)</strong></p>
<p>Paula讲的是CDISC的新宠，CDASH，以及Phase Forward公司的产品PhaseOne.</p>
<p><strong>3.7 <em>CAMD ADAS-cog Questionnaire SDTM and ADaM Implementation</em> by <font color="#ff0000">Sandy Lei</font> (J&amp;J)</strong></p>
<p>Sandy去年的CDISC活动中见过。她是中国CDISC的教母级人物，CDISC SDS TEAM的核心成员之一，前些年CDISC就是她给引进中国的。会后Sandy问我听得怎么样。我老实回答，其中只有SDTM/ADaM的部分能听懂，关于<em>CAMD ADAS-cog </em>听得是一愣一愣的。回北京我是恶补了一下，你也可以参考下：</p>
<p><a href="http://www.c-path.org/pdf/CAMDWorkScope.pdf">http://www.c-path.org/pdf/CAMDWorkScope.pdf</a></p>
<p><strong>3.8 <em>Update on Terminology and SHARE Project</em> by <font color="#ff0000">Chris Tolk</font> (CDISC)</strong></p>
<p>Chris在CDISC组织里负责Terminology，她也是CDISC其他标准的活跃参与者。CDISC组织维护的Terminology，也被NCI的EVS系统收录，算是一个很大的成就了。</p>
<p><strong>3.9 <em>Integration of Electronic Data Capture (EDC) and Interactive Voice Response (IVR) randomization systems using ODM, vendor extensions and web services </em>by <font color="#ff0000">Andrew Newbigging </font>(Medidata Solutions Worldwide)</strong></p>
<p>又是一位牛人(New&#8211;)，Andrew Newbigging讲的是在EDC以及IVR系统运用CDISC的ODM模型，又是临床数据管理方面的内容。</p>
<p><strong>3.10 <em>XML: The SAS Approach</em> by <font color="#ff0000">John (Jiangtang) Hu</font> and <font color="#ff0000">Na Ye</font> (Sanof Pasteur Biostatistics China)</strong></p>
<p>我跟同事Na带来的话题安排在下午，最后一场，以契合我们业界小兵的形象。来上海之前我在公司排练过一次，这次讲完后，有朋友提醒，我演讲时手一有机会就插兜里，噫。不是为了摆酷，手本来就跟香蕉一样，上台时就不知道该放哪。</p>
<p>CDISC各个标准，其数据都是通过XML来储存和传输，我们这个话题就是来讨论如何用SAS来处理XML数据——SAS程序员嘛。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/09/18/sas-cdisc-gathering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAS书杂谈（1）：两本统计书</title>
		<link>http://www.jiangtanghu.com/cn/2010/08/08/sas-stat/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/08/08/sas-stat/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 10:35:03 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[生物统计]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/08/08/sas-stat/</guid>
		<description><![CDATA[1. Categorical Data Analysis Using the SAS System (2nd edition, SAS Inc., 2000) 作者三位（SDK），在这个领域都是行家，SAS公司的一位负责统计工具研发的总监Maura E. Stokes , 爱荷华大学生物统计系的教授Charles S. Davis（后来他投身工业界）以及北卡大学教堂山分校生物统计系的教授 Gary G. Koch 。用SAS做Categorical Data Analysis，这书是引用最多的一本。国内一本书，刘勤和金丕焕编的《分类数据的统计分析及SAS编程》（复旦大学出版社，2002），能看到本书的影子（美中不足的是，这本书丝毫没有提到SDK）。 我喜欢这本书，还因为它是我读过的SAS BBU（books by users）系列中排版较好的一本。BBU一般由SAS Press或Wiley两家出版社出版，一个印象是，Wiley出的SAS书排版会比SAS Press的质量高。这本书由这两家联合出版。 以前学Categorical Data Analysis，上手就是Logistic回归，做信用评分/数据挖掘需要这个（这本书的后半部分讲这些模型）。现在的工作，需要多的是本书的前半部分，对列联表做的各种检验，这是统计学里相对传统的部分，也是我这样非统计科班出身学统计学时忽略最多的部分。 还有，这本书的数序公式用得恰到好处，简洁又富有启发性，能让一个（只）有基本数学素养的SAS 程序员体会到模型的含义，又不至于淹没在数学符号的汪洋大海之中。 2.Common Statistical Methods for Clinical Research with SAS Examples(2nd edition, SAS Inc., 2002) 作者是SAS最老的一批咨询顾问Glenn A. Walker。现在这书出了第三版，加上了一位合作者，Duke Clinical Research [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1. <em><a href="http://www.amazon.com/Categorical-Data-Analysis-Using-System/dp/1580257100/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1281236405&amp;sr=1-1-spell">Categorical Data Analysis Using the SAS System</a></em> (2nd edition, SAS Inc., 2000)</strong> </p>
<p>作者三位（SDK），在这个领域都是行家，SAS公司的一位负责统计工具研发的总监<a href="http://support.sas.com/publishing/authors/stokes.html">Maura E. Stokes</a> , 爱荷华大学生物统计系的教授<a href="http://www.csdbiostat.com/">Charles S. Davis</a>（后来他投身工业界）以及北卡大学教堂山分校生物统计系的教授 <a href="http://www.sph.unc.edu/?option=com_profiles&amp;Itemid=1867&amp;profileAction=ProfDetail&amp;pid=703747022">Gary G. Koch</a> 。用SAS做Categorical Data Analysis，这书是引用最多的一本。国内一本书，刘勤和金丕焕编的《<a href="http://www.china-pub.com/756634">分类数据的统计分析及SAS编程</a>》（复旦大学出版社，2002），能看到本书的影子（美中不足的是，这本书丝毫没有提到SDK）。</p>
<p>我喜欢这本书，还因为它是我读过的SAS BBU（books by users）系列中排版较好的一本。BBU一般由SAS Press或Wiley两家出版社出版，一个印象是，Wiley出的SAS书排版会比SAS Press的质量高。这本书由这两家联合出版。</p>
<p>以前学Categorical Data Analysis，上手就是<a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/">Logistic回归</a>，做信用评分/数据挖掘需要这个（这本书的后半部分讲这些模型）。现在的工作，需要多的是本书的前半部分，对列联表做的各种检验，这是统计学里相对传统的部分，也是我这样非统计科班出身学统计学时忽略最多的部分。</p>
<p>还有，这本书的数序公式用得恰到好处，简洁又富有启发性，能让一个（只）有基本数学素养的SAS 程序员体会到模型的含义，又不至于淹没在数学符号的汪洋大海之中。</p>
<p><strong>2.<em><a href="http://www.amazon.com/Statistical-Methods-Clinical-Research-Examples/dp/1590470400/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1281254785&amp;sr=1-2">Common Statistical Methods for Clinical Research with SAS Examples</a></em>(2nd edition, SAS Inc., 2002)</strong></p>
<p>作者是SAS最老的一批咨询顾问<a href="http://support.sas.com/publishing/authors/walker.html">Glenn A. Walker</a>。现在这书出了第三版，加上了一位合作者，<a href="https://www.dcri.org/">Duke Clinical Research Institute</a>（世界上最大的学院CRO）的一位SAS程序员，<a href="http://support.sas.com/publishing/authors/shostak.html">Jack Shostak</a>，他也是<a href="http://www.amazon.com/Programming-Pharmaceutical-Industry-Jack-Shostak/dp/1590477936/ref=pd_sim_b_3"><em>SAS Programming in the Pharmaceutical Industry</em></a>的作者。</p>
<p>我没有比较与新版的区别，只说说手头的第二版。跟SDK一样，这本书是用来恶补现在所需要的统计学基础的，给回归只留了两个章节：</p>
<blockquote><p>Chapter 1 – Introduction &amp; Basics&#160; <br />Chapter 2 – Topics in Hypothesis Testing&#160; <br />Chapter 3 – The Data Set TRIAL&#160; <br />Chapter 4 – The One-Sample t-Test&#160; <br />Chapter 5 – The Two-Sample t-Test&#160; <br />Chapter 6 – One-Way ANOVA&#160; <br />Chapter 7 – Two-Way ANOVA&#160; <br />Chapter 8 – Repeated Measures Analysis       <br />Chapter 9 – The Crossover Design       <br />Chapter 10 – Linear Regression       <br />Chapter 11 – Analysis of Covariance       <br />Chapter 12 – The Wilcoxon Signed-Rank Test       <br />Chapter 13 – The Wilcoxon Rank-Sum Test&#160; <br />Chapter 14 – The Kruskal-Wallis Test       <br />Chapter 15 – The Binomial Test       <br />Chapter 16 – The Chi-Square Test       <br />Chapter 17 – Fisher’s Exact Test       <br />Chapter 18 – McNemar’s Test       <br />Chapter 19 – The Cochran-Mantel-Haenszel Test       <br />Chapter 20 – Logistic Regression       <br />Chapter 21 – The Log-Rank Test       <br />Chapter 22 – The Cox Proportional Hazards Model </p>
</blockquote>
<p>章节设置，跟Jerrold Zar那册有名的<em><a href="http://www.amazon.com/Biostatistical-Analysis-5th-Jerrold-Zar/dp/0131008463/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1281258373&amp;sr=1-1">Biostatistical Analysis</a></em>类似，正好方便SAS程序员备查。这些统计学，在药厂的clinical部门常用。至于模型味更浓的data mining系列，discovery和pharmacovigilance（PV，药物警戒）部门用得多些。</p>
<p>这本书在写作方面没什么特色，好处在于实用、全面，做工具书再好不过。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>作为非统计出身的SAS程序员，经常徜徉于data steps，现在翻翻它的统计部分，又能感受到它背后的另一片广阔天地。浏览一下SAS/STAT 9.2的<a href="http://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#/documentation/cdl/en/statug/63347/HTML/default/statug_chap0_sect003.htm">研发团队</a>，——罗列书名、人名总能激起我的斗志，噫。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/08/08/sas-stat/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Excel杂谈</title>
		<link>http://www.jiangtanghu.com/cn/2010/05/22/excel-sas/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/05/22/excel-sas/#comments</comments>
		<pubDate>Sat, 22 May 2010 13:50:03 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Computers and Internet]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Excelpro]]></category>
		<category><![CDATA[Excel图表之道——如何制作专业有效的商务图表]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[商务智能]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/05/22/excel-sas/</guid>
		<description><![CDATA[昨晚提到Excelpro的新书，《Excel图表之道——如何制作专业有效的商务图表》（刘万祥，北京：电子工业出版社，2010）。说些Excel，从一个SAS程序员的角度。 相对SAS，或其他的软件包（SPSS、R/S-Plus、Matlab等），Excel都是一个轻量级的分析工具。本来，Excel无意在统计分析方面跟那些统计工具包一较长短，各有适用的地方而已。但在商业世界，用Excel做分析的用户太多了，说最流行也不为过，一些统计学者，就提醒广大用户，用Excel做统计分析时一定要谨慎些，它有时候不够严谨有时候不够靠谱。详细的，可以参考谢益辉的三篇博文（以及他文中所附的参考材料）： 1.Excel中的缺失值和0 2.为什么避免用Excel作统计计算 3.再谈为什么不用Excel做统计分析 用Excel本身的计算引擎有时是不够严谨，这是故事的一个方面（当然，它应付日常工作还是可以胜任的，对Excel，我们这点信心还是有）。故事的另一个方面，是鉴于Excel的广泛流行，各大BI（商务智能）套件，包括SAS系统，都要提供与Office/Excel整合的功能。上面就是 SAS Add-In for Microsoft Office在Excel里面的一个截图。利用这个Excel插件，商业用户可以继续使用他/她熟悉的Excel，访问SAS数据，并利用SAS的计算引擎来分析和作图，最后结果返回到Excel（或者Word、PPT）。一家公司不提供这玩意，它的BI技术就要受到质疑，至少也是没有做到user-friendly。夸张点说，小小的Excel就这样爬上了BI平台的最顶端。 我们注意到，与Excel的整合，重点是把它作为用户接口和展示平台。对一个传统的SAS程序员，与Excel打交道也是他职业生涯的一部分： 1. 有时候，数据会存储在Excel里面。你可能没法理解，为什么要把数据存在Excel里面，这样轻量级的数据，存在文本里面不是更好吗？在真实世界里，大部分人的行为模式一般是这样，他们打开Word来记事，打开Excel来记录数据。数据存在Excel或许也能接受，如果它们规规矩矩，行列有序。有一种情形就是，在一个Excel Book里，数据散布于各个Sheets，在同一个Sheet，数据可能不是按行列来排，而是长得就像一个report。平心而论，这样的数据真的是user-friendly，只是不够machine-friendly。在Windows平台下，SAS Base有三种最常用的方式读取Excel数据： 1-1 proc import or Import Wizard 1-2 SAS Excel Libname Engine 1-3 SAS DDE (Dynamic Data Exchange，这属于Windows的技术) Excel不是一个跨平台的数据格式。在Unix平台下，如何读取Excel数据呢？SAS也有解决方案，那需要用到一个SAS/ACCESS Interface to PC Files for UNIX和SAS PC File Server for Windows，这也是一个Libname Engine的方式。 2. 读入Excel数据，一个相反的操作就是把SAS数据（或output）转化成Excel。程序员或许不太愿意，但这在商业世界有需求。这里SAS更是提供了五花八门的解决方案： 2-1 proc Export or Export Wizard 2-2 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/SASExcel.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="SAS-Excel" border="0" alt="SAS-Excel" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/SASExcel_thumb.jpg" width="369" height="269" /></a> </p>
<p><a href="http://www.jiangtanghu.com/cn/2010/05/21/%E3%80%8Aexcel%E5%9B%BE%E8%A1%A8%E4%B9%8B%E9%81%93%E3%80%8B%E4%B9%A6%E5%92%8C%E4%BA%BA/">昨</a>晚提到<a href="http://excelpro.blog.sohu.com/">Excelpro</a>的新书，《<a href="http://book.douban.com/subject/4326057/">Excel图表之道——如何制作专业有效的商务图表</a>》（刘万祥，北京：电子工业出版社，2010）。说些Excel，从一个SAS程序员的角度。</p>
<p>相对SAS，或其他的软件包（SPSS、R/S-Plus、Matlab等），Excel都是一个轻量级的分析工具。本来，Excel无意在统计分析方面跟那些统计工具包一较长短，各有适用的地方而已。但在商业世界，用Excel做分析的用户太多了，说最流行也不为过，一些统计学者，就提醒广大用户，用Excel做统计分析时一定要谨慎些，它有时候不够严谨有时候不够靠谱。详细的，可以参考<a href="http://yihui.name">谢益辉</a>的三篇博文（以及他文中所附的参考材料）：</p>
<blockquote><p>1.<a href="http://yihui.name/cn/2008/08/missing-value-and-zero-in-excel/">Excel中的缺失值和0</a></p>
<p>2.<a href="http://yihui.name/cn/2008/09/why-avoid-excel-to-do-calculation/">为什么避免用Excel作统计计算</a></p>
<p>3.<a href="http://yihui.name/cn/2008/10/why-avoid-excel-in-statistics/">再谈为什么不用Excel做统计分析</a></p>
</blockquote>
<p>用Excel本身的计算引擎有时是不够严谨，这是故事的一个方面（当然，它应付日常工作还是可以胜任的，对Excel，我们这点信心还是有）。故事的另一个方面，是鉴于Excel的广泛流行，各大BI（商务智能）套件，包括SAS系统，都要提供与Office/Excel整合的功能。上面就是 <a href="http://www.sas.com/resources/factsheet/sas-ms-office-addin-factsheet.pdf">SAS Add-In for Microsoft Office</a>在Excel里面的一个截图。利用这个Excel插件，商业用户可以继续使用他/她熟悉的Excel，访问SAS数据，并利用SAS的计算引擎来分析和作图，最后结果返回到Excel（或者Word、PPT）。一家公司不提供这玩意，它的BI技术就要受到质疑，至少也是没有做到user-friendly。夸张点说，小小的Excel就这样爬上了BI平台的最顶端。</p>
<p>我们注意到，与Excel的整合，重点是把它作为用户接口和展示平台。对一个传统的SAS程序员，与Excel打交道也是他职业生涯的一部分：</p>
<p>1. 有时候，数据会存储在Excel里面。你可能没法理解，为什么要把数据存在Excel里面，这样轻量级的数据，存在文本里面不是更好吗？在真实世界里，大部分人的行为模式一般是这样，他们打开Word来记事，打开Excel来记录数据。数据存在Excel或许也能接受，如果它们规规矩矩，行列有序。有一种情形就是，在一个Excel Book里，数据散布于各个Sheets，在同一个Sheet，数据可能不是按行列来排，而是长得就像一个report。平心而论，这样的数据真的是user-friendly，只是不够machine-friendly。在Windows平台下，SAS Base有三种最常用的方式读取Excel数据：</p>
<blockquote><p>1-1 proc import or Import Wizard</p>
<p>1-2 SAS Excel Libname Engine</p>
<p>1-3 SAS DDE (Dynamic Data Exchange，这属于Windows的技术)</p>
</blockquote>
<p>Excel不是一个跨平台的数据格式。在Unix平台下，如何读取Excel数据呢？SAS也有解决方案，那需要用到一个SAS/ACCESS Interface to PC Files for UNIX和SAS PC File Server for Windows，这也是一个Libname Engine的方式。</p>
<p>2. 读入Excel数据，一个相反的操作就是把SAS数据（或output）转化成Excel。程序员或许不太愿意，但这在商业世界有需求。这里SAS更是提供了五花八门的解决方案：</p>
<blockquote><p>2-1 proc Export or Export Wizard</p>
<p>2-2 SAS Excel Libname Engine</p>
<p>2-3 SAS DDE (Dynamic Data Exchange)</p>
<p>2-4 proc printto</p>
<p>2-5 SAS ODS</p>
<p>2-6 data steps </p>
<p>2-7&#160; SAS Add-In for Excel</p>
<p>……</p>
</blockquote>
<p>除了DDE，你还可以利用其他非SAS技术，比如ODBC、OLE DB等。有一个小花招。利用ODS，可以把数据转化成用户可以用Excel打开的CSV、XML或者HTML格式，而它们本身是比.xls更优越的存储格式。特别是CSV(comma-separated values file)，本身是文本文件，在Windows世界里，很多用户都把它当成Excel的一种格式，默认的打开方式也是Excel（而不是文本编辑器）。</p>
<p>罗列了这么多SAS与Excel的交互，回到Excel本身。它是一个功能强大的电子表格，在数据分析与展示方面也有不俗的表现（Excel作图，可以参考上面提到的<a href="http://excelpro.blog.sohu.com/">Excelpro</a>所达到的境界）。它赢得如此多的用户，说明它能满足大部分人大部分的需求。一个SAS用户，或者SPSS、R/S-Plus、Matlab等用户不必在统计分析方面展示对Excel的优越，这样显得就不够大气了——本来Excel就无意在这方面跟它们竞争。况且，即使工具之间有优劣，工具的本身的先后也不代表他们用户的先后，急于争辩工具厉害的人，往往忽略了人本身，自以为手持屠龙刀，就无敌于天下。笑话。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>再讲个笑话，跟<a href="http://yihui.name">谢益辉</a>有关（最近举例似乎老拿谢同学说事）。谢于数据可视化颇有研究，最近秀出了不少的工作，当然都是用R来展示。楼下便有人惊呼：R好强大啊。不知道谢听了做如何想。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/05/22/excel-sas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>《Excel图表之道》&#8212;&#8212;书和人</title>
		<link>http://www.jiangtanghu.com/cn/2010/05/21/%e3%80%8aexcel%e5%9b%be%e8%a1%a8%e4%b9%8b%e9%81%93%e3%80%8b%e4%b9%a6%e5%92%8c%e4%ba%ba/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/05/21/%e3%80%8aexcel%e5%9b%be%e8%a1%a8%e4%b9%8b%e9%81%93%e3%80%8b%e4%b9%a6%e5%92%8c%e4%ba%ba/#comments</comments>
		<pubDate>Fri, 21 May 2010 15:25:13 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Computers and Internet]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Excelpro]]></category>
		<category><![CDATA[Excel图表之道——如何制作专业有效的商务图表]]></category>
		<category><![CDATA[刘万祥]]></category>
		<category><![CDATA[博文视点]]></category>
		<category><![CDATA[图表]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/05/21/%e3%80%8aexcel%e5%9b%be%e8%a1%a8%e4%b9%8b%e9%81%93%e3%80%8b%e4%b9%a6%e5%92%8c%e4%ba%ba/</guid>
		<description><![CDATA[&#160; Excelpro的《Excel图表之道——如何制作专业有效的商务图表》（刘万祥，北京：电子工业出版社，2010）4月份由武汉博文视点推出。我拿到书时，都已经是5月份第二次印刷的版本。“左手Excel，右手PPT”，现在这本书与一本叫《PPT演示之道》的书在当当和卓越大卖，被认为是“2010年最值得阅读的职场充电图书”。好家伙，早知道这本书会火，没想到的是会这么快。扯扯我与这本书及其作者的花絮。 Excelpro一直在经营一个“ExcelPro的图表博客”，专攻Excel与商务作图，把Excel玩出花来的那种。读研时开始订阅他的博客，那时就想结识一番，这样的高手，要趁早认识。查看gmail记录，2008年12月19日，我给Excelpro写mail(当时只知道他的网名)，说“ExcelPro,&#160; 你好。一有更新就看你的博客，还不知道你的真名真是有些说不过去。我叫***,blablabla”。很快收到回复。 知道了Excelpro的大名，按着习惯，在接下来的沟通中，我就直呼“万祥”了。在公司，包括以前的实习单位，无论同事还是老板，或者老板的老板，都是直接叫名字，慢慢也养成这习惯了——关于称谓，有一个趣事在下面，先打住。 武汉博文的周筠老师，不知什么时候也在看“ExcelPro的图表博客”。看这个博客，我的反应是高手要趁早认识，周老师的反应大概是，这样好的内容，要趁早出书。于是去年年底，武汉博文的编辑梁晶，问我能不能帮着看看一本Excel方面的新书。一看，ExcelPro，这么巧啊。赶紧答应下来，刚好可以趁着看文稿的机会好好学习一下Excel作图。 这本书讲Excel作图，可不是“excel-&#62;插入-&#62;图表-&#62;图表向导”这么简单。这种默认的作图方式，大伙一眼就能看出来，就是传统的、灰头土脸的Excel图表（熟悉吧？）： 而这本书，是教你用Excel做出这样的图来： 是不是也很熟悉？就是国外顶尖商业杂志如《商业周刊》、《经济学人》等杂志风格的商务图表。如何做到，如何用Excel做到？审稿的时候，我就是这样怀着激动的心情，看Excelpro如何突破Excel的默认颜色、默认布局和默认的作图元素，从而一步步做出类似上图的专业商务图表，真是大呼过瘾。书还附有数据和样例，自己可以随手在机器上跟着实现。我平时鼓捣SAS，Excel用得不多，看了这书（你可以在这里下载高清样章），想什么时候该自己用Excel了，照着这书玩下去，铁定又是一条好汉。 出版社的老师喜欢称呼作者为老师。跟周老师和梁晶编辑邮件来往，她们都会提到“刘万祥老师”，一看，心想：惨了，我跟Excelpro邮件来往，叫名字都叫顺口了。我称呼周筠老师，周筠老师称呼刘万祥老师，而我就直呼“万祥”！这可窜辈了，邮件fwd来fwd去的。问Excelpro，最后我们约定，私下里我们称名字，有周老师在场就叫老师。——后来，刘万祥老师终于跟我开了个玩笑，在书的前言里，他写道：“感谢本书的评审专家孔文达老师、杜茂康老师和胡江堂老师”——“胡江堂老师？”我旁边朋友一看，立马收不住笑，Friday Humor?]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/Excel.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Excel" border="0" alt="Excel" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/Excel_thumb.jpg" width="427" height="527" /></a> </p>
<p>&#160;</p>
<p><a href="http://excelpro.blog.sohu.com/">Excelpro</a>的《<a href="http://book.douban.com/subject/4326057/">Excel图表之道——如何制作专业有效的商务图表</a>》（刘万祥，北京：电子工业出版社，2010）4月份由武汉博文视点推出。我拿到书时，都已经是5月份第二次印刷的版本。“左手Excel，右手PPT”，现在这本书与一本叫《PPT演示之道》的书在<a href="http://product.dangdang.com/product.aspx?product_id=20815051">当当</a>和<a href="http://www.amazon.cn/mn/detailApp/ref=sr_1_1?_encoding=UTF8&amp;s=books&amp;qid=1271211421&amp;asin=B003FFEK8A&amp;sr=8-1&amp;source=tjfx-23">卓越</a>大卖，被认为是“2010年最值得阅读的职场充电图书”。好家伙，早知道这本书会火，没想到的是会这么快。扯扯我与这本书及其作者的花絮。</p>
<p>Excelpro一直在经营一个“<a href="http://excelpro.blog.sohu.com/">ExcelPro的图表博客</a>”，专攻Excel与商务作图，把Excel玩出花来的那种。读研时开始订阅他的博客，那时就想结识一番，这样的高手，要趁早认识。查看gmail记录，2008年12月19日，我给Excelpro写mail(当时只知道他的网名)，说“ExcelPro,&#160; 你好。一有更新就看你的博客，还不知道你的真名真是有些说不过去。我叫***,blablabla”。很快收到回复。</p>
<p>知道了Excelpro的大名，按着习惯，在接下来的沟通中，我就直呼“万祥”了。在公司，包括以前的实习单位，无论同事还是老板，或者老板的老板，都是直接叫名字，慢慢也养成这习惯了——关于称谓，有一个趣事在下面，先打住。</p>
<p>武汉博文的<a href="http://yeka.blogbus.com/">周筠老师</a>，不知什么时候也在看“<a href="http://excelpro.blog.sohu.com/">ExcelPro的图表博客</a>”。看这个博客，我的反应是高手要趁早认识，周老师的反应大概是，这样好的内容，要趁早出书。于是去年年底，武汉博文的编辑梁晶，问我能不能帮着看看一本Excel方面的新书。一看，ExcelPro，这么巧啊。赶紧答应下来，刚好可以趁着看文稿的机会好好学习一下Excel作图。</p>
<p>这本书讲Excel作图，可不是“excel-&gt;插入-&gt;图表-&gt;图表向导”这么简单。这种默认的作图方式，大伙一眼就能看出来，就是传统的、灰头土脸的Excel图表（熟悉吧？）：</p>
<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/excel0.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="excel0" border="0" alt="excel0" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/excel0_thumb.jpg" width="267" height="151" /></a> </p>
<p>而这本书，是教你用Excel做出这样的图来：</p>
<p><a href="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/excel1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="excel1" border="0" alt="excel1" src="http://www.jiangtanghu.com/cn/wp-content/uploads/2010/05/excel1_thumb.png" width="265" height="295" /></a> </p>
<p>是不是也很熟悉？就是国外顶尖商业杂志如《商业周刊》、《经济学人》等杂志风格的商务图表。如何做到，如何用Excel做到？审稿的时候，我就是这样怀着激动的心情，看Excelpro如何突破Excel的默认颜色、默认布局和默认的作图元素，从而一步步做出类似上图的专业商务图表，真是大呼过瘾。书还附有数据和样例，自己可以随手在机器上跟着实现。我平时鼓捣SAS，Excel用得不多，看了这书（你可以在<a href="http://excelpro.blog.sohu.com/149707215.html">这里</a>下载高清样章），想什么时候该自己用Excel了，照着这书玩下去，铁定又是一条好汉。</p>
<p>出版社的老师喜欢称呼作者为老师。跟周老师和梁晶编辑邮件来往，她们都会提到“刘万祥老师”，一看，心想：惨了，我跟Excelpro邮件来往，叫名字都叫顺口了。我称呼周筠老师，周筠老师称呼刘万祥老师，而我就直呼“万祥”！这可窜辈了，邮件fwd来fwd去的。问Excelpro，最后我们约定，私下里我们称名字，有周老师在场就叫老师。——后来，刘万祥老师终于跟我开了个玩笑，在书的前言里，他写道：“感谢本书的评审专家孔文达老师、杜茂康老师和胡江堂老师”——“胡江堂老师？”我旁边朋友一看，立马收不住笑，Friday Humor?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/05/21/%e3%80%8aexcel%e5%9b%be%e8%a1%a8%e4%b9%8b%e9%81%93%e3%80%8b%e4%b9%a6%e5%92%8c%e4%ba%ba/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SAS vs. R</title>
		<link>http://www.jiangtanghu.com/cn/2010/04/22/r-sas/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/04/22/r-sas/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 14:32:19 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Computers and Internet]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[COS]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[统计之都]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/04/22/r-sas/</guid>
		<description><![CDATA[在“统计之都”(COS)发布了一篇《Think&#160; SAS》，是有感于R在学院（尤其是统计系）的流行，主要是写给对工业界感兴趣的在校生看，动员他们在学R之余，不妨考虑一下SAS。不想却引来长篇的R与SAS之争。关于软件的功能，比如R或SAS，本身没有任何问题：一个语言，只要能使分支语句和循环，再加上极少的要求，就可以完成几乎所有的任务了（语言的完备性，要求其实很简单）。所以讨论R与SAS谁更强大，意义不大，这更多是个人使用偏好的问题。在“统计之都”的博客文章，评论大多很精彩，有的甚至要超过正文，读者朋友不妨移步观望下。这将会是一个系列文章，陆续在COS发布，慢慢写了。 又，关于R与SAS，Peter Flom也在写系列比较文章，见 1. SAS v. R: Ease of learning 0. SAS vs. R: Introduction and request]]></description>
			<content:encoded><![CDATA[<p>在“<a href="http://cos.name">统计之都</a>”(COS)发布了一篇《<a href="http://cos.name/2010/04/think-sas-1/">Think&#160; SAS</a>》，是有感于R在学院（尤其是统计系）的流行，主要是写给对工业界感兴趣的在校生看，动员他们在学R之余，不妨考虑一下SAS。不想却引来长篇的R与SAS之争。关于软件的功能，比如R或SAS，本身没有任何问题：一个语言，只要能使分支语句和循环，再加上极少的要求，就可以完成几乎所有的任务了（语言的完备性，要求其实很简单）。所以讨论R与SAS谁更强大，意义不大，这更多是个人使用偏好的问题。在“<a href="http://cos.name">统计之都</a>”的博客文章，评论大多很精彩，有的甚至要超过正文，读者朋友不妨移步观望下。这将会是一个系列文章，陆续在COS发布，慢慢写了。</p>
<p>又，关于R与SAS，<a href="http://www.statisticalanalysisconsulting.com/blog/">Peter Flom</a>也在写系列比较文章，见</p>
<p>1. <em><a href="http://www.statisticalanalysisconsulting.com/sas-v-r-ease-of-learning/">SAS v. R: Ease of learning</a></em></p>
<p>0<em>. <a href="http://www.statisticalanalysisconsulting.com/sas-vs-r-introduction-and-request/">SAS vs. R: Introduction and request</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/04/22/r-sas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SAS 认证</title>
		<link>http://www.jiangtanghu.com/cn/2010/04/08/sas-certification/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/04/08/sas-certification/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 14:53:14 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[SAS Certification]]></category>
		<category><![CDATA[SAS Certified Advanced Programmer for SAS 9 Credential]]></category>
		<category><![CDATA[SAS Certified Base Programmer for SAS 9 Credential]]></category>
		<category><![CDATA[SAS Certified Predictive Modeler using SAS Enterprise Miner 5 Credential]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/04/08/sas-certification/</guid>
		<description><![CDATA[上午八点半到的知春里的中科软，九点开考，九点半出来，接着赶回公司。上午就这么考了人生第一个除英语六级外的认证，SAS Certified Base Programmer for SAS 9 Credential，一共是70道题（要求时间是两个小时），错了一道，拿了99/100分回家。还好，我06年开始接触SAS，并以此为生，这个成绩不算丢脸。 为什么想到考这个证？美国那里有句话说，“如果你有个SAS认证，你将不愁找不到工作”云云。对有经验的SAS程序员，雇主一般不在乎你是否考过SAS认证，我推荐在校生没事可以整这么一个，可以增加些筹码，以示自己也算是有些投资，花过功夫。我现在不需要这个认证找工作，倒是想借这个机会，重温一些基本概念。SAS公司有一份Base的认证文档说这可以refresh your mind on some details you might have forgotter,就是这个。当然，还有一个很重要的原因，现在考证，可以找东家报销（150美元，很大的一块蚊子肉啊），——做学生时穷，虽然只要半价，还是舍不得考。 计划下半年再考一次SAS Certified Advanced Programmer for SAS 9 Credential，这个拿高分还算是有些挑战性。为考试而考试是个很无聊的事，那就借着这个机会，温习下SAS Advance的东西，这些在日常工作中都要用到，相互促进了。 其实我最想考的是SAS Certified Predictive Modeler using SAS Enterprise Miner 5 Credential，数据挖掘相关的。读书时鼓捣得比较多，现在工作几乎都要忘掉这些了，考个证可以刺激下自个。啥时有机会去美国遛达，就乘机考了这厮。SAS Base和Advance都可以在国内考，唯有这DM需要在美国的SAS公司考。 附些材料，感兴趣的朋友可以参考。 1. 报名，SAS Base和Advance都可以网上预约，或者直接到考场报名，费用是150美元（或相应的人民币）。 预约或查询考点，上www.prometric.com/sas，有国际信用卡就可以支付。 又，考试时间也是可以预定的，从早上八点开始。我订的是早九点，早八点考场工作人员可能都在调试机器，拖后些比较好。 2.参考资料。对考Base来说，SAS公司的SAS OnlineTutor®: Basic and Intermediate SAS，止矣尽矣。这是我见到过的最好的入门材料。或者，同等有分量的入门材料，SAS Programming I: Essential和SAS Programming II: [...]]]></description>
			<content:encoded><![CDATA[<p>上午八点半到的知春里的中科软，九点开考，九点半出来，接着赶回公司。上午就这么考了人生第一个除英语六级外的认证，<a href="http://support.sas.com/certify/creds/bp.html">SAS Certified Base Programmer for SAS 9 Credential</a>，一共是70道题（要求时间是两个小时），错了一道，拿了99/100分回家。还好，我06年开始接触SAS，并以此为生，这个成绩不算丢脸。</p>
<p>为什么想到考这个证？美国那里有句话说，“如果你有个SAS认证，你将不愁找不到工作”云云。对有经验的SAS程序员，雇主一般不在乎你是否考过SAS认证，我推荐在校生没事可以整这么一个，可以增加些筹码，以示自己也算是有些投资，花过功夫。我现在不需要这个认证找工作，倒是想借这个机会，重温一些基本概念。SAS公司有一份Base的认证文档说这可以refresh your mind on some details you might have forgotter,就是这个。当然，还有一个很重要的原因，现在考证，可以找东家报销（150美元，很大的一块蚊子肉啊），——做学生时穷，虽然只要半价，还是舍不得考。</p>
<p>计划下半年再考一次<a href="http://support.sas.com/certify/creds/ap.html">SAS Certified Advanced Programmer for SAS 9 Credential</a>，这个拿高分还算是有些挑战性。为考试而考试是个很无聊的事，那就借着这个机会，温习下SAS Advance的东西，这些在日常工作中都要用到，相互促进了。</p>
<p>其实我最想考的是<a href="http://support.sas.com/certify/creds/dm.html">SAS Certified Predictive Modeler using SAS Enterprise Miner 5 Credential</a>，数据挖掘相关的。读书时鼓捣得比较多，现在工作几乎都要忘掉这些了，考个证可以刺激下自个。啥时有机会去美国遛达，就乘机考了这厮。SAS Base和Advance都可以在国内考，唯有这DM需要在美国的SAS公司考。</p>
<p>附些材料，感兴趣的朋友可以参考。</p>
<p>1. 报名，SAS Base和Advance都可以网上预约，或者直接到考场报名，费用是150美元（或相应的人民币）。</p>
<p>预约或查询考点，上<a href="http://www.prometric.com/sas">www.prometric.com/sas</a>，有国际信用卡就可以支付。</p>
<p>又，考试时间也是可以预定的，从早上八点开始。我订的是早九点，早八点考场工作人员可能都在调试机器，拖后些比较好。</p>
<p>2.参考资料。对考Base来说，SAS公司的<strong><em>SAS OnlineTutor<sup>®</sup>: Basic and Intermediate SAS</em></strong>，止矣尽矣。这是我见到过的最好的入门材料。或者，同等有分量的入门材料，SAS Programming I: Essential和SAS Programming II: Data Manipulation Techniques。这些材料，既可以为准备考试用，更可以作为入门温习提高用。从准备考试来讲，它们比<em>SAS Little Book</em>实用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/04/08/sas-certification/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>技术博客重新开张</title>
		<link>http://www.jiangtanghu.com/cn/2010/01/04/opening/</link>
		<comments>http://www.jiangtanghu.com/cn/2010/01/04/opening/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 16:06:20 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>
		<category><![CDATA[人物]]></category>
		<category><![CDATA[统计备忘录]]></category>
		<category><![CDATA[胡说]]></category>
		<category><![CDATA[技术博客]]></category>
		<category><![CDATA[统计之都]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/2010/01/04/opening/</guid>
		<description><![CDATA[把以前在space写的文字都导入到这个新博客里了。 这新得白花花扎眼的一年，还想多写些关于SAS程序员本身的文字，关于这个职业，它依托的行业环境等等。SAS程序员在国内还不是一个很兴盛的职业。 还会有关于SAS本身的文字，关于SAS语言，SAS公司，关于它的创始人等等。最近我对SAS的创始人Tony Barr比较感兴趣。 技术本身，这个跟饭碗相关，除了SAS技术，很多笔墨可能会停留在CDISC上面。当然还会有自个兴之所至的其他文字，才年初呢，啥都没定。作为跟“统计之都”的约定，所有跟统计相关的文字，我会首先发布到“统计之都”，然后在自个的博客做个备份： http://cos.name/author/hujiangtang/]]></description>
			<content:encoded><![CDATA[<p>把以前在<a href="http://johnthu.spaces.live.com/">space</a>写的文字都导入到这个新博客里了。</p>
<p>这新得白花花扎眼的一年，还想多写些关于SAS程序员本身的文字，关于这个职业，它依托的行业环境等等。SAS程序员在国内还不是一个很兴盛的职业。</p>
<p>还会有关于SAS本身的文字，关于SAS语言，SAS公司，关于它的创始人等等。最近我对SAS的创始人Tony Barr比较感兴趣。</p>
<p>技术本身，这个跟饭碗相关，除了SAS技术，很多笔墨可能会停留在CDISC上面。当然还会有自个兴之所至的其他文字，才年初呢，啥都没定。作为跟“<a href="http://cos.name/">统计之都</a>”的约定，所有跟统计相关的文字，我会首先发布到“统计之都”，然后在自个的博客做个备份：</p>
<blockquote><p><a href="http://cos.name/author/hujiangtang/">http://cos.name/author/hujiangtang/</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2010/01/04/opening/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>通告</title>
		<link>http://www.jiangtanghu.com/cn/2009/05/03/%e9%80%9a%e5%91%8a/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/05/03/%e9%80%9a%e5%91%8a/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=10000</guid>
		<description><![CDATA[我的朋友，这段日子我换了个东家，技术路线有所倚重，这个（所谓）技术博客要停止更新了。这期间如果还有些数据挖掘跟应用统计方面的文章，会发布在“统计之都”(cos)上面： http://cos.name/author/hujiangtang/ 有网友说SAS爱好者，“或多或少、有意无意”都有光顾过这个博客。我从文科转入软件工程，以SAS起家，涉足数据挖掘与金融计算，更新不定，主题也不够专注，想想是比较惭愧。喜的是通过这些记录，大致能看到自己的用心所在，同时结交得许多志同道合的朋友，很多场合见面，就没有生疏之感。我现在一家药厂做SAS程序员，多跟临床试验打交道，想先沉淀一段日子再说。 说，技术或有转型，生活还是平稳如初。大伙感兴趣的，不妨先去我的生活博客转转： http://li-and-jiang.com/blog/ RSS订阅地址是： http://li-and-jiang.com/blog/feed/ 想除了技术，我们还一定有许多聊得开的东西。再会。]]></description>
			<content:encoded><![CDATA[<p>我的朋友，这段日子我换了个东家，技术路线有所倚重，这个（所谓）技术博客要停止更新了。这期间如果还有些数据挖掘跟应用统计方面的文章，会发布在“统计之都”(<a href="http://cos.name/" target="_blank">cos</a>)上面：</p>
<blockquote><p align="left"><a title="http://cos.name/author/hujiangtang/" href="http://cos.name/author/hujiangtang/">http://cos.name/author/hujiangtang/</a></p>
</blockquote>
<p>有网友说SAS爱好者，“<a href="http://www.sta8.cn/SAS/SAS-jishuboketuijian-jizhiyuci/" target="_blank">或多或少、有意无意</a>”都有光顾过这个博客。我从文科转入软件工程，以SAS起家，涉足数据挖掘与金融计算，更新不定，主题也不够专注，想想是比较惭愧。喜的是通过这些记录，大致能看到自己的用心所在，同时结交得许多志同道合的朋友，很多场合见面，就没有生疏之感。我现在一家药厂做SAS程序员，多跟临床试验打交道，想先沉淀一段日子再说。</p>
<p>说，技术或有转型，生活还是平稳如初。大伙感兴趣的，不妨先去我的生活博客转转：</p>
<blockquote><p align="left"><a href="http://li-and-jiang.com/blog/">http://li-and-jiang.com/blog/</a></p>
</blockquote>
<p>RSS订阅地址是：</p>
<blockquote><p align="left"><a href="http://li-and-jiang.com/blog/feed/">http://li-and-jiang.com/blog/feed/</a></p>
</blockquote>
<p>想除了技术，我们还一定有许多聊得开的东西。再会。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/05/03/%e9%80%9a%e5%91%8a/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free Machine Learning Courses  (Stanford) in YouTube</title>
		<link>http://www.jiangtanghu.com/cn/2009/03/02/free-machine-learning-courses-stanford-in-youtube/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/03/02/free-machine-learning-courses-stanford-in-youtube/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9999</guid>
		<description><![CDATA[FYI:   http://www.youtube.com/view_play_list?p=A89DCFA6ADACE599]]></description>
			<content:encoded><![CDATA[<div><font face="Arial">FYI:</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial"><a href="http://www.youtube.com/view_play_list?p=A89DCFA6ADACE599">http://www.youtube.com/view_play_list?p=A89DCFA6ADACE599</a></font></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/03/02/free-machine-learning-courses-stanford-in-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>分类模型的性能评估——以SAS Logistic回归为例(3): Lift和Gain</title>
		<link>http://www.jiangtanghu.com/cn/2009/02/18/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b3-lift%e5%92%8cgain/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/02/18/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b3-lift%e5%92%8cgain/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9998</guid>
		<description><![CDATA[书接前文。跟ROC类似，Lift（提升）和Gain（增益）也一样能简单地从以前的Confusion Matrix以及Sensitivity、Specificity等信息中推导而来，也有跟一个baseline model的比较，然后也是很容易画出来，很容易解释。以下先修知识，包括所需的数据集： 分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵 分类模型的性能评估——以SAS Logistic回归为例(2): ROC和AUC *更多，见 http://cos.name/2009/02/measure-classification-model-performance-lift-gain/ del.icio.us Tags: Lift,Gain,Confusion Matrix,Logistic回归,SAS,Sensitiveity,Specificity,分类模型,数据挖掘,混淆矩阵,Kolmogorov-Smirnov,Lorentz Curve]]></description>
			<content:encoded><![CDATA[<p>书接<a href="http://cos.name/2008/12/measure-classification-model-performance-roc-auc/" target="_blank">前文</a>。跟ROC类似，Lift（提升）和Gain（增益）也一样能简单地从<a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/">以前的Confusion Matrix</a>以及Sensitivity、Specificity等信息中推导而来，也有跟一个baseline model的比较，然后也是很容易画出来，很容易解释。以下先修知识，包括所需的数据集：</p>
<ol>
<li><a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/">分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵</a> </li>
<li><a href="http://cos.name/2008/12/measure-classification-model-performance-roc-auc/">分类模型的性能评估——以SAS Logistic回归为例(2): ROC和AUC</a> </li>
</ol>
<blockquote><p><strong></strong></p>
</blockquote>
<p>*更多，见</p>
<p><a href="http://cos.name/2009/02/measure-classification-model-performance-lift-gain/">http://cos.name/2009/02/measure-classification-model-performance-lift-gain/</a></p>
<div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px">del.icio.us Tags: <a href="http://del.icio.us/popular/Lift" rel="tag">Lift</a>,<a href="http://del.icio.us/popular/Gain" rel="tag">Gain</a>,<a href="http://del.icio.us/popular/Confusion Matrix" rel="tag">Confusion Matrix</a>,<a href="http://del.icio.us/popular/Logistic%e5%9b%9e%e5%bd%92" rel="tag">Logistic回归</a>,<a href="http://del.icio.us/popular/SAS" rel="tag">SAS</a>,<a href="http://del.icio.us/popular/Sensitiveity" rel="tag">Sensitiveity</a>,<a href="http://del.icio.us/popular/Specificity" rel="tag">Specificity</a>,<a href="http://del.icio.us/popular/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b" rel="tag">分类模型</a>,<a href="http://del.icio.us/popular/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a>,<a href="http://del.icio.us/popular/%e6%b7%b7%e6%b7%86%e7%9f%a9%e9%98%b5" rel="tag">混淆矩阵</a>,<a href="http://del.icio.us/popular/Kolmogorov-Smirnov" rel="tag">Kolmogorov-Smirnov</a>,<a href="http://del.icio.us/popular/Lorentz Curve" rel="tag">Lorentz Curve</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/02/18/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b3-lift%e5%92%8cgain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fyi: 数据挖掘软件大评比</title>
		<link>http://www.jiangtanghu.com/cn/2009/02/17/fyi-%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e8%bd%af%e4%bb%b6%e5%a4%a7%e8%af%84%e6%af%94/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/02/17/fyi-%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e8%bd%af%e4%bb%b6%e5%a4%a7%e8%af%84%e6%af%94/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9997</guid>
		<description><![CDATA[去年年底（2008年11月），德国一家技术咨询公司，mayato，发布了一篇数据挖掘挖掘软件的评估报告，考察了以下12种产品：   传统的数据挖掘套件(Classic suites)：SAS Enterprise Miner 5.3SPSS Clementine 12   开源数据挖掘软件(Open Source)：RapidMiner 4.2KNIME 1.3.5Weka 3.4.13   自动化数据挖掘软件(Self-Acting)：KXEN Analytic Framework 4.04   专门化的数据挖掘软件(Specialized)：Viscovery SOMiner 5.0prudsys Discovery 5.5 / Basket Analyzer 5.2Bissantz Delta Master 5.3.6   BI产品内置的数据挖掘软件(BI Vendors)：SAP NetWear 7.0 Data Mining WorkbenchOracle 11g Data MiningMicrosoft SQL Server 2005 Analysis Services   最近数据挖掘市场呈现出多元化的态势，除了传统的数据挖掘厂商SAS、SPSS的产品外，又有各种专有用途的数据挖掘软件，加上开源软件和BI产商提供的数据挖掘功能，这个市场看着是红红火火，给各种层次的用户提供了灵活的选择空间。mayato这篇报告的题目就叫做 Data Mining Software 2009: [...]]]></description>
			<content:encoded><![CDATA[<div><font face="Arial">去年年底（2008年11月），德国一家技术咨询公司，<a href="http://www.mayato.com/">mayato</a>，发布了一篇数据挖掘挖掘软件的评估报告，考察了以下12种产品：</font></div>
<div> </div>
<div><font face="Arial">传统的数据挖掘套件(Classic suites)：<br />SAS Enterprise Miner<br />
5.3<br />SPSS Clementine 12</font></div>
<div> </div>
<div><font face="Arial">开源数据挖掘软件(Open Source)：<br />RapidMiner 4.2<br />KNIME<br />
1.3.5<br />Weka 3.4.13</font></div>
<div> </div>
<div><font face="Arial">自动化数据挖掘软件(Self-Acting)：<br />KXEN Analytic Framework<br />
4.04</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">专门化的数据挖掘软件(Specialized)：<br />Viscovery SOMiner<br />
5.0<br />prudsys Discovery 5.5 / Basket Analyzer 5.2<br />Bissantz Delta Master<br />
5.3.6</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">BI产品内置的数据挖掘软件(BI Vendors)：<br />SAP NetWear 7.0 Data Mining<br />
Workbench<br />Oracle 11g Data Mining<br />Microsoft SQL Server 2005 Analysis<br />
Services</font></div>
<div> </div>
<div><font face="Arial">最近数据挖掘市场呈现出多元化的态势，除了传统的数据挖掘厂商SAS、SPSS的产品外，又有各种专有用途的数据挖掘软件，加上开源软件和BI产商提供的数据挖掘功能，这个市场看着是红红火火，给各种层次的用户提供了灵活的选择空间。mayato这篇报告的题目就叫做<br />
<a href="http://www.mayato.com/downloads/Summary_mayato_Data-Mining-Study_2009.pdf"><em>Data<br />
Mining Software 2009: Successful Analyses at Affordable Prices</em><br />
</a>(November 2008)。</font></div>
<div> </div>
<div><font face="Arial">可惜mayato这次的评估不够深入，所用的标准也嫌太过粗糙。在对Enterprise Miner (SAS),<br />
Rapidminer (Rapid-I), Analytic Framework (KXEN), and NetWeaver Data Mining<br />
Workbench (SAP)这四种产品进行了所谓thoroughly的评估后，它的结果是，Analytic Framework<br />
(KXEN)综合排名第一，Enterprise Miner (SAS)紧接其后，然后是SAP NetWeaver Data Mining<br />
Workbench和Rapidminer。</font></div>
<div> </div>
<div><font face="Arial">这次KXEN排名第一，我们并不感到吃惊（mayato是KXEN的合作伙伴）。不过，KXEN处理数据的速度的确非常值得称道。KXEN号称自动化数据挖掘软件(Self-Acting)，客户定制调优的空间比较小，在默认选项下，其他软件在运行速度上就吃亏不少了。最后提一下，这次评估，KXEN在速度上占优，而SAS在性能上最为突出。</font></div>
<div> </div>
<div><font face="Arial">总的来说，这份评估过于简单，只能作为参考。不过它所展现的（以及遗漏的）数据挖掘软件市场，还是让人比较兴奋的（这次评估，当然有非常多的遗漏，如重要的Teradata<br />
Warehouse Miner、IBM的DB2 Intelligence<br />
Miner、Angoss、Unica等）。</font></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/02/17/fyi-%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e8%bd%af%e4%bb%b6%e5%a4%a7%e8%af%84%e6%af%94/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Basel II on Incremental Risk Charge(IRC): Quick Links</title>
		<link>http://www.jiangtanghu.com/cn/2009/02/12/basel-ii-on-incremental-risk-chargeirc-quick-links/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/02/12/basel-ii-on-incremental-risk-chargeirc-quick-links/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9996</guid>
		<description><![CDATA[Basel Committee on Banking Supervision(Jan, 2009). Guidelines for computing capital for incremental default risk in the trading book. Consultative document. January. IRC Comments by RiskMetrics]]></description>
			<content:encoded><![CDATA[<ol>
<li><font face="Arial" size="2"><a href="http://www.bis.org/publ/bcbs149.pdf">Basel Committee on Banking<br />
  Supervision(Jan, 2009). Guidelines for computing capital for incremental<br />
  default risk in the trading book. Consultative document.<br />
  January.</a></font>
</li>
<li><font face="Arial" size="2"><a href="http://www.riskmetrics.com/sites/default/files/Research20090200.pdf">IRC<br />
  Comments</a> by RiskMetrics</font></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/02/12/basel-ii-on-incremental-risk-chargeirc-quick-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>心酸之路——S-Plus（被）并购大事记</title>
		<link>http://www.jiangtanghu.com/cn/2009/01/15/%e5%bf%83%e9%85%b8%e4%b9%8b%e8%b7%af%e2%80%94%e2%80%94s-plus%ef%bc%88%e8%a2%ab%ef%bc%89%e5%b9%b6%e8%b4%ad%e5%a4%a7%e4%ba%8b%e8%ae%b0/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/01/15/%e5%bf%83%e9%85%b8%e4%b9%8b%e8%b7%af%e2%80%94%e2%80%94s-plus%ef%bc%88%e8%a2%ab%ef%bc%89%e5%b9%b6%e8%b4%ad%e5%a4%a7%e4%ba%8b%e8%ae%b0/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9995</guid>
		<description><![CDATA[0. 史前史：S语言（见John Chambers）   1976-1980，诞生于AT&#38;T的贝尔实验室(Bell Labs)   又，贝尔实验室也是命途多舛。这个时候它还是AT&#38;T门下。后来AT&#38;T遭分拆，朗讯(Lucent)分立出来，接手了贝尔。再后来，阿尔卡特(Alcatel)收购朗讯，贝尔就成了Alcatel-Lucent Bell Labs,不提。   1. StatSci   1987-1988年，位于西雅图的华盛顿大学的统计学教授，Douglas Martin，创办Statistical Sciences公司(StatSci)，商业版的S软件面世（当时还不叫S-Plus）。   2. MathSoft   1993-1994，StatSci获得S语言的特许许可证(exclusive license)，并和MathSoft公司（创立于1984年）合并，成为其中的一个数据分析部门，Data Analysis Products Division (DAPD)。   3. Insightful   2001年，Mathsoft把它下属的一个部门，Engineering and Education Products Division (EEPD)，卖给这个部门经理，自己改名为Insightful，继续从事S-Plus的研发和销售。2002年，Insightful从贝尔实验室买下了S语言的所有权。   附，以后这个Engineering and Education公司就叫MathSoft了，有一个在工程界很有名的科学计算软件，MathCad。2006年，Mathsoft公司卖给了PTC(Parametric Technology Corporation)。   4. Tibco   2008年，Tibco收购Insightful 太史公曰：S-Plus系出名门，产品做得也不赖，到现在居然潦倒如此，不但几易其主，还有伤主之嫌（但愿S-plus和接手它的公司能够走出历史的怪圈）。在同门，声势比不过R，在商业软件领域，又远远被SAS、SPSS甩开，甚至想跟Stata一样独善其身而不得，噫。]]></description>
			<content:encoded><![CDATA[<div><font face="Arial">0. 史前史：S语言（见<a>John<br />
Chambers</a>）</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">1976-1980，诞生于AT&amp;T的贝尔实验室(Bell Labs)</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial"><em>又</em>，贝尔实验室也是命途多舛。这个时候它还是AT&amp;T门下。后来AT&amp;T遭分拆，朗讯(Lucent)分立出来，接手了贝尔。再后来，阿尔卡特(Alcatel)收购朗讯，贝尔就成了Alcatel-Lucent<br />
Bell Labs,不提。</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial"><font size="2">1. </font><a href="http://www.stat.berkeley.edu/users/rodwong/Stat131a/History_R.pdf"><strong>StatSci</strong></a></font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">1987-1988年，位于西雅图的华盛顿大学的统计学教授，Douglas Martin，创办Statistical<br />
Sciences公司(StatSci)，商业版的S软件面世（当时还不叫S-Plus）。</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial"><font size="2">2. </font><a href="http://en.wikipedia.org/wiki/Mathsoft"><strong>MathSoft</strong></a></font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">1993-1994，StatSci获得S语言的特许许可证(exclusive<br />
license)，并和MathSoft公司（创立于1984年）合并，成为其中的一个数据分析部门，Data Analysis Products Division<br />
(DAPD)。</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial"><font size="2">3. </font><a href="http://en.wikipedia.org/wiki/S-plus"><strong>Insightful</strong></a></font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">2001年，Mathsoft把它下属的一个部门，Engineering and Education Products<br />
Division<br />
(EEPD)，卖给这个部门经理，自己改名为Insightful，继续从事S-Plus的研发和销售。2002年，Insightful从贝尔实验室<a href="http://www.ch.insightful.com/investors/press/CW Weekly Jan08.pdf">买下了S语言的所有权</a>。</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial"><em>附</em>，以后这个Engineering and<br />
Education公司就叫MathSoft了，有一个在工程界很有名的科学计算软件，MathCad。2006年，Mathsoft公司卖给了<a href="www.ptc.com">PTC</a>(Parametric Technology Corporation)。</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial"><font size="2">4. </font><a href="http://www.tibco.com/company/news/releases/2008/press924.jsp"><strong>Tibco</strong></a></font></div>
<div> </div>
<div><font face="Arial">2008年，<a href="www.tibco.com">Tibco</a>收购Insightful</font></div>
<p><font face="Arial"></p>
<div>太史公曰：S-Plus系出名门，产品做得也不赖，到现在居然潦倒如此，不但几易其主，还有伤主之嫌（<em>但愿S-plus和接手它的公司能够走出历史的怪圈</em>）。在同门，声势比不过R，在商业软件领域，又远远被SAS、SPSS甩开，甚至想跟Stata一样独善其身而不得，噫。</div>
<p></font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/01/15/%e5%bf%83%e9%85%b8%e4%b9%8b%e8%b7%af%e2%80%94%e2%80%94s-plus%ef%bc%88%e8%a2%ab%ef%bc%89%e5%b9%b6%e8%b4%ad%e5%a4%a7%e4%ba%8b%e8%ae%b0/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>FYI: 用SAS/Graph做仪表盘(Dashboard)</title>
		<link>http://www.jiangtanghu.com/cn/2009/01/14/fyi-%e7%94%a8sasgraph%e5%81%9a%e4%bb%aa%e8%a1%a8%e7%9b%98dashboard/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/01/14/fyi-%e7%94%a8sasgraph%e5%81%9a%e4%bb%aa%e8%a1%a8%e7%9b%98dashboard/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9994</guid>
		<description><![CDATA[以前提到过，SAS一个员工做了一份给圣诞老人用的dashboard，在YouTube也能找到。最近Support.sas.com公布了一批Dashboard示例，比较有意思，不妨一看： http://support.sas.com/kb/26/134.html 具体的： Slider chart indicator: SAS program version stored process version portlet version Slider chart dashboard: SAS program version stored process version portlet version Bullet graph indicator: SAS program version stored process version portlet version Bullet graph dashboard: SAS program version stored process version portlet version Dial meter indicator: SAS program version stored process [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://7hcwaw.bay.livefilestore.com/y1p_uA_BREIVHgB5xmLx9iIy_EEQACmYH0hdqw2JnApHH_fS8hw4QKcYJ_g6u3oV6jg8SxhwKduMG0sbcCUZRAnkw?PARTNER=WRITER"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="298" alt="dashboard" src="http://byfiles.storage.msn.com/y1pQSi2Ir1lBhABHdgWP3adYc5URY7K2BwvXyzTCuldRKj7yq7N4AeQwUIq4_6XAAmMFfWVxsxtxW_a-aJNx4iy3g?PARTNER=WRITER" width="396" border="0" /></a> </p>
<p>以前提到过，SAS一个员工做了一份给圣诞老人用的<a href="http://jiangtanghu.blogspot.com/2008/12/santa-and-sas-again-santa-dashboard.html" target="_blank">dashboard</a>，在<a href="http://www.youtube.com/watch?v=g2oGdKzX8pg" target="_blank">YouTube</a>也能找到。最近Support.sas.com公布了一批Dashboard示例，比较有意思，不妨一看：</p>
<p><a title="http://support.sas.com/kb/26/134.html" href="http://support.sas.com/kb/26/134.html">http://support.sas.com/kb/26/134.html</a></p>
<p>具体的：</p>
<ul>
<li>Slider chart indicator:
<ul>
<li><a href="http://support.sas.com/kb/26104.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26114.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26124.html">portlet version</a></li>
</ul>
</li>
</ul>
<li>Slider chart dashboard:
<ul>
<li><a href="http://support.sas.com/kb/26105.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26115.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26125.html">portlet version</a></li>
</ul>
</li>
<li>Bullet graph indicator:
<ul>
<li><a href="http://support.sas.com/kb/26106.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26116.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26126.html">portlet version</a></li>
</ul>
</li>
<li>Bullet graph dashboard:
<ul>
<li><a href="http://support.sas.com/kb/26107.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26117.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26127.html">portlet version</a></li>
</ul>
</li>
<li>Dial meter indicator:
<ul>
<li><a href="http://support.sas.com/kb/26108.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26118.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26128.html">portlet version</a></li>
</ul>
</li>
<li>Dial meter dashboard:
<ul>
<li><a href="http://support.sas.com/kb/26109.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26119.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26129.html">portlet version</a></li>
</ul>
</li>
<li>Bar chart indicator:
<ul>
<li><a href="http://support.sas.com/kb/26110.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26120.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26130.html">portlet version</a></li>
</ul>
</li>
<li>Bar chart dashboard:
<ul>
<li><a href="http://support.sas.com/kb/26111.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26121.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26131.html">portlet version</a></li>
</ul>
</li>
<li>Telesales dashboard:
<ul>
<li><a href="http://support.sas.com/kb/26112.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26122.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26132.html">portlet version</a></li>
</ul>
</li>
<li>Web marketing analysis dashboard:
<ul>
<li><a href="http://support.sas.com/kb/26113.html">SAS program version</a> </li>
<li><a href="http://support.sas.com/kb/26123.html">stored process version</a> </li>
<li><a href="http://support.sas.com/kb/26133.html">portlet version</a></li>
</ul>
</li>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">del.icio.us Tags: <a href="http://del.icio.us/popular/SAS" rel="tag">SAS</a>,<a href="http://del.icio.us/popular/Dashboard" rel="tag">Dashboard</a>,<a href="http://del.icio.us/popular/%e4%bb%aa%e8%a1%a8%e7%9b%98" rel="tag">仪表盘</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/01/14/fyi-%e7%94%a8sasgraph%e5%81%9a%e4%bb%aa%e8%a1%a8%e7%9b%98dashboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R与SAS之争：一个导读</title>
		<link>http://www.jiangtanghu.com/cn/2009/01/13/r%e4%b8%8esas%e4%b9%8b%e4%ba%89%ef%bc%9a%e4%b8%80%e4%b8%aa%e5%af%bc%e8%af%bb/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/01/13/r%e4%b8%8esas%e4%b9%8b%e4%ba%89%ef%bc%9a%e4%b8%80%e4%b8%aa%e5%af%bc%e8%af%bb/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9993</guid>
		<description><![CDATA[现在R与SAS社区里，最热闹的大概是源于《纽约时报》的一篇文章而引发的R与SAS之争了。 2009年1月7号，《纽约时报》科技版登了一篇注定要引起四方瞩目的文章, Data Analysts Captivated by R&#8217;s Power（1月6号就有网络版），作者是该报的记者Ashlee Vance。这大概是开源统计软件包R，自1996年诞生以来，第一次出现在公众视野，而且是出现在《纽约时报》这样的主流媒体。这篇文章里有一句，让R社区和SAS社区都颇为兴奋，而且有很多私人博客也积极跟进： The popularity of R at universities could threaten SAS Institute. R软件的兴起，可能会威胁到SAS公司在数据分析领域的地位。 报道中有对SAS公司一位市场总监Anee Milley的采访。Anee Milley的一句回应也注定要引来不少争议（甚至是公关危机）： We have customers who build engines for aircraft. I am happy they are not using freeware when I get on a jet. 我们有一些客户，为整机制造引擎。当我乘机时，很高兴他们没有使用免费软件（来设计引擎）。 1月7号中午，就有用户在全球最主要的SAS论坛SAS-L发贴，提醒大家注意这篇报道。目前，这个帖子的跟贴不断，是目前SAS-L中最火的帖子，其中有不少R软件的支持者发言。SAS-L的大多活跃用户都是一些SAS老手，用SAS几十年，在最近的工作中意识到R的好处，所以对SAS与R的融合比较感兴趣。 更多，请见“统计之都”： http://cos.name/2009/01/r-sas/ del.icio.us Tags: R,SAS,纽约时报,Ashlee Vance,SAS-L]]></description>
			<content:encoded><![CDATA[<p>现在R与SAS社区里，最热闹的大概是源于《纽约时报》的一篇文章而引发的R与SAS之争了。  </p>
<p>2009年1月7号，《纽约时报》科技版登了一篇注定要引起四方瞩目的文章, <em><a href="http://www.nytimes.com/2009/01/07/technology/business-computing/07program.html" target="_blank">Data Analysts Captivated by R&#8217;s Power</a></em>（1月6号就有网络版），作者是该报的记者<a href="http://topics.nytimes.com/top/reference/timestopics/people/v/ashlee_vance/index.html?inline=nyt-per" target="_blank">Ashlee Vance</a>。这大概是开源统计软件包R，自1996年诞生以来，第一次出现在公众视野，而且是出现在《纽约时报》这样的主流媒体。这篇文章里有一句，让R社区和SAS社区都颇为兴奋，而且有很多私人博客也积极跟进：<br />
<blockquote>
<p>The popularity of R at universities could threaten SAS Institute.  </p>
<p>R软件的兴起，可能会威胁到SAS公司在数据分析领域的地位。 </p>
</blockquote>
<p>报道中有对SAS公司一位市场总监Anee Milley的采访。Anee Milley的一句回应也注定要引来不少争议（甚至是公关危机）：<br />
<blockquote>
<p>We have customers who build engines for aircraft. I am happy they are not using freeware when I get on a jet.  </p>
<p>我们有一些客户，为整机制造引擎。当我乘机时，很高兴他们没有使用免费软件（来设计引擎）。 </p>
</blockquote>
<p>1月7号中午，就有用户在全球最主要的SAS论坛<a href="http://www.listserv.uga.edu/cgi-bin/wa?A1=ind0901b&amp;L=sas-l#44" target="_blank">SAS-L</a>发贴，提醒大家注意这篇报道。目前，这个帖子的跟贴不断，是目前SAS-L中最火的帖子，其中有不少R软件的支持者发言。SAS-L的大多活跃用户都是一些SAS老手，用SAS几十年，在最近的工作中意识到R的好处，所以对SAS与R的融合比较感兴趣。 </p>
</p>
<p>更多，请见“统计之都”：</p>
<p><a title="http://cos.name/2009/01/r-sas/" href="http://cos.name/2009/01/r-sas/">http://cos.name/2009/01/r-sas/</a></p>
<p>
<div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px">del.icio.us Tags: <a href="http://del.icio.us/popular/R" rel="tag">R</a>,<a href="http://del.icio.us/popular/SAS" rel="tag">SAS</a>,<a href="http://del.icio.us/popular/%e7%ba%bd%e7%ba%a6%e6%97%b6%e6%8a%a5" rel="tag">纽约时报</a>,<a href="http://del.icio.us/popular/Ashlee Vance" rel="tag">Ashlee Vance</a>,<a href="http://del.icio.us/popular/SAS-L" rel="tag">SAS-L</a></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/01/13/r%e4%b8%8esas%e4%b9%8b%e4%ba%89%ef%bc%9a%e4%b8%80%e4%b8%aa%e5%af%bc%e8%af%bb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SAS金融函数（1）：期权定价（new in SAS9.2 Base）</title>
		<link>http://www.jiangtanghu.com/cn/2009/01/06/sas%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0%ef%bc%881%ef%bc%89%ef%bc%9a%e6%9c%9f%e6%9d%83%e5%ae%9a%e4%bb%b7%ef%bc%88new-in-sas9-2-base%ef%bc%89/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/01/06/sas%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0%ef%bc%881%ef%bc%89%ef%bc%9a%e6%9c%9f%e6%9d%83%e5%ae%9a%e4%bb%b7%ef%bc%88new-in-sas9-2-base%ef%bc%89/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9992</guid>
		<description><![CDATA[以前贴过一份SAS9.1 Base的金融函数（23个。SAS9.1/ETS还有9个），惜乎没有展开来讲。现在SAS9.2 Base新增了一些有意思的金融函数（还有一些调整，比如，SAS9.1/ETS那9个金融函数都整合到SAS9.2 Base中去了），正好可以慢慢道来，从新增的期权定价函数开始（以前这些函数在SAS的风险管理软件Risk Dimension里面）。 SAS9.2 Base新增的这些定价函数（8个）都是计算欧式期权价格的，对看涨(call)期权、看跌期权(put)以及不同的期权类型（股票期权、期货期权、货币期权、交换期权），分别提供了以下四种模型： Black-Scholes model，传统的股票期权定价模型，见Fischer Black and Myron Scholes (1973)Black model，Black-Scholes model的扩展，针对期货期权，见Fischer Black(1976)，所以该模型又称作Black-76Garman-Kohlhagen model，外汇期权定价模型，见Mark Garman and Steven Kohlhagen(1983)Margrabe model，交换期权定价模型，见William Margrabe(1978) SAS9.2期权定价函数一览：     Model，定价模型    Underlying,标的物     函数（Call,看涨）     函数（ Put，看跌） Black model Futures，期货 BLACKCLPRC BLACKPTPRC Black-Scholes model Stock，股票 BLKSHCLPRC BLKSHPTPRC Garman-Kohlhagen model Currency，货币 GARKHCLPRC GARKHPTPRC Margrabe model Exchange，资产交换 MARGRCLPRC MARGRPTPRC 具体用法，见SAS9.2的在线帮助文档，Functions [...]]]></description>
			<content:encoded><![CDATA[<p>以前贴过一份<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!333.entry" target="_blank">SAS9.1 Base的金融函数</a>（23个。SAS9.1/ETS还有9个），惜乎没有展开来讲。现在SAS9.2 Base新增了一些有意思的金融函数（还有一些调整，比如，SAS9.1/ETS那9个金融函数都整合到SAS9.2 Base中去了），正好可以慢慢道来，从新增的期权定价函数开始（以前这些函数在SAS的风险管理软件Risk Dimension里面）。  </p>
<p>SAS9.2 Base新增的这些定价函数（8个）都是计算欧式期权价格的，对看涨(call)期权、看跌期权(put)以及不同的期权类型（股票期权、期货期权、货币期权、交换期权），分别提供了以下四种模型：</p>
<blockquote><p><a href="http://en.wikipedia.org/wiki/Black-Scholes" target="_blank">Black-Scholes model</a>，传统的股票期权定价模型，见<a href="http://riem.swufe.edu.cn/new/techupload/course/200742423245359181.pdf" target="_blank">Fischer Black and Myron Scholes (1973)</a><br /><a href="http://en.wikipedia.org/wiki/Black_model" target="_blank">Black model</a>，Black-Scholes model的扩展，针对期货期权，见<a href="http://math.ucalgary.ca/~ware/jc/black76_slides.pdf" target="_blank">Fischer Black(1976)</a>，所以该模型又称作Black-76<br /><a href="http://www.riskglossary.com/link/garman_kohlhagen_1983.htm" target="_blank">Garman-Kohlhagen model</a>，外汇期权定价模型，见<a href="http://ideas.repec.org/a/eee/jimfin/v2y1983i3p231-237.html" target="_blank">Mark Garman and Steven Kohlhagen(1983)</a><br /><a href="http://www.sitmo.com/eq/671" target="_blank">Margrabe model</a>，交换期权定价模型，见<a href="http://www.er.ethz.ch/teaching/Margrabe_Option.pdf" target="_blank">William Margrabe(1978)</a></p>
</blockquote>
<p>SAS9.2期权定价函数一览：</p>
<table cellspacing="0" cellpadding="2" width="586" border="0">
<tbody>
<tr>
<td valign="top" width="151">    Model，定价模型</td>
<td valign="top" width="150">   Underlying,标的物</td>
<td valign="top" width="141">    函数（Call,看涨）</td>
<td valign="top" width="142">    函数（ Put，看跌）</td>
</tr>
<tr>
<td valign="top" width="149">Black model</td>
<td valign="top" width="150">Futures，期货</td>
<td valign="top" width="142">BLACK<font color="#ff0000">CL</font>PRC</td>
<td valign="top" width="142">BLACK<font color="#ff0000">PT</font>PRC</td>
</tr>
<tr>
<td valign="top" width="149">Black-Scholes model</td>
<td valign="top" width="150">Stock，股票</td>
<td valign="top" width="143">BLKSH<font color="#ff0000">CL</font>PRC</td>
<td valign="top" width="142">BLKSH<font color="#ff0000">PT</font>PRC</td>
</tr>
<tr>
<td valign="top" width="149">Garman-Kohlhagen model</td>
<td valign="top" width="149">Currency，货币</td>
<td valign="top" width="144">GARKH<font color="#ff0000">CL</font>PRC</td>
<td valign="top" width="142">GARKH<font color="#ff0000">PT</font>PRC</td>
</tr>
<tr>
<td valign="top" width="149">Margrabe model </td>
<td valign="top" width="149">Exchange，资产交换</td>
<td valign="top" width="144">MARGR<font color="#ff0000">CL</font>PRC</td>
<td valign="top" width="142">MARGR<font color="#ff0000">PT</font>PRC</td>
</tr>
</tbody>
</table>
<p>具体用法，见SAS9.2的在线帮助文档，<em>Functions and CALL Routines by Category: Financial</em>：<br /><a href="http://support.sas.com/documentation/cdl/en/lrdict/59540/HTML/default/a000245860.htm">http://support.sas.com/documentation/cdl/en/lrdict/59540/HTML/default/a000245860.htm</a></p>
<p>推荐一个网站，可以比较各种不同的期权定价模型：<a title="http://www.montegodata.co.uk/" href="http://www.montegodata.co.uk/">http://www.montegodata.co.uk/</a></p>
<p><strong>下期预告：一个通吃的金融函数，Finance(.)</strong></p>
<p>一个孤零零的金融函数，能够做52种（是52种！）不同的金融计算，前面提到的SAS9.1/ETS那9个金融函数就是被它给硬生生消化掉了，……</p>
<div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px">del.icio.us Tags: <a href="http://del.icio.us/popular/SAS" rel="tag">SAS</a>,<a href="http://del.icio.us/popular/Base" rel="tag">Base</a>,<a href="http://del.icio.us/popular/ETS" rel="tag">ETS</a>,<a href="http://del.icio.us/popular/SAS9.2" rel="tag">SAS9.2</a>,<a href="http://del.icio.us/popular/Financial Functions" rel="tag">Financial Functions</a>,<a href="http://del.icio.us/popular/Options" rel="tag">Options</a>,<a href="http://del.icio.us/popular/Call" rel="tag">Call</a>,<a href="http://del.icio.us/popular/Put" rel="tag">Put</a>,<a href="http://del.icio.us/popular/Pricing" rel="tag">Pricing</a>,<a href="http://del.icio.us/popular/Black-Scholes model" rel="tag">Black-Scholes model</a>,<a href="http://del.icio.us/popular/Black model" rel="tag">Black model</a>,<a href="http://del.icio.us/popular/Black-76" rel="tag">Black-76</a>,<a href="http://del.icio.us/popular/Garman-Kohlhagen model" rel="tag">Garman-Kohlhagen model</a>,<a href="http://del.icio.us/popular/Margrabe model" rel="tag">Margrabe model</a>,<a href="http://del.icio.us/popular/Futures Option" rel="tag">Futures Option</a>,<a href="http://del.icio.us/popular/Stock Option" rel="tag">Stock Option</a>,<a href="http://del.icio.us/popular/Currency Option" rel="tag">Currency Option</a>,<a href="http://del.icio.us/popular/Exchange Option" rel="tag">Exchange Option</a>,<a href="http://del.icio.us/popular/%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0" rel="tag">金融函数</a>,<a href="http://del.icio.us/popular/%e6%9c%9f%e6%9d%83" rel="tag">期权</a>,<a href="http://del.icio.us/popular/%e5%ae%9a%e4%bb%b7" rel="tag">定价</a>,<a href="http://del.icio.us/popular/%e8%82%a1%e7%a5%a8%e6%9c%9f%e6%9d%83" rel="tag">股票期权</a>,<a href="http://del.icio.us/popular/%e6%9c%9f%e8%b4%a7%e6%9c%9f%e6%9d%83" rel="tag">期货期权</a>,<a href="http://del.icio.us/popular/%e8%b4%a7%e5%b8%81%e6%9c%9f%e6%9d%83" rel="tag">货币期权</a>,<a href="http://del.icio.us/popular/%e4%ba%a4%e6%8d%a2%e6%9c%9f%e6%9d%83" rel="tag">交换期权</a>,<a href="http://del.icio.us/popular/%e9%87%91%e8%9e%8d%e5%b7%a5%e7%a8%8b" rel="tag">金融工程</a>,<a href="http://del.icio.us/popular/Risk Dimension" rel="tag">Risk Dimension</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/01/06/sas%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0%ef%bc%881%ef%bc%89%ef%bc%9a%e6%9c%9f%e6%9d%83%e5%ae%9a%e4%bb%b7%ef%bc%88new-in-sas9-2-base%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>江山一笼统-新年快乐</title>
		<link>http://www.jiangtanghu.com/cn/2009/01/01/%e6%b1%9f%e5%b1%b1%e4%b8%80%e7%ac%bc%e7%bb%9f-%e6%96%b0%e5%b9%b4%e5%bf%ab%e4%b9%90/</link>
		<comments>http://www.jiangtanghu.com/cn/2009/01/01/%e6%b1%9f%e5%b1%b1%e4%b8%80%e7%ac%bc%e7%bb%9f-%e6%96%b0%e5%b9%b4%e5%bf%ab%e4%b9%90/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9991</guid>
		<description><![CDATA[新年快乐 ( Xin Nian Kuai Le), Guten Rutsch ins neue Jahr, Bonne Année, Nav varsh ki shubh kamnayey, Felice Anno Nuovo, Feliz Año Nuevo, Feliz Ano Novo, 明けましておめでとうございます (Akemashite Omedetô), Gelukkig Nieuwjaar, Szczęśliwego Nowego Roku, Καλή Χρονιά (Kalí Chroniá), Seh Heh Bok Mani Bat Uh Seyo, חג חנוכה שמח (Hag Hanukkah Sameah), Cчастливого Нового Года, [...]]]></description>
			<content:encoded><![CDATA[<div>新年快乐 ( Xin Nian Kuai Le), 
<div>
<div>Guten<br />
Rutsch ins neue Jahr, <br />Bonne Année, <br />Nav varsh ki shubh kamnayey,<br />
<br />Felice Anno Nuovo, <br />Feliz Año Nuevo, <br />Feliz Ano Novo,<br />
<br />明けましておめでとうございます (Akemashite Omedetô), <br />Gelukkig Nieuwjaar,<br />
<br />Szczęśliwego Nowego Roku, <br />Καλή Χρονιά (Kalí Chroniá), <br />Seh Heh Bok<br />
Mani Bat Uh Seyo, <br />חג חנוכה שמח (Hag Hanukkah Sameah), <br />Cчастливого Нового<br />
Года, </div>
<p>Happy New Year,</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2009/01/01/%e6%b1%9f%e5%b1%b1%e4%b8%80%e7%ac%bc%e7%bb%9f-%e6%96%b0%e5%b9%b4%e5%bf%ab%e4%b9%90/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>分类模型的性能评估——以SAS Logistic回归为例(2): ROC和AUC</title>
		<link>http://www.jiangtanghu.com/cn/2008/12/31/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b2-roc%e5%92%8cauc/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/12/31/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b2-roc%e5%92%8cauc/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9990</guid>
		<description><![CDATA[ROC 上回我们提到，ROC曲线就是不同的阈值下，以下两个变量的组合（如果对Sensitivity和Specificity两个术语没有概念，不妨返回，《分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵》，强烈建议读者对着看）： Sensitivity（覆盖率，True Positive Rate） 1-Specificity (Specificity, 负例的覆盖率，True Negative Rate) 二话不说，先把它画出来（以下脚本的主体是标红部分，数据集valid_roc，还是出自上面提到的那篇）： axis order=(0 to 1 by .1) label=none length=4in; symbol i=join v=none c=black; symbol2 i=join v=none c=black; proc gplot data = valid_roc; plot _SENSIT_*_1MSPEC_ _1MSPEC_*_1MSPEC_ / overlay vaxis=axis haxis=axis; run; quit; 上图那条曲线就是ROC曲线，横轴是1-Specificity，纵轴是Sensitivity。以前提到过，随着阈值的减小（更多的客户就会被归为正例），Sensitivity和1-Specificity也相应增加（也即Specificity相应减少），所以ROC呈递增态势（至于ROC曲线凹向原点而非凸向原点，不知道有无直观的解释，不提）。那条45度线是作为参照（baseline model）出现的，就是说，ROC的好坏，乃是跟45度线相比的，怎么讲？更多，见COS: http://cos.name/2008/12/measure-classification-model-performance-roc-auc/ del.icio.us Tags: AUC,Confusion Matrix,覆盖率,Logistic回归,Receiver Operating Characteristic Curve,ROC,SAS,Sensitiveity,Specificity,Wilcoxon-Mann-Whitney,分类模型,命中率,接受者操作特性曲线,数据挖掘,混淆矩阵]]></description>
			<content:encoded><![CDATA[<p><strong>ROC</strong></p>
<p><a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/">上回</a>我们提到，ROC曲线就是不同的阈值下，以下两个变量的组合（如果对Sensitivity和Specificity两个术语没有概念，不妨返回，<em>《</em><a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/"><em>分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵</em></a><em>》</em>，强烈建议读者对着看）：</p>
<blockquote><p>Sensitivity（覆盖率，True Positive Rate）</p>
<p>1-Specificity (Specificity, 负例的覆盖率，True Negative Rate)</p>
</blockquote>
<p>二话不说，先把它画出来（以下脚本的主体是标红部分，数据集valid_roc，还是出自上面提到的<a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/" target="_blank">那篇</a>）：
</p>
<blockquote><p>axis order=(<strong>0</strong> to <strong>1</strong> by <strong>.1</strong>) label=none length=<strong>4</strong>in;</p>
<p>symbol i=join v=none c=black;</p>
<p>symbol2 i=join v=none c=black;</p>
<p><span style="color:#ff0000"><strong>proc</strong> <strong>gplot</strong> data = valid_roc;</span></p>
<p><span style="color:#ff0000">plot _SENSIT_*_1MSPEC_ _1MSPEC_*_1MSPEC_</span></p>
<p>/ overlay vaxis=axis haxis=axis;</p>
<p><strong>run</strong>; <strong>quit</strong>;</p>
</blockquote>
<p><a href="http://byfiles.storage.msn.com/y1pouA7U9wtR84erRcFIABjtGmogh8Hld66Nk4cqUQe4udxB_Rt0OEgPWEkOMnsHRpy?PARTNER=WRITER"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="310" alt="roc" src="http://byfiles.storage.msn.com/y1pci4IlvXBoEKaWMK40zv8Z9P1btkeoqxRX7448u_OMMpXcv6IfklnkcbYE0cAgeKjrg7PVgny8rYv_8C6IEchKg?PARTNER=WRITER" width="338" border="0" /></a></p>
<p>上图那条曲线就是ROC曲线，横轴是1-Specificity，纵轴是Sensitivity。<a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/">以前</a>提到过，随着阈值的减小（更多的客户就会被归为正例），Sensitivity和1-Specificity也相应增加（也即Specificity相应减少），所以ROC呈递增态势（<em>至于</em><em>ROC</em><em>曲线凹向原点而非凸向原点，不知道有无直观的解释，不提</em>）。那条45度线是作为参照（baseline model）出现的，就是说，ROC的好坏，乃是跟45度线相比的，怎么讲？更多，见COS:</p>
<p><a title="http://cos.name/2008/12/measure-classification-model-performance-roc-auc/" href="http://cos.name/2008/12/measure-classification-model-performance-roc-auc/">http://cos.name/2008/12/measure-classification-model-performance-roc-auc/</a></p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">del.icio.us Tags: <a href="http://del.icio.us/popular/AUC" rel="tag">AUC</a>,<a href="http://del.icio.us/popular/Confusion Matrix" rel="tag">Confusion Matrix</a>,<a href="http://del.icio.us/popular/%e8%a6%86%e7%9b%96%e7%8e%87" rel="tag">覆盖率</a>,<a href="http://del.icio.us/popular/Logistic%e5%9b%9e%e5%bd%92" rel="tag">Logistic回归</a>,<a href="http://del.icio.us/popular/Receiver Operating Characteristic Curve" rel="tag">Receiver Operating Characteristic Curve</a>,<a href="http://del.icio.us/popular/ROC" rel="tag">ROC</a>,<a href="http://del.icio.us/popular/SAS" rel="tag">SAS</a>,<a href="http://del.icio.us/popular/Sensitiveity" rel="tag">Sensitiveity</a>,<a href="http://del.icio.us/popular/Specificity" rel="tag">Specificity</a>,<a href="http://del.icio.us/popular/Wilcoxon-Mann-Whitney" rel="tag">Wilcoxon-Mann-Whitney</a>,<a href="http://del.icio.us/popular/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b" rel="tag">分类模型</a>,<a href="http://del.icio.us/popular/%e5%91%bd%e4%b8%ad%e7%8e%87" rel="tag">命中率</a>,<a href="http://del.icio.us/popular/%e6%8e%a5%e5%8f%97%e8%80%85%e6%93%8d%e4%bd%9c%e7%89%b9%e6%80%a7%e6%9b%b2%e7%ba%bf" rel="tag">接受者操作特性曲线</a>,<a href="http://del.icio.us/popular/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a>,<a href="http://del.icio.us/popular/%e6%b7%b7%e6%b7%86%e7%9f%a9%e9%98%b5" rel="tag">混淆矩阵</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/12/31/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b2-roc%e5%92%8cauc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵</title>
		<link>http://www.jiangtanghu.com/cn/2008/12/25/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b1-%e6%b7%b7%e6%b7%86%e7%9f%a9%e9%98%b5/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/12/25/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b1-%e6%b7%b7%e6%b7%86%e7%9f%a9%e9%98%b5/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9989</guid>
		<description><![CDATA[跑完分类模型（Logistic回归、决策树、神经网络等），我们经常面对一大堆模型评估的报表和指标，如Confusion Matrix、ROC、Lift、Gini、K-S之类（这个单子可以列很长），往往让很多在业务中需要解释它们的朋友头大：“这个模型的Lift是4，表明模型运作良好。——啊，怎么还要解释ROC，ROC如何如何，表明模型变现良好……”如果不明白这些评估指标的背后的直觉，就很可能陷入这样的机械解释中，不敢多说一句，就怕哪里说错。本文就试图用一个统一的例子（SAS Logistic回归），从实际应用而不是理论研究的角度，对以上提到的各个评估指标逐一点评，并力图表明： 这些评估指标，都是可以用白话（plain English, 普通话）解释清楚的； 它们是可以手算出来的，看到各种软件包输出结果，并不是一个无法探究的“黑箱”； 它们是相关的。你了解一个，就很容易了解另外一个。 本文从混淆矩阵(Confusion Matrix，或叫分类矩阵(Classification Matrix)开始，它最简单，而且是大多数指标的基础。（这篇小东西先发布在cos.name上，比较长，感兴趣的朋友可以去看看）： http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/]]></description>
			<content:encoded><![CDATA[<div><font face="Arial"><br />
</font>
<p>跑完分类模型（Logistic回归、决策树、神经网络等），我们经常面对一大堆模型评估的报表和指标，如Confusion<br />
Matrix、ROC、Lift、Gini、K-S之类（这个单子可以列很长），往往让很多在业务中需要解释它们的朋友头大：“这个模型的Lift是4，表明模型运作良好。——啊，怎么还要解释ROC，ROC如何如何，表明模型变现良好……”如果不明白这些评估指标的背后的直觉，就很可能陷入这样的机械解释中，不敢多说一句，就怕哪里说错。本文就试图用一个统一的例子（SAS<br />
Logistic回归），从实际应用而不是理论研究的角度，对以上提到的各个评估指标逐一点评，并力图表明：</p>
<ol>
<li>这些评估指标，都是可以用白话（plain English, 普通话）解释清楚的；
  </li>
<li>它们是可以手算出来的，看到各种软件包输出结果，并不是一个无法探究的“黑箱”；
  </li>
<li>它们是相关的。你了解一个，就很容易了解另外一个。</li>
</ol>
<p>本文从混淆矩阵(Confusion Matrix，或叫分类矩阵(Classification<br />
Matrix)开始，它最简单，而且是大多数指标的基础。（<em>这篇小东西先发布在cos.name上，比较长，感兴趣的朋友可以去看看</em>）：
</p>
<p><font size="2"><a href="http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/">http://cos.name/2008/12/measure-classification-model-performance-confusion-matrix/</a></font></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/12/25/%e5%88%86%e7%b1%bb%e6%a8%a1%e5%9e%8b%e7%9a%84%e6%80%a7%e8%83%bd%e8%af%84%e4%bc%b0%e2%80%94%e2%80%94%e4%bb%a5sas-logistic%e5%9b%9e%e5%bd%92%e4%b8%ba%e4%be%8b1-%e6%b7%b7%e6%b7%86%e7%9f%a9%e9%98%b5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>英文博客开张</title>
		<link>http://www.jiangtanghu.com/cn/2008/12/10/%e8%8b%b1%e6%96%87%e5%8d%9a%e5%ae%a2%e5%bc%80%e5%bc%a0/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/12/10/%e8%8b%b1%e6%96%87%e5%8d%9a%e5%ae%a2%e5%bc%80%e5%bc%a0/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9988</guid>
		<description><![CDATA[  开一个英文博客玩玩： http://jiangtanghu.blogspot.com/ Google Blogger的服务，在我们的泱泱贵国可能偶尔被撞，你可以订阅RSS源： http://feeds.feedburner.com/jiangtanghu 这个博客的名字叫Incorporate Things of Diverse Natures，意思大致是我喜欢的“贪多务得，细大不捐”（韩愈《进学解》）。马克思爷爷说，他喜欢的格言是，“人所具有的我都具有”，何止一个“贪”字了得。我可能要以计算机和金融知识混饭吃，但对不少文科领域还是抱着一股持久的兴趣。现只更新了两篇，一是写早上读到的斯蒂文森（写《金银岛》的那位）的句子： Happy hearts and happy faces,Happy play in grassy places 这句是写一个Good Children，上班的公车上读到，面部表情都轻松许多。另一篇转述SAS员工在defects系统里写的俳句（不错，是俳句，“古池塘，青蛙跳，水声响”那种），显示开发人员幽默的一面。 First prompts are silent. Subsequent prompts loud and clear. Now all prompts are heard. 这句你看了可能觉得索然无味。碰到过弹出窗口不work的人，读了就悠悠心会。   决定写英文博客，是有“媚外”的成分在里面，不止是为了练英语。kdnuggets最近有项针对数据挖掘人员为专业沟通的目的上社交网站的调查，使用LinkedIn的最多，其次是AnalyticBridge和facebook，还有几个用Twitter。这些也是我偶尔用的服务。为对外交流的顺畅，整个英文博客就很有必要了。前天在单位，看到一个公司员工玩twitter的list，感触多些。以后这个博客生活味会淡些，用英文写个人生活，这可需要高超的语言功底。先写着，大致跟学术兴趣相关，语言可以生硬些。   经常在几个技术社区逛，呆久了，朋友多了，就有集体的概念，四处相逢，就会说，哎呀，这个圈子真小啊。]]></description>
			<content:encoded><![CDATA[<div> </div>
<div><font face="Arial">开一个英文博客玩玩：</font></div>
<blockquote dir="ltr" style="margin-right:0px">
<div><font face="Arial"><a href="http://jiangtanghu.blogspot.com/">http://jiangtanghu.blogspot.com/</a></font></div>
</blockquote>
<div><font face="Arial">Google Blogger的服务，在我们的泱泱贵国可能偶尔被撞，你可以订阅RSS源：</font></div>
<blockquote dir="ltr" style="margin-right:0px">
<div><font face="Arial"><a href="http://feeds.feedburner.com/jiangtanghu">http://feeds.feedburner.com/jiangtanghu</a></font></div>
</blockquote>
<div><font face="Arial">这个博客的名字叫<strong>Incorporate Things of Diverse<br />
Natures</strong>，意思大致是我喜欢的“贪多务得，细大不捐”（韩愈《进学解》）。马克思爷爷说，他喜欢的格言是，“人所具有的我都具有”，何止一个“贪”字了得。我可能要以计算机和金融知识混饭吃，但对不少文科领域还是抱着一股持久的兴趣。现只更新了两篇，一是写<a href="http://jiangtanghu.blogspot.com/2008/12/happy-grow-up.html">早上读到的斯蒂文森</a>（写《金银岛》的那位）的句子：</font></div>
<blockquote dir="ltr" style="margin-right:0px">
<div><font face="Arial">Happy hearts and happy faces,<br />Happy play in grassy<br />
  places</font></div>
</blockquote>
<div><font face="Arial">这句是写一个Good Children，上班的公车上读到，面部表情都轻松许多。另一篇转述<a href="http://jiangtanghu.blogspot.com/2008/12/haiku-from-sas-r-staff.html">SAS员工在defects系统里写的俳句</a>（不错，是俳句，“古池塘，青蛙跳，水声响”那种），显示开发人员幽默的一面。</font></div>
<blockquote dir="ltr" style="margin-right:0px">
<div><font face="Arial">First prompts are silent. <br />Subsequent prompts loud<br />
  and clear. <br />Now all prompts are heard. </font></div>
</blockquote>
<div><font face="Arial">这句你看了可能觉得索然无味。碰到过弹出窗口不work的人，读了就悠悠心会。</font></div>
<div> </div>
<div><font face="Arial">决定写英文博客，是有“媚外”的成分在里面，不止是为了练英语。<a href="http://www.kdnuggets.com/polls/2008/social-networks-for-analytics-data-mining.htm">kdnuggets</a>最近有项针对数据挖掘人员为专业沟通的目的上社交网站的调查，使用<a href="http://www.linkedin.com/">LinkedIn</a>的最多，其次是<a href="http://www.analyticbridge.com/">AnalyticBridge</a>和<a href="http://www.facebook.com/">facebook</a>，还有几个用<a href="http://twitter.com/">Twitter</a>。这些也是我偶尔用的服务。为对外交流的顺畅，整个英文博客就很有必要了。前天在单位，看到一个公司员工玩twitter的list，感触多些。以后这个博客生活味会淡些，用英文写个人生活，这可需要高超的语言功底。先写着，大致跟学术兴趣相关，语言可以生硬些。</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">经常在几个技术社区逛，呆久了，朋友多了，就有集体的概念，四处相逢，就会说，哎呀，这个圈子真小啊。</font></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/12/10/%e8%8b%b1%e6%96%87%e5%8d%9a%e5%ae%a2%e5%bc%80%e5%bc%a0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>白话统计（4）：P-value：一个注脚</title>
		<link>http://www.jiangtanghu.com/cn/2008/12/09/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%884%ef%bc%89%ef%bc%9ap-value%ef%bc%9a%e4%b8%80%e4%b8%aa%e6%b3%a8%e8%84%9a/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/12/09/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%884%ef%bc%89%ef%bc%9ap-value%ef%bc%9a%e4%b8%80%e4%b8%aa%e6%b3%a8%e8%84%9a/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[统计备忘录]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9987</guid>
		<description><![CDATA[/*本文发布在cos.name（统计之都）。*/ *************本书给你数理统计的直观**************************** 资料来自美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986） 《白话统计（1）：平均数、中位数、众数》 《白话统计（2）：中心极限定理》 《白话统计（3）：决策与风险》 ************************************************************************* 郑冰刚提到P值，说P值的定义（着重号是笔者加的，英文是从WikiPedia摘来的）： P值就是当原假设为真时，比所得到的样本观察结果更极端的结果出现的概率。 The P-value is the probability of obtaining a result at least as extreme as the one that was actually observed, given that the null hypothesis is true. 以下延续白话系列，解释一下，“什么是P值，什么是极端”，算是郑文的一个长长的注脚。 回到上次的硬币试验，那是一次二项试验，每次试验投100次，记下出现正面的次数,比如，如果 每次出现的正面数都是50，你就有把握认为这是一枚均匀的硬币； 正面数等于45或者等于55，你就有一点点的怀疑它是均匀的； 正面数等于30或者等于70，比较怀疑； 正面数等于10或者等于90，非常怀疑。 如上，正面数和反面数的差异越大，你就越有把握认为硬币不是均匀的（拒绝原假设）。重复一下P值的定义，“P值就是当原假设为真时，比所得到的样本观察结果更极端的结果出现的概率”，把这个定义套入上述硬币试验的场景中，比如你观察到“正面数是10或者90，正反面次数差异是80”： 如果原假设为真（硬币是均匀的），P值就是你投100次，所得的正反面数差异大于80的概率。 如果这个P值很大，表明，每次投100次均匀的硬币，经常有正反面差异大于80的情形出现。如果这个P值很小，表明，每次投100次均匀的硬币，你很难看到正反面的差异会超过80。 以前说过，10-90是A博士的接受区域。如果一枚硬币投出的正反面次数，差异大于80，——这真是一个“极端”的情形，连保守的A博士看了都摇摇头，不能接受原假设，只好认为原假设不对，硬币是有偏的。这里的逻辑是： 在假定原假设为真的情况下，出现所看到的偏差（正反面差异为80），是这么地不可能（P值很小），以至于我们不再继续相信原假设。 参考资料: 1. 维恩堡《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986，Statistics: An Intuitive Approach By George [...]]]></description>
			<content:encoded><![CDATA[<p><em>/*</em><em><a href="http://cos.name/2008/12/p-value-notes/" target="_blank">本文发布在cos.name（统计之都）</a></em><em>。*/</em> </p>
<p>*************本书给你数理统计的直观****************************  </p>
<p>资料来自美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986）  </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!375.entry">《白话统计（1）：平均数、中位数、众数》</a><br />
<h6><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!377.entry" target="_blank">《白话统计（2）：中心极限定理》</a></h6>
</p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!963.entry" target="_blank">《白话统计（3）：决策与风险》</a></p>
<p>************************************************************************* </p>
<p><a href="http://cos.name/2008/12/p-value/" target="_blank">郑冰刚提到P值</a>，说P值的定义（着重号是笔者加的，英文是从WikiPedia摘来的）：</p>
<blockquote><p>P值就是当原假设为真时，<strong>比</strong>所得到的样本观察结果<strong>更极端</strong>的结果出现的概率。</p>
<p><a href="http://en.wikipedia.org/wiki/P-value" target="_blank">The P-value is the probability of obtaining a result at least as extreme as the one that was actually observed, given that the null hypothesis is true.</a></p>
</blockquote>
<p>以下延续<a href="http://cos.name/2008/12/decision-risk/" target="_blank">白话系列</a>，解释一下，“什么是P值，什么是极端”，算是郑文的一个长长的注脚。</p>
<p>回到<a href="http://cos.name/2008/12/decision-and-risk/" target="_blank">上次的硬币试验</a>，那是一次二项试验，每次试验投100次，记下出现正面的次数,比如，如果
</p>
<blockquote><p>每次出现的正面数都是50，你就有把握认为这是一枚均匀的硬币；</p>
<p>正面数等于45或者等于55，你就有一点点的怀疑它是均匀的；</p>
<p>正面数等于30或者等于70，比较怀疑；</p>
<p>正面数等于10或者等于90，非常怀疑。</p>
</blockquote>
<p>如上，正面数和反面数的差异越大，你就越有把握认为硬币不是均匀的（拒绝原假设）。重复一下P值的定义，“P值就是当原假设为真时，<strong>比</strong>所得到的样本观察结果<strong>更极端</strong>的结果出现的概率”，把这个定义套入上述硬币试验的场景中，比如你观察到“正面数是10或者90，正反面次数差异是80”：</p>
<blockquote><p>如果原假设为真（硬币是均匀的），P值就是你投100次，所得的正反面数差异大于80的概率。</p>
<p>如果这个P值很大，表明，每次投100次均匀的硬币，经常有正反面差异大于80的情形出现。如果这个P值很小，表明，每次投100次均匀的硬币，你很难看到正反面的差异会超过80。</p>
</blockquote>
<p>以前说过，10-90是A博士的接受区域。如果一枚硬币投出的正反面次数，差异大于80，——这真是一个“极端”的情形，连保守的A博士看了都摇摇头，不能接受原假设，只好认为原假设不对，硬币是有偏的。这里的逻辑是：</p>
<blockquote><p>在假定原假设为真的情况下，出现所看到的偏差（正反面差异为80），是这么地不可能（P值很小），以至于我们不再继续相信原假设。</p>
</blockquote>
<p>参考资料:</p>
<p>1. 维恩堡《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986，Statistics: An Intuitive Approach By George H. Weinberg and John Abraham Schumaker）</p>
<p>2. Statistics I: Course Notes, 2008 SAS Institute Inc. Cary, NC, USA</p>
<div>Technorati Tags: <a href="http://technorati.com/tags/P%e5%80%bc" rel="tag">P值</a>,<a href="http://technorati.com/tags/P-value" rel="tag">P-value</a>,<a href="http://technorati.com/tags/%e6%95%b0%e7%90%86%e7%bb%9f%e8%ae%a1%e5%88%9d%e7%ba%a7%e6%95%99%e7%a8%8b" rel="tag">数理统计初级教程</a>,<a href="http://technorati.com/tags/Statistics: An Intuitive Approach" rel="tag">Statistics: An Intuitive Approach</a>,<a href="http://technorati.com/tags/George H. Weinberg" rel="tag">George H. Weinberg</a>,<a href="http://technorati.com/tags/John Abraham Schumaker" rel="tag">John Abraham Schumaker</a>,<a href="http://technorati.com/tags/Statistics" rel="tag">Statistics</a>,<a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/12/09/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%884%ef%bc%89%ef%bc%9ap-value%ef%bc%9a%e4%b8%80%e4%b8%aa%e6%b3%a8%e8%84%9a/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>白话统计（3）：决策与风险</title>
		<link>http://www.jiangtanghu.com/cn/2008/12/03/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%883%ef%bc%89%ef%bc%9a%e5%86%b3%e7%ad%96%e4%b8%8e%e9%a3%8e%e9%99%a9/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/12/03/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%883%ef%bc%89%ef%bc%9a%e5%86%b3%e7%ad%96%e4%b8%8e%e9%a3%8e%e9%99%a9/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[统计备忘录]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9986</guid>
		<description><![CDATA[/*本文发布在cos.name（统计之都）。*/ *************本书给你数理统计的直观**************************** 资料来自美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986） 《白话统计（1）：平均数、中位数、众数》 《白话统计（2）：中心极限定理》 ************************************************************************* /*读书笔记，白话统计系列，力图用普通话讲述统计学的基本概念。这里的题目是“决策与风险”，讲的就是两类错误（type I and type II errors）。以下改编至维恩堡《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986），英文名叫Statistics: An Intuitive Approach By George H. Weinberg and John Abraham Schumaker。这书几近绝迹，当回文抄公，以期重见天日。*/ 1、假设与决策：场景 原假设：硬币是均匀的。   备择假设：硬币是有偏的。 /*当我们难以拒绝原假设时，只能得到结论：原假设也许是真的，现在不能拒绝它。而当我们能够拒绝它时，结论是：它肯定不真。以下的口语表述不如这里明确（和拗口）的，以这里的表述为准。*/ 试验：在平坦的地方，独立地投掷硬币100次，每次投掷的结果都做记录。最后，正反面出现的次数分别是： 正面：55  反面：45 提问：根据你所看到的结果，判断一下，你接受还是拒绝”硬币是均匀的“这一假设？ -R博士回答：“拒绝这个假设，因为所得到的正面数超过了反面数的允许界限，这表明硬币是有偏的。”-A博士回答：“接受硬币是均匀的这一假设。我们不能非难硬币掷出55个正面，45个反面，一个均匀的硬币也能掷出这个比率。”-R博士：“那什么样的结果才能使你拒绝那假设呢？我的意思是，正面数和反面数应该有多大的差异，才能使你认为硬币是有偏的？“-A博士：“至少90个正面对10个反面，或者90个反面对10个正面。如果我们的决策是拒绝一个掷出55对45这个比率，或者更高一些比率的硬币，那么这个决策将使我们把许多由于偶然掷出上述比率的均匀硬币都宣判为有偏的。你的看法使得非难一个均匀的硬币太容易了。”-R博士：“太过分了!至少要掷出90对10的比率你才说硬币是有偏的。你过度的轻信，将几乎不可能拒绝关于硬币是均匀的假设。诚然，你很少拒绝一个均匀的硬币，但对一个有偏的硬币，你也很难拒绝。” 上面的对话应该让大伙体会到了一些假设检验的意思。可以总结一下，对照下面的表格，思路会清晰一些： 判定 \         假设 真 假 拒绝 第I类错误α  没有错误1-β 接受 没有错误 第II类错误β A博士（Accept，接受）的法则是，除非试验得到的比率超过90比10，否则就接受硬币是均匀的这一假设。A博士厌恶犯否定均匀硬币的错误（”弃真“，第I类错误），他的法则使得犯这种错误的概率最小。由于均匀的硬币几乎不会出现超过90比10的比率，他很少冒把一个均匀的硬币说成有偏的风险。然而，他付出的代价是，大大降低了试验的检测能力（power，见下），他的法则使得拒绝假设是极端困难的。大量有偏的硬币也不会出现如90对10这样大的差异，因此它们也会被当成均匀的硬币而没有被检测出来。可以说，A博士对接受假设有偏爱，当假设为真时，他很少犯拒绝它的错误；但当假设不真时，他会常犯接受它的错误。 R博士（Reject，拒绝）的法则是，除非比率低于55对45，否则就不能接受硬币是均匀的这一假设，也即，仅当硬币的正反面数差异在一个狭窄的界限之内，她才接受假设。她把试验看成类似9.11时美国进行的安全检查（”宁可错杀三千，不可错过一个“），重要的是检测出有偏的硬币。R博士的法则在接受错误的假设方面所冒的风险极小（”取伪“，第II类错误），代价是增加了把一个均匀硬币判成有偏的风险。可以说，R博士对拒绝假设有偏爱，当假设碰巧不真时，她很少犯接受它的错误；但当假设碰巧为真时，她常犯拒绝它的错误。 2-1、决策与风险（用均匀的硬币做试验，第I类错误） 一次试验，不足以判断两位博士谁的法则是正确的。现在，用一个均匀的硬币（我们知道，两位博士不知道，这里的原假设是硬币是均匀的），把上面提到的投硬币试验，重复100次（每个试验由100次投掷构成），那么，记录下的正面数X，将构成一个二项分布，X~B(n,p)，其中，n=100，p=0.5。根据某个中心极限定理，正态分布是二项分布的极限分布，上面的二项分布可以由均值为np=50，方差为np(1-p)=25的正态分布来近似。又因为二项分布只取整数值，在近似它的正态曲线下会出现很多空隙，为了校正这种情况，可以把整数的两头各扩大0.5个单位，以这个区间表示正态曲线下的那个数。 对R博士来说，仅当掷出的正面数多于45，少于55时，她才接受假设。在正态曲线下，这两个端点可以写成45.5和54.5。 &#8212;&#8212;&#124;-/////-&#124;&#8212;&#8212;&#8212;      45.5    54.5 标准化，（45.5-50）/5=-0.9,(54.5-50)/5=0.9，根据标准正态表，可知45.5-54.5这个接受区域包括了总面积的63%。也即，投掷均匀硬币所产生的样本中，有63%的样本，其正面数落在接受区域，相应地，其正面数落在R博士提出的否定域的概率为37%。也就是说，当硬币是均匀的时，R博士犯第I类错误的概率为37%。对A博士来说，他的接受区域在10-90之间，他几乎不会犯第I类错误。 2-2、决策与风险（用有偏的硬币做试验，第II类错误，功效） 现在取一个有偏的硬币（我们知道，两位博士不知道，这里的原假设还是硬币是均匀的），即投出正面的概率不等于二分之一（注意，说硬币是有偏的，并不必对p的值作出指定，因为硬币有偏可以有无限多种方式）。为了评价两位博士的法则在拒绝假设方面有多大的成功，我们需要对硬币指定一个偏度，比如是掷出正面的概率是0.6，做上面同样的100次试验（每次试验有100次投掷），近似成一个正态分布，均值np=60，方差是np(1-p)=24。 [...]]]></description>
			<content:encoded><![CDATA[<p><em>/*</em><a href="http://cos.name/2008/12/decision-risk/" target="_blank"><em>本文发布在cos.name（统计之都）</em></a><em>。*/</em> </p>
<p>*************本书给你数理统计的直观****************************  </p>
<p>资料来自美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986）  </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!375.entry">《白话统计（1）：平均数、中位数、众数》</a><br />
<h6><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!377.entry" target="_blank">《白话统计（2）：中心极限定理》</a></h6>
</p>
<p>************************************************************************* </p>
<p>/*读书笔记，白话统计系列，力图用普通话讲述统计学的基本概念。这里的题目是“决策与风险”，讲的就是两类错误（type I and type II errors）。以下改编至维恩堡《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986），英文名叫<em></em><a href="http://books.google.com/books?id=x95dAAAAIAAJ&amp;q=Statistics:+An+Intuitive+Approach&amp;dq=Statistics:+An+Intuitive+Approach&amp;ei=6Ug2SenRGIyYyASdoLDxAg&amp;pgis=1" target="_blank">Statistics: An Intuitive Approach By George H. Weinberg and John Abraham Schumaker</a>。这书几近绝迹，当回文抄公，以期重见天日。*/</p>
<p><strong>1、假设与决策：场景</strong></p>
<blockquote><p>原假设：硬币是均匀的。   备择假设：硬币是有偏的。</p>
</blockquote>
<p>/*当我们难以拒绝原假设时，只能得到结论：原假设也许是真的，现在不能拒绝它。而当我们能够拒绝它时，结论是：它肯定不真。以下的口语表述不如这里明确（和拗口）的，以这里的表述为准。*/</p>
<p>试验：在平坦的地方，独立地投掷硬币100次，每次投掷的结果都做记录。最后，正反面出现的次数分别是：</p>
<blockquote><p>正面：55  反面：45</p>
</blockquote>
<p>提问：根据你所看到的结果，判断一下，你接受还是拒绝”硬币是均匀的“这一假设？</p>
<p>-R博士回答：“拒绝这个假设，因为所得到的正面数超过了反面数的允许界限，这表明硬币是有偏的。”<br />-A博士回答：“接受硬币是均匀的这一假设。我们不能非难硬币掷出55个正面，45个反面，一个均匀的硬币也能掷出这个比率。”<br />-R博士：“那什么样的结果才能使你拒绝那假设呢？我的意思是，正面数和反面数应该有多大的差异，才能使你认为硬币是有偏的？“<br />-A博士：“至少90个正面对10个反面，或者90个反面对10个正面。如果我们的决策是拒绝一个掷出55对45这个比率，或者更高一些比率的硬币，那么这个决策将使我们把许多由于偶然掷出上述比率的均匀硬币都宣判为有偏的。你的看法使得非难一个均匀的硬币太容易了。”<br />-R博士：“太过分了!至少要掷出90对10的比率你才说硬币是有偏的。你过度的轻信，将几乎不可能拒绝关于硬币是均匀的假设。诚然，你很少拒绝一个均匀的硬币，但对一个有偏的硬币，你也很难拒绝。”</p>
<p>上面的对话应该让大伙体会到了一些假设检验的意思。可以总结一下，对照下面的表格，思路会清晰一些：</p>
<blockquote><table cellspacing="0" cellpadding="2" width="400" border="0">
<tbody>
<tr>
<td valign="top" width="133">判定 \         假设</td>
<td valign="top" width="133">真</td>
<td valign="top" width="133">假</td>
</tr>
<tr>
<td valign="top" width="133">拒绝</td>
<td valign="top" width="133">第I类错误α  </td>
<td valign="top" width="133">没有错误1-β</td>
</tr>
<tr>
<td valign="top" width="133">接受</td>
<td valign="top" width="133">没有错误</td>
<td valign="top" width="133">第II类错误β</td>
</tr>
</tbody>
</table>
</blockquote>
<p>A博士（Accept，接受）的法则是，除非试验得到的比率超过90比10，否则就接受硬币是均匀的这一假设。A博士厌恶犯否定均匀硬币的错误（”弃真“，第I类错误），他的法则使得犯这种错误的概率最小。由于均匀的硬币几乎不会出现超过90比10的比率，他很少冒把一个均匀的硬币说成有偏的风险。然而，他付出的代价是，大大降低了试验的检测能力（power，见下），他的法则使得拒绝假设是极端困难的。大量有偏的硬币也不会出现如90对10这样大的差异，因此它们也会被当成均匀的硬币而没有被检测出来。可以说，A博士对接受假设有偏爱，当假设为真时，他很少犯拒绝它的错误；但当假设不真时，他会常犯接受它的错误。</p>
<p>R博士（Reject，拒绝）的法则是，除非比率低于55对45，否则就不能接受硬币是均匀的这一假设，也即，仅当硬币的正反面数差异在一个狭窄的界限之内，她才接受假设。她把试验看成类似9.11时美国进行的安全检查（”宁可错杀三千，不可错过一个“），重要的是检测出有偏的硬币。R博士的法则在接受错误的假设方面所冒的风险极小（”取伪“，第II类错误），代价是增加了把一个均匀硬币判成有偏的风险。可以说，R博士对拒绝假设有偏爱，当假设碰巧不真时，她很少犯接受它的错误；但当假设碰巧为真时，她常犯拒绝它的错误。</p>
<p><strong>2-1、决策与风险（用均匀的硬币做试验，第I类错误）</strong></p>
<p>一次试验，不足以判断两位博士谁的法则是正确的。现在，用一个均匀的硬币（我们知道，两位博士不知道，这里的原假设是硬币是均匀的），把上面提到的投硬币试验，重复100次（每个试验由100次投掷构成），那么，记录下的正面数X，将构成一个二项分布，X~B(n,p)，其中，n=100，p=0.5。根据某个中心极限定理，正态分布是二项分布的极限分布，上面的二项分布可以由均值为np=50，方差为np(1-p)=25的正态分布来近似。又因为二项分布只取整数值，在近似它的正态曲线下会出现很多空隙，为了校正这种情况，可以把整数的两头各扩大0.5个单位，以这个区间表示正态曲线下的那个数。</p>
<p>对R博士来说，仅当掷出的正面数多于45，少于55时，她才接受假设。在正态曲线下，这两个端点可以写成45.5和54.5。</p>
<blockquote><p>&#8212;&#8212;|-/////-|&#8212;&#8212;&#8212;<br />      45.5    54.5</p>
</blockquote>
<p>标准化，（45.5-50）/5=-0.9,(54.5-50)/5=0.9，根据标准正态表，可知45.5-54.5这个接受区域包括了总面积的63%。也即，投掷均匀硬币所产生的样本中，有63%的样本，其正面数落在接受区域，相应地，其正面数落在R博士提出的否定域的概率为37%。也就是说，当硬币是均匀的时，R博士犯第I类错误的概率为37%。对A博士来说，他的接受区域在10-90之间，他几乎不会犯第I类错误。</p>
<p><strong>2-2、决策与风险（用有偏的硬币做试验，第II类错误，功效）</strong></p>
<p>现在取一个有偏的硬币（我们知道，两位博士不知道，这里的原假设还是硬币是均匀的），即投出正面的概率不等于二分之一（注意，说硬币是有偏的，并不必对p的值作出指定，因为硬币有偏可以有无限多种方式）。为了评价两位博士的法则在拒绝假设方面有多大的成功，我们需要对硬币指定一个偏度，比如是掷出正面的概率是0.6，做上面同样的100次试验（每次试验有100次投掷），近似成一个正态分布，均值np=60，方差是np(1-p)=24。</p>
<p>对A博士来说，他的判定法则是，只要得到的正面数在10到90之间就接受假设。显然，即使一个有偏的硬币所得到的正面数，也位于A博士的接受区域里。即，当硬币出现正面的概率为0.6时，A博士还是经常</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/12/03/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%883%ef%bc%89%ef%bc%9a%e5%86%b3%e7%ad%96%e4%b8%8e%e9%a3%8e%e9%99%a9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>实用SAS编程技巧25招（译注版）</title>
		<link>http://www.jiangtanghu.com/cn/2008/11/27/%e5%ae%9e%e7%94%a8sas%e7%bc%96%e7%a8%8b%e6%8a%80%e5%b7%a725%e6%8b%9b%ef%bc%88%e8%af%91%e6%b3%a8%e7%89%88%ef%bc%89/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/11/27/%e5%ae%9e%e7%94%a8sas%e7%bc%96%e7%a8%8b%e6%8a%80%e5%b7%a725%e6%8b%9b%ef%bc%88%e8%af%91%e6%b3%a8%e7%89%88%ef%bc%89/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9985</guid>
		<description><![CDATA[  这一期的SAS Publishing News(2008-11)有一则SAS资深玩家Kirk Lafler提供的25 Best Practice Coding Techniques for SAS Users。文章和作者简介见这里。看着好玩，一一做些译注，对其中关于SAS软件质量管理和视图方面的建议，注释就详细些：   1. After running a SAS program, immediately review the SAS log for notes, warnings, and error messages. Avoid turning off SAS System options that turn off SAS log notes, messages, and warnings.  运行完SAS代码，立即查看日志文件。  2. Turn on the SOURCE2 SAS System option to display included source code on [...]]]></description>
			<content:encoded><![CDATA[<div><font face="Arial"> <br /> 这一期的SAS Publishing<br />
News(2008-11)有一则SAS资深玩家Kirk Lafler提供的25 Best Practice Coding Techniques for SAS<br />
Users。<a href="http://support.sas.com/community/authors/authorline/2008/8_08/8_08c.html">文章和作者简介见这里</a>。看着好玩，一一做些译注，对其中关于SAS软件质量管理和视图方面的建议，注释就详细些： <br /> <br /> <strong>1.<br />
After running a SAS program, immediately review the SAS log for notes, warnings,<br />
and error messages. Avoid turning off SAS System options that turn off SAS log<br />
notes, messages, and<br />
warnings.</strong><br /> <br /> 运行完SAS代码，立即查看日志文件。<br /> <br /><strong> 2.<br />
Turn on the SOURCE2 SAS System option to display included source code on the<br />
log. Best practice coding techniques should mandate inclusion and display of any<br />
and all information that is available during a SAS<br />
session.<br /></strong> <br /> 打开SOURCE2的SAS系统选项。这里有个讲究，一般提交SAS代码有两种方式，一是在SAS的编辑器里编写或者打开，然后执行，源代码在不在日志文件出现由系统选项SOURCE决定，SOURCE的默认值是1，二就是用如%include<br />
&quot;test.sas&quot;语句提交，这时源代码test.sas是否在日志里出现由系统选项SOURCE2决定，它的默认值是0。打开SOURCE2的SAS系统选项的方法是，打开Tools-Options-System，在Options-log<br />
and procedure output control-SAS<br />
log下，找到SOURCE2，把它的Value改成1。<br /> <br /> <strong>3. Considering procedures<br />
like PROC SQL and PROC REPORT for code simplification. Because multiple<br />
processes can be frequently accomplished in a single procedure step, I/O may be<br />
reduced.</strong><br /> <br /> 为了简化代码，考虑使用proc sql或者proc<br />
report。作者是一个SAS畅销书PROC SQL: Beyond the Basics Using SAS的作者。SAS是一个庞大的工具箱，有<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!760.entry">多种编程方式</a>。选择应该是基于实用主义原则的，哪个好用用哪个。<br /> <br /><strong> 4.<br />
When a DATA step or PROC can do the same job, consider using procedures whenever<br />
possible. Procedures are tried-and-proven throughout the world&#8217;s SAS<br />
installations, testing requirements is considerably less.</strong><br /> <br />
<br /> <br />
如果data步和proc步能完成同一个任务，尽量用proc步。SAS内置的proc步是经过研发人员多次测试通过的，一般会比我们写的强健一些。<br /> <br />
<br /><strong> 5. Create user-defined format libraries to store formatted<br />
values in one place. User-defined format libraries have the added advantage of<br />
making programs easier to maintain since formatted data values are not hard<br />
coded.<br /></strong> <br />在同一个地方建库，存放所有自定义的格式化数据。<br /> <br /><strong> 6.<br />
Include RUN statements at the end of each DATA or PROC step (to separate step<br />
boundaries) to print benchmark statistics on the SAS log immediately following<br />
each<br />
step.</strong><br /> <br /> 在每一个data步和proc步之后加上run语句。<br /> <br /><strong>7.<br />
Document programs and routines with comments. In addition to the value<br />
associated with explaining program logic, comments should provide important<br />
information about complex code and logic conditions in a program. This helps to<br />
document important program processes as well as minimizes the learning curve<br />
associated with program maintenance and enhancement for other<br />
users.<br /></strong> <br /> 养成代码加注释的习惯，尤其是在代码算法方面。<br /> <br /><strong> 8.<br />
Assign descriptive and meaningful variable names. Besides improving the<br />
readability of program code, it serves an important element in the form of<br />
documentation.</strong><br /> <br /> 养成良好的变量命名习惯。选用一目了然的名字，而不是如var1、var2。<br /> <br /><strong> 9.<br />
Construct program header information to serve as program documentation for all<br />
programs. The following example illustrates the type of information that can be<br />
added so others have a useful documented<br />
history.<br /></strong> <br />软件项目管理，好像只跟C++、Java有关，其实，在一个大的SAS开发或应用系统里，项目管理的实施同样重要。这里说的是代码归档的事(documentation)。前面第7条说的代码加注属于documentation的尝试之一，program<br />
header（文件注释头）是每份源代码的开头，写的对其他程序员或客户看的指导性的注释，我们常见的花盒子注释就是。一个叫A Programming<br />
Development Environment for SAS Programs的文档，可以<a href="http://www.lexjansen.com/pharmasug/2003/applicationsdevelopment/ad011.pdf">参考这里</a>。<br /> <br /><strong>10.<br />
Simplify complex code and operations into smaller, more manageable parts. By<br />
splitting complex code into two or more programming statements, a program<br />
becomes easier to read as well as more maintainable.</strong></font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">把复杂的代码分解成易于管理的小块(blocks)。</font></div>
<div> </div>
<div><font face="Arial"><strong>11. Specify SAS data set names when invoking<br />
procedures to help improve documentation efforts as well as preventing an<br />
incorrect data set from being processed.</strong></font></div>
<div> </div>
<div><font face="Arial">在调用proc步时，指定要引用的数据，用proc print data=a；而不是proc<br />
print;。</font></div>
<div> </div>
<div><font face="Arial"><strong>12. Utilize macros for redundant code and enable<br />
autocall processing by specifying the MAUTOSOURCE system<br />
option.</strong></font></div>
<div> </div>
<div><font face="Arial">用宏(macro)来管理你的代码。打开MAUTOSOURCE系统选项以便自动调用宏（这是默认的）。</font></div>
<div> </div>
<div><font face="Arial"><strong>13. Create macro libraries to store common macro<br />
routines in one place.</strong></font></div>
<div> </div>
<div><font face="Arial">在同一个地方建库，存放所有类似的宏文件。</font></div>
<div> </div>
<div><font face="Arial"><strong>14. Create permanent libraries containing<br />
information from daily, weekly, monthly, quarterly, and annual runs. The type of<br />
libraries consists of scripts, SAS programs, SAS logs, output lists, and<br />
documentation of instructions for others to follow.</strong></font></div>
<div> </div>
<div><font face="Arial">为每天、每周、每月、每季度和每年都要运行的例行代码，分别建立永久性的库，存放相关的信息。</font></div>
<div> </div>
<div><font face="Arial"><strong>15. Create views based on user input to simplify<br />
and streamline redundant, complex and/or burdensome tasks. Consider creating<br />
views in a central view library to support maintenance and documentation<br />
requirements.</strong></font></div>
<div> </div>
<div><font face="Arial">视图是数据库里的概念。简单地说，比如，你用十行SQL代码完成了一次查询，这个查询结果是你老板（客户）感兴趣的。以后你老板想要看这个查询结果，你可以让他每次都写或运行这个十行代码，或者，你把这次查询的结果做成一个虚拟的表——说是虚拟的，因为数据库里并不真正存在这张表，存在的只是这十行SQL脚本；说是表，是因为运行这个脚本时表就会动态生成。这个虚拟的表，就叫做视图。现在你把中堆东西做成了一个视图，你老板想要这个结果，只需要写一句“视图，阿里巴巴”。视图有很多好处，这里是可以简化老板对数据的理解，同时简化他们的操作。</font></div>
<div> </div>
<div><font face="Arial"><strong>16. Code for unknown data values. This will<br />
prevent unassigned or null data values from falling through logic<br />
conditions.</strong></font></div>
<div> </div>
<div><font face="Arial">对未知的数据值，用编码表示，如99999999之类。如果是空值，可能会引起一些预料不到的逻辑错误。</font></div>
<div> </div>
<div><font face="Arial"><strong>17. Store informats, formats, and labels with the<br />
SAS data sets that use them. Informats, formats, and labels should be stored<br />
with important SAS data sets to minimize processing time. An important reason<br />
for using this technique is that many popular procedures use stored formats and<br />
labels as they produce output, eliminating the need to assign them in each<br />
individual step. This provides added incentives and value for programmers and<br />
users, especially since reporting requirements are usually time<br />
critical.</strong></font></div>
<div> </div>
<div><font face="Arial">把数据的描述性部分(descriptor portion)如informats, formats, and<br />
labels跟数据存储在一起。</font></div>
<div> </div>
<div><font face="Arial"><strong>18. Construct conditions that would render data<br />
unusable and abort (or end) the program. This prevents unwanted or harmful data<br />
from being processed or written to a data set.</strong></font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">写一段条件语句，使得数据不能够被随意改写。<em>（这段我还要好好琢磨一下）</em></font></div>
<div> </div>
<div><font face="Arial"><strong>19. Test program code using &quot;complete&quot; test data<br />
particularly if the data set is small or represents a random sample of a large<br />
data set.</strong></font></div>
<div> </div>
<div><font face="Arial">测试代码时，使用所有的测试数据，特别是这些测试数据本身很小，或者它们就是总体数据的一个很好的样本。</font></div>
<div> </div>
<div><font face="Arial"><strong>20. Set OBS=0 to test syntax and compile time<br />
errors without the risk of executing any observations through a DATA or PROC<br />
step.</strong></font></div>
<div> </div>
<div><font face="Arial">测试代码的语法错误时，使用obs=0这个选项。</font></div>
<div> </div>
<div><font face="Arial"><strong>21. Use the PROC SQL VALIDATE clause to test<br />
syntax and compile time errors in PROC SQL code.</strong></font></div>
<div> </div>
<div><font face="Arial">PROC SQL时，用VALIDATE这个选项来指示语法错误。</font></div>
<div> </div>
<div><font face="Arial"><strong>22. Specify the NOREPLACE system option to prevent<br />
permanent SAS data sets from accidentally being overwritten while writing or<br />
testing a program.</strong></font></div>
<div> </div>
<div><font face="Arial">为了防止永久逻辑库里的数据文件被改写或者覆盖，使用NOREPLACE这个系统选项。具体做法是把系统选项REPLACE的值改为0。做练习时这个选项要慎用。</font></div>
<div> </div>
<div><font face="Arial"><strong>23. Take advantage of procedures that summarize<br />
large amounts of data by saving and using the results in order to avoid reading<br />
a large data set again.</strong></font></div>
<div> </div>
<div><font face="Arial">为了避免重复读入大型的数据，利用一些proc步，它们可以通过保存一些处理过的结果来概况数据。</font></div>
<div> </div>
<div><font face="Arial"><strong>24. Add options that are frequently used into the<br />
SAS configuration file. This eliminates the time and keystrokes necessary to<br />
enter them during a SAS session.</strong></font></div>
<div> </div>
<div><font face="Arial">在SAS的配置文件里添加一些你常用的选项。SAS的配置文件就是sas root下的那个SASV9.CFG，以SAS<br />
9为例。<a href="http://www.otago.ac.nz/sas/win/z0104286.htm">这里</a>你可以找到更多相关的信息。</font></div>
<div> </div>
<div><font face="Arial"><strong>25. Add statements that are frequently used into<br />
the SAS autoexec file. This eliminates the time and keystrokes necessary to<br />
enter them during a SAS session.</strong></font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">在SAS的自动运行文件AUTOEXEC.SAS里加入一些个性化的语句。不熟就不要尝试了。</font></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/11/27/%e5%ae%9e%e7%94%a8sas%e7%bc%96%e7%a8%8b%e6%8a%80%e5%b7%a725%e6%8b%9b%ef%bc%88%e8%af%91%e6%b3%a8%e7%89%88%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>次贷冲击下的统计学反思</title>
		<link>http://www.jiangtanghu.com/cn/2008/11/27/%e6%ac%a1%e8%b4%b7%e5%86%b2%e5%87%bb%e4%b8%8b%e7%9a%84%e7%bb%9f%e8%ae%a1%e5%ad%a6%e5%8f%8d%e6%80%9d/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/11/27/%e6%ac%a1%e8%b4%b7%e5%86%b2%e5%87%bb%e4%b8%8b%e7%9a%84%e7%bb%9f%e8%ae%a1%e5%ad%a6%e5%8f%8d%e6%80%9d/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9984</guid>
		<description><![CDATA[  /*这篇小东西先发布在益辉主持的cos.name（统计之都）上，转回来做个备份。以后有跟统计相关的文章，都先发布到cos.name，然后转回这个博客。上次我那篇《如何学习统计学，或我的学习之路——初学者写给初学者》，也发布在cos。*/   有点标题党的意思了，确切地说，本文只是一个小小的通讯稿。前两天（11月25-26）我参加一个“中国银行风险管理国际峰会2008”，其中SunGard公司的David M.Rowe博士的主题演讲Lessons from the Subprime Mortgage Crisis（次级按揭危机经验教训），第一条就是Limits of Statistical Analysis(统计分析的局限性)。Rowe先生是SunGard公司风险管理部门的高级副总裁，宾大计量经济学与金融学博士，沃顿商学院MBA，以及卡内基梅隆大学的经济学学士。   这次次贷危机，对外部评级机构如Moodys来说是一个丑闻，它们利用各种复杂的统计模型为各种证券评级。Rowe举一个例子，AAA级的债券，定义的年违约风险是0.01%，也就是说，其违约概率是每一万年发生一次，而最优良的次级房贷抵押债券，在外部评级机构的评分中，享有AAA甚至更高的评级。Rowe就问：在这样的评级中，实证研究何在？   Rowe的总结是：   Statistical analysis can extract information from daa, it cannot create information not already contained in the data. Like water, information cannot rise higher than its soucre.   统计分析只能从数据中提取信息，而不能创造数据本身。正如联通器中的水，不能超越水源的高度。   最后，Rowe提到Nassim Nicholas Taleb的黑天鹅理论(Black Swan Theory),最近似乎很流行。一般认为天鹅是白的，但一旦发现天鹅也有黑的（的确是发现了），就会对人们的视野产生极大的冲击。黑天鹅理论就是讨论这些极少发生的、难以预测的，一旦发生，就会造成很大影响的事件。不知道统计系在读这本书没有。]]></description>
			<content:encoded><![CDATA[<div><font face="Arial"></font> </div>
<div><font face="Arial">/*这篇小东西<a href="http://cos.name/2008/11/subprimestat/">先发布在益辉主持的cos.name</a>（统计之都）上，转回来做个备份。以后有跟统计相关的文章，都先发布到cos.name，然后转回这个博客。上次我那篇《<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!900.entry">如何学习统计学，或我的学习之路——初学者写给初学者</a>》，<a href="http://cos.name/2008/11/how-to-learn-statistics-by-jthu/">也发布在cos</a>。*/</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">有点标题党的意思了，确切地说，本文只是一个小小的通讯稿。前两天（11月25-26）我参加一个“<a href="http://www.bankingrisksummit.com/indexcn.html">中国银行风险管理国际峰会2008</a>”，其中SunGard公司的David<br />
M.Rowe博士的主题演讲Lessons from the Subprime Mortgage Crisis（次级按揭危机经验教训），第一条就是Limits<br />
of Statistical<br />
Analysis(统计分析的局限性)。Rowe先生是SunGard公司风险管理部门的高级副总裁，宾大计量经济学与金融学博士，沃顿商学院MBA，以及卡内基梅隆大学的经济学学士。</font></div>
<div> </div>
<div><font face="Arial">这次次贷危机，对外部评级机构如Moodys来说是一个丑闻，它们利用各种复杂的统计模型为各种证券评级。Rowe举一个例子，AAA级的债券，定义的年违约风险是0.01%，也就是说，其违约概率是每一万年发生一次，而最优良的次级房贷抵押债券，在外部评级机构的评分中，享有AAA甚至更高的评级。Rowe就问：在这样的评级中，实证研究何在？</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">Rowe的总结是：</font></div>
<div> </div>
<blockquote dir="ltr" style="margin-right:0px">
<div><font face="Arial">Statistical analysis can extract information from daa,<br />
  it cannot create information not already contained in the data. Like water,<br />
  information cannot rise higher than its soucre.</font></div>
<div> </div>
<div><font face="Arial">统计分析只能从数据中提取信息，而不能创造数据本身。正如联通器中的水，不能超越水源的高度。</font></div>
</blockquote>
<div> </div>
<div><font face="Arial">最后，Rowe提到Nassim Nicholas Taleb的黑天鹅理论(Black Swan<br />
Theory),最近似乎很流行。一般认为天鹅是白的，但一旦发现天鹅也有黑的（的确是发现了），就会对人们的视野产生极大的冲击。黑天鹅理论就是讨论这些极少发生的、难以预测的，一旦发生，就会造成很大影响的事件。不知道统计系在读这本书没有。</font></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/11/27/%e6%ac%a1%e8%b4%b7%e5%86%b2%e5%87%bb%e4%b8%8b%e7%9a%84%e7%bb%9f%e8%ae%a1%e5%ad%a6%e5%8f%8d%e6%80%9d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>如何学习统计学，或我的学习之路——初学者写给初学者</title>
		<link>http://www.jiangtanghu.com/cn/2008/11/20/%e5%a6%82%e4%bd%95%e5%ad%a6%e4%b9%a0%e7%bb%9f%e8%ae%a1%e5%ad%a6%ef%bc%8c%e6%88%96%e6%88%91%e7%9a%84%e5%ad%a6%e4%b9%a0%e4%b9%8b%e8%b7%af%e2%80%94%e2%80%94%e5%88%9d%e5%ad%a6%e8%80%85%e5%86%99%e7%bb%99/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/11/20/%e5%a6%82%e4%bd%95%e5%ad%a6%e4%b9%a0%e7%bb%9f%e8%ae%a1%e5%ad%a6%ef%bc%8c%e6%88%96%e6%88%91%e7%9a%84%e5%ad%a6%e4%b9%a0%e4%b9%8b%e8%b7%af%e2%80%94%e2%80%94%e5%88%9d%e5%ad%a6%e8%80%85%e5%86%99%e7%bb%99/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9983</guid>
		<description><![CDATA[   可能学习和工作还有兴趣都跟统计沾些边，一些朋友和网友也问我些如何学习统计之类的问题，他们当然一样是非统计出身。结合自己的学习经历，这里一并回答了，也权当一个成长备忘录，所以这里取一个柏拉图“《智者篇》，或论正名，逻辑”式的标题。（这篇文字的pdf版见http://sites.google.com/site/sharedbyhu/，欢迎大伙拍砖）   先说说自己在统计方面的学习经历，相信很多非统计出身的朋友会有共鸣。我本科在北京工商大学念经济学，先后修过三门相关的课：   1. 统计学。其实应该叫做经济统计基础（很老套的学科了），因为除了描述性统计跟统计推断外，这课还包括大量关于经济指数编制等内容。当时我是凭着一只科学计算器完成所有的作业包括考试的，想想是很土。   2. 计量经济学。这是经济系学生的主干课，我们天天跟着老师演算公式。这个比较恐怖，至少截止到期末考试的当天，我还记得二元线性回归的所有推导以及最终恐龙般的公式。这门课用的是授课老师编的教材，不值得推荐。当时为了记住一元跟二元回归的公式，我找到一本好像没多少人提到的书，一个叫白砂堤津耶的日本人写的《通过例题学习计量经济学》（人大出版社，2003）。这本书就是要让人手算各种计量模型，符号系统非常简洁，让要背公式考试的我省心不少。需要提一句的是，这本小书居然还提供了邹氏检验(Chow Test)的手算示例。   我的第一门计量经济学课程就是这么落伍。现在想想，千般不好也有一个好处，就是让我手推跟手算过基本的线性回归模型，这些东西对我而言不再是黑箱。这门课的最后，老师介绍了一下计量经济学小软件TSP的用法，当时没跟着学下来。据师弟师妹反映，该老师的一位研究生教会老师使用Eviews，以后我们的计量老师就在课堂推广Eviews了，福音啊。   3. SPSS与统计分析。这是一门选修课。之前为了培养对统计的兴趣，自学过些用Excel分析数据，选修这门SPSS是想让自己的工具箱更为强大。这课学得比较积极，跟老师的关系也挺好。   当时学习SPSS还有一个动力。2003年秋季学期我去北京大学经济研究中心（CCER）旁听计量经济学。比较幸运，教员是美国刘易斯-科拉克州立大学的计量经济学教授黄少敏。他刚好在北大访问，经济系七七级出来的。黄老师在课堂上推荐SPSS，并根据这次授课编了一本小书，叫《计量经济学入门》（北大出版社，2004）。那阵子还买了张文彤的两本SPSS书，大红版的《SPSS 11.0统计分析教程》（基础篇和高级篇，北京希望电子出版社，2002）。张当时是上海一个大学做医学统计的教授，在SPSS学习社区里很有名，现在好久没关注了。   本科时就大致如此了。还跟机械系的同学修过一门Matlab与系统仿真，仿真我不懂，就是图跟着学习一下Matlab，不过玩得不是很熟。SPSS很好上手，让我对数据有了不少信心。要捏着计算器面对一大堆数据，人都要疯的那种。   研究生期间我在北大念软件工程，金融信息工程方向，一样要跟数据打交道的专业。先是一门信用评分模型的课，让我自学起SAS。包括接下来一些数据挖掘应用的课程，我开始用SAS完成所有类似的数据分析工作。一般我们提到学SAS用SAS，说的大多是Base SAS或者再加上SAS/STAT，都是编程方式。现我在一家做数据挖掘与商务智能软件的公司实习，接触并学习了SAS产品的其他可视化模块，如Enterprise Guider、Enterprise Miner、JMP等等。这段时间，统计学的学习，包括多元分析时间序列等，都是通过去数学系旁听和自学。期间也尝试玩过R、S-Plus、Minitab之类，都是图个体验，没有认真学的意思。   回顾我的统计学习之旅，一个明显的特征就是统计软件一路同行。我的感受是，对于一个非统计出身的统计爱好者，不借助统计软件，几乎无法领略统计之妙——你没法通过推导公式研究算法而得到乐趣。跟各种软件打了这么多交道，另一个感触就是，过分依赖工具而忽略统计直觉可能是更为危险的事。这两条平行的观点，就构成了我对以下问题的建议：一个非统计出身的人，如何学习统计？   无论你从什么背景转到应用统计，通常的建议是找一本有趣的入门书，这个我觉得大多数国内引进的国外基础教材都不错，取一本而且只取一本学了就是。人大出版社引进的几本厚厚的统计学教材，给商学院学生准备的，突出的是应用，都是非常好的入门读物。商学院出来的学生，有一个好处，即使他们真的不懂数理统计，也不妨碍他们娴熟地运用统计模型向客户兜售观点，赢得单子。因该说，这是应用统计学教育的成功，尽管在统计学的（有意）误用方面，他们常受指摘。这里我熟一点的是安德森的《商务与经济统计》和林德的《商务与经济统计技术》，也有影印版，都多次重印的经典教材。这方面我走了不少弯路。本科时拿一本学校老师编的书上课，为了考试，还看得特别仔细，每道习题都做。想在想想，当时要是用这等精神攻读安德森或者林德的书，境界就不一样啦。现在也翻他们的书，做参考用，却不是以前苦读的劲头。这处女“读”，要献给谁，真是很重要。这跟读书一样，我没有师出名门，本科在北工商念，不敢说自己比北大本科的差，只想说，如果本科在北大念，我会表现更好。同样，如果你用院编教材，要达到安德森或林德的水平，你要付出更多的努力。幸运的是，在统计学习方面，你可以一开始就把自己的努力建立在一个较高的水平上：读安德森或林德。   去年年底，我翻出一本书来补自己的统计直觉，这部不推荐，是因为这书不好找了，只是个人喜欢，书也薄些，美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986）。这本书的扉页，有位前读者题辞（在图书馆的书乱涂乱画啊）：“本书给你统计学的直觉。”这书我续借超期再借在续借，已近一年，感受是，这书在培养直觉直观方面，真是下足了功夫。美中不足的是，这个译本没有提到这本书的原名就叫做Statistics: An Intuitive Approach。   前面我好几处提到“直觉”。统计直觉我没资格发言，以前念经济学，隐隐约约能感觉到economic intuition这玩意。这东西不好说，却也能表达一二。跟大部分学科一样，经济学看着也能分成两个类型（接下来我还要强调它们不是对立的），一是专业期刊里充满恐龙级数学符号那种，另外就是白话散文那种。分析现实问题（不必是经济问题）时，也就相应两种思路，一是建立数学模型，二就是拿白话解释，偶尔再加一个简单的图表。这两种方式，白话看似容易些，但也容易流于胡说八道，就要为学院人士所不齿。数学的技术活多些，容易出成果，好拿诺贝尔经济学奖。由白话而成巨星的，我们称之为思想家，更是难能可贵，如诺奖得主科斯，主创产权和交易成本理论的。北大出来去芝加哥大学念经济学的王勇讲了一个好故事：   在中心的毕业生中，我大概是属于那种数理倾向比较严重的一类，对经济学中一个个美轮美奂的经典模型痴迷地有些“顽固不化”，要是在自己的论文里突然发现能用上一条在实变函数课上学到的定理会兴奋地跳起来，套用 Ariel Rubinstein教授在2004年国际计量经济学会主席演讲的最后一句话“这真是太美了！不是么？”   然而在芝大上了两年课以后，我才慢慢地更能体会到林老师在《论经济学方法》中提到的很多观点。在上一年级第一学期的课时，我就被深深地震动了。ECON301的价格理论I课的每周作业是Becker教授和 Murphy教授各出一道长题，题目中用文字交待一些经济学问题或者社会现象的背景知识，从恐怖主义到健康问题，从国际贸易到贩毒和住房问题，从投资到经济增长，什么都有，然后接二连三地问一堆问题。每个周二傍晚出题，当周周五上午交作业。我有生以来第一次为完成作业而熬夜就是第二次作业的那个周四。怎样分析这些现象，怎样回答这些问题，完全由自己选择分析方法，而我总想把问题抽象成一个严格的数学模型来求解，取怎么样的假设显然也得完全由自己定夺。可是经常是好不容易使建好的模型能回答第一个小问题a，突然发现很难再用这个模型来回答第二个小问题b，不是求不出解析解就是出现太多不合理的多重解。只好回头修改我的模型，然后不得不再另加一些技术性假设，当然需要再配上为何作如此取舍的经济学理由。如此反反复复，最终发现窗外已经发白，而自己却只能眼巴巴地望着求解问题f时出现的那12条非线性方程和12个未知变量，心灰意冷地继续写道“假定这个系统的解是存在的并且是唯一的，那么……”。我将近25页的作业发下来，10分我只得了3.7分，助教的批语是我采用的是科布—道格拉斯函数型的效用函数，而忽略了分析non-homothetic 偏好这一重要情况。于是我“耿耿于怀”地去仔细对照那将近20页的标准答案。读完后我真的完全惊呆了：真没想到这么一个个二维平面分析图会那么厉害，所给的分析全是替代效应与收入效应的变相综合，所用的也全是诸如正常商品（normal goods）这样的通常假设，没有太“漂亮”的数学，但是在逻辑上分析的明显要比我的模型完整的多、严密的多、深入的多、也更加具有一般性。 ——王勇：《两年后再读&#60;与林老师对话&#62;有感》   白话加逻辑，不用数学而对问题有洞见，说的大概就是“直觉”吧。当然，数学公式密布的场合，直觉也有用武之地，比如，满满一黑板你证明出了一个复杂的定理，然后你拿白话说明为什么会有这个结果，The intuition behind this equation is blablabla，那直觉就相当强了。 [...]]]></description>
			<content:encoded><![CDATA[<div><font face="Arial">  <br />
<br />可能学习和工作还有兴趣都跟统计沾些边，一些朋友和网友也问我些如何学习统计之类的问题，他们当然一样是非统计出身。结合自己的学习经历，这里一并回答了，也权当一个成长备忘录，所以这里取一个柏拉图“《智者篇》，或论正名，逻辑”式的标题。<em>（这篇文字的pdf版见</em><a href="http://sites.google.com/site/sharedbyhu/"><em>http://sites.google.com/site/sharedbyhu/</em></a><em>，欢迎大伙拍砖）</em></font></div>
<div> </div>
<div><font face="Arial">先说说自己在统计方面的<strong>学习经历</strong>，相信很多非统计出身的朋友会有共鸣。我本科在北京工商大学念经济学，先后修过三门相关的课：</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial">1.<br />
统计学。其实应该叫做经济统计基础（很老套的学科了），因为除了描述性统计跟统计推断外，这课还包括大量关于经济指数编制等内容。当时我是凭着一只科学计算器完成所有的作业包括考试的，想想是很土。</font></div>
<div> </div>
<div><font face="Arial">2.<br />
计量经济学。这是经济系学生的主干课，我们天天跟着老师演算公式。这个比较恐怖，至少截止到期末考试的当天，我还记得二元线性回归的所有推导以及最终恐龙般的公式。这门课用的是授课老师编的教材，不值得推荐。当时为了记住一元跟二元回归的公式，我找到一本好像没多少人提到的书，一个叫白砂堤津耶的日本人写的《通过例题学习计量经济学》（人大出版社，2003）。这本书就是要让人手算各种计量模型，符号系统非常简洁，让要背公式考试的我省心不少。需要提一句的是，这本小书居然还提供了邹氏检验(Chow<br />
Test)的手算示例。</font></div>
<div> </div>
<div><font face="Arial">我的第一门计量经济学课程就是这么落伍。现在想想，千般不好也有一个好处，就是让我手推跟手算过基本的线性回归模型，这些东西对我而言不再是黑箱。这门课的最后，老师介绍了一下计量经济学小软件TSP的用法，当时没跟着学下来。据师弟师妹反映，该老师的一位研究生教会老师使用Eviews，以后我们的计量老师就在课堂推广Eviews了，福音啊。</font></div>
<div> </div>
<div><font face="Arial">3.<br />
SPSS与统计分析。这是一门选修课。之前为了培养对统计的兴趣，自学过些用Excel分析数据，选修这门SPSS是想让自己的工具箱更为强大。这课学得比较积极，跟老师的关系也挺好。</font></div>
<div> </div>
<div><font face="Arial">当时学习SPSS还有一个动力。2003年秋季学期我去北京大学经济研究中心（CCER）旁听计量经济学。比较幸运，教员是美国刘易斯-科拉克州立大学的计量经济学教授黄少敏。他刚好在北大访问，经济系七七级出来的。黄老师在课堂上推荐SPSS，并根据这次授课编了一本小书，叫《计量经济学入门》（北大出版社，2004）。那阵子还买了张文彤的两本SPSS书，大红版的《SPSS<br />
11.0统计分析教程》（基础篇和高级篇，北京希望电子出版社，2002）。张当时是上海一个大学做医学统计的教授，在SPSS学习社区里很有名，现在好久没关注了。</font></div>
<div> </div>
<div><font face="Arial">本科时就大致如此了。还跟机械系的同学修过一门Matlab与系统仿真，仿真我不懂，就是图跟着学习一下Matlab，不过玩得不是很熟。SPSS很好上手，让我对数据有了不少信心。要捏着计算器面对一大堆数据，人都要疯的那种。</font></div>
<div> </div>
<div><font face="Arial">研究生期间我在北大念软件工程，金融信息工程方向，一样要跟数据打交道的专业。先是一门信用评分模型的课，让我自学起SAS。包括接下来一些数据挖掘应用的课程，我开始用SAS完成所有类似的数据分析工作。一般我们提到学SAS用SAS，说的大多是Base<br />
SAS或者再加上SAS/STAT，都是编程方式。现我在一家做数据挖掘与商务智能软件的公司实习，接触并学习了SAS产品的其他可视化模块，如Enterprise<br />
Guider、Enterprise<br />
Miner、JMP等等。这段时间，统计学的学习，包括多元分析时间序列等，都是通过去数学系旁听和自学。期间也尝试玩过R、S-Plus、Minitab之类，都是图个体验，没有认真学的意思。</font></div>
<div> </div>
<div><font face="Arial">回顾我的统计学习之旅，一个明显的特征就是统计软件一路同行。我的感受是，对于一个非统计出身的统计爱好者，不借助统计软件，几乎无法领略统计之妙——你没法通过推导公式研究算法而得到乐趣。跟各种软件打了这么多交道，另一个感触就是，过分依赖工具而忽略统计直觉可能是更为危险的事。这两条平行的观点，就构成了我对以下问题的建议：一个非统计出身的人，如何学习统计？</font></div>
<div> </div>
<div><font face="Arial">无论你从什么背景转到应用统计，通常的建议是找<strong>一本有趣的入门书</strong>，这个我觉得大多数国内引进的国外基础教材都不错，取一本而且只取一本学了就是。人大出版社引进的几本厚厚的统计学教材，给商学院学生准备的，突出的是应用，都是非常好的入门读物。商学院出来的学生，有一个好处，即使他们真的不懂数理统计，也不妨碍他们娴熟地运用统计模型向客户兜售观点，赢得单子。因该说，这是应用统计学教育的成功，尽管在统计学的（有意）误用方面，他们常受指摘。这里我熟一点的是安德森的《商务与经济统计》和林德的《商务与经济统计技术》，也有影印版，都多次重印的经典教材。这方面我走了不少弯路。本科时拿一本学校老师编的书上课，为了考试，还看得特别仔细，每道习题都做。想在想想，当时要是用这等精神攻读安德森或者林德的书，境界就不一样啦。现在也翻他们的书，做参考用，却不是以前苦读的劲头。这处女“读”，要献给谁，真是很重要。这跟读书一样，我没有师出名门，本科在北工商念，不敢说自己比北大本科的差，只想说，如果本科在北大念，我会表现更好。同样，如果你用院编教材，要达到安德森或林德的水平，你要付出更多的努力。幸运的是，在统计学习方面，你可以一开始就把自己的努力建立在一个较高的水平上：读安德森或林德。</font></div>
<div> </div>
<div><font face="Arial">去年年底，我翻出一本书来补自己的统计直觉，这部不推荐，是因为这书不好找了，只是个人喜欢，书也薄些，美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986）。这本书的扉页，有位前读者题辞（在图书馆的书乱涂乱画啊）：“本书给你统计学的直觉。”这书我续借超期再借在续借，已近一年，感受是，这书在培养直觉直观方面，真是下足了功夫。美中不足的是，这个译本没有提到这本书的原名就叫做Statistics:<br />
An Intuitive Approach。</font></div>
<div> </div>
<div><font face="Arial">前面我好几处提到“<strong>直觉</strong>”。统计直觉我没资格发言，以前念经济学，隐隐约约能感觉到economic<br />
intuition这玩意。这东西不好说，却也能表达一二。跟大部分学科一样，经济学看着也能分成两个类型（接下来我还要强调它们不是对立的），一是专业期刊里充满恐龙级数学符号那种，另外就是白话散文那种。分析现实问题（不必是经济问题）时，也就相应两种思路，一是建立数学模型，二就是拿白话解释，偶尔再加一个简单的图表。这两种方式，白话看似容易些，但也容易流于胡说八道，就要为学院人士所不齿。数学的技术活多些，容易出成果，好拿诺贝尔经济学奖。由白话而成巨星的，我们称之为思想家，更是难能可贵，如诺奖得主科斯，主创产权和交易成本理论的。北大出来去芝加哥大学念经济学的王勇讲了一个好故事：</font></div>
<div> </div>
<blockquote dir="ltr" style="margin-right:0px">
<div><font face="Arial" size="2">在中心的毕业生中，我大概是属于那种数理倾向比较严重的一类，对经济学中一个个美轮美奂的经典模型痴迷地有些“顽固不化”，要是在自己的论文里突然发现能用上一条在实变函数课上学到的定理会兴奋地跳起来，套用<br />
  Ariel Rubinstein教授在2004年国际计量经济学会主席演讲的最后一句话“这真是太美了！不是么？”</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">然而在芝大上了两年课以后，我才慢慢地更能体会到林老师在《论经济学方法》中提到的很多观点。在上一年级第一学期的课时，我就被深深地震动了。ECON301的价格理论I课的每周作业是Becker教授和<br />
  Murphy教授各出一道长题，题目中用文字交待一些经济学问题或者社会现象的背景知识，从恐怖主义到健康问题，从国际贸易到贩毒和住房问题，从投资到经济增长，什么都有，然后接二连三地问一堆问题。每个周二傍晚出题，当周周五上午交作业。我有生以来第一次为完成作业而熬夜就是第二次作业的那个周四。怎样分析这些现象，怎样回答这些问题，完全由自己选择分析方法，而我总想把问题抽象成一个严格的数学模型来求解，取怎么样的假设显然也得完全由自己定夺。可是经常是好不容易使建好的模型能回答第一个小问题a，突然发现很难再用这个模型来回答第二个小问题b，不是求不出解析解就是出现太多不合理的多重解。只好回头修改我的模型，然后不得不再另加一些技术性假设，当然需要再配上为何作如此取舍的经济学理由。如此反反复复，最终发现窗外已经发白，而自己却只能眼巴巴地望着求解问题f时出现的那12条非线性方程和12个未知变量，心灰意冷地继续写道“假定这个系统的解是存在的并且是唯一的，那么……”。我将近25页的作业发下来，10分我只得了3.7分，助教的批语是我采用的是科布—道格拉斯函数型的效用函数，而忽略了分析non-homothetic<br />
  偏好这一重要情况。于是我“耿耿于怀”地去仔细对照那将近20页的标准答案。读完后我真的完全惊呆了：真没想到这么一个个二维平面分析图会那么厉害，所给的分析全是替代效应与收入效应的变相综合，所用的也全是诸如正常商品（normal<br />
  goods）这样的通常假设，没有太“漂亮”的数学，但是在逻辑上分析的明显要比我的模型完整的多、严密的多、深入的多、也更加具有一般性。 </font><font face="Arial"><font size="2">——王勇：《<a href="http://time.dufe.edu.cn/experience/2007-11-25/264.html">两年后再读&lt;与林老师对话&gt;有感</a>》</font></font></div>
</blockquote>
<div> </div>
<div><font face="Arial">白话加逻辑，不用数学而对问题有洞见，说的大概就是“直觉”吧。当然，数学公式密布的场合，直觉也有用武之地，比如，满满一黑板你证明出了一个复杂的定理，然后你拿白话说明为什么会有这个结果，The<br />
intuition behind this equation is blablabla，那直觉就相当强了。</font></div>
<div> </div>
<div><font face="Arial">经济学直觉完毕。关于统计学直觉，我是类似这样理解的。对非统计科班出身的我们来说，这种训练可能更为重要，而且更为迫切。我们对统计学抱着非常实用的态度，无暇也无力关注大多模型定理背后的推导过程，但为了解释和理解，我们需要对它们有一个通盘的印象，其中的细节不是通过数学推导而来，但是能够用白话明确地表达出来。比如中心极限定理，一个简单的形式是独立同分布的中心极限定理，大概说，如果随机变量X1，…Xn，…相互独立，服从同一分布，且具有相同的数学期望和方差，则随机变量之和ΣXi的标准化变量服从标准正态分布，这可以用数学精确地证明出来。我没有掌握这个推导，但我敢说我能理解这个定理，并且能够明确无误地传达出来，用白话，而不是刚才提到的数学语言。我读维恩堡《数理统计初级教程》，里面是这种处理的（下面的文字来自我做的<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!377.entry">读书笔记</a>，而不必是该书的摘录。很多朋友可能没法看到该书，我在博客里有记）：</font></div>
<blockquote dir="ltr" style="margin-right:0px">
<div><font face="Arial"> <font size="2">  <br />
演示性例子</font></font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">想像一个很大的箱子，装满了小纸条，可供我们无穷无尽地抽取，每张纸条上写有一个数字。为简单起见，假定只有0、1、2三个数字，且每个数字出现在每张纸条上的可能性都是1/3。记住，这个箱子里的纸条如此之多，以致我们可以抽取任一数目的任一种纸条，而不必担心会改变箱中剩下的各种纸条之间的比例。</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">箱子有一个小口，通过它，每次可以释放出一张纸条。箱子还有一个洗牌装置，这种装置会把纸条洗得这样得均匀，以至当我们决定抽取一张时，每张纸条有同样的被释放出来的机会。因此，我们的观察室独立的，而且我们的样本是随机的。</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">现在我们就来抽取等容量的随机样本，假设每个样本都包含200张纸条。</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">我们一张一张地抽取200张纸条。比如头一张纸条上的数字是2，第二张纸条的数字是0，第三张纸条是2，如此等等。假设构成这个第一份样本的200张纸条上的数字总和是210，这个和成为所产生的新的分布的第一项。</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">第二个样本的200张纸条上的数字之和比如是194.对大量的样本，每个样本都包含200张纸条，重复这个过程。中心极限定理告诉我们，这种样本和数越来越多时，样本和的分布近似于正态分布。</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">    如何实际运用中心极限定理</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">关于中心极限定理，对被抽取样本的那个总体没有要求任何限制。不管被抽取样本的那个总体，其分布的形状如何，样本和的分布都是正态的。</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial" size="2">中心极限定理说明，为什么正态分布出现在如此多的不同的问题之中。我们用于纸条取样的那种方法，看来是实际中特别喜欢使用的一种方法。在每次情况中出现的、构成一个正态分布的那些数，都可以看作独立观察资料的等容量样本的和。</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial" size="2">例子1。考察射击时围绕靶子构成正态分布的子弹。每一颗子弹击中的位置实际上是许多随机影响的和，比如姿势、风向、光线、心理等等。这些因素和诸如此类因素的影响，同时在一位特定射手的身上起作用；且对于不同的射手，它们是不同的。一个射手的得分，表明他的子弹最终射到何处去了，这个得分是那些随机影响的样本之和。具体地，比如每一个射手的分布式70项主要影响之和，因而每一发子弹的得分，都可以看作是70项的一个样本和（与70张纸条上的那些数字的和相对应）。这样一来，不同射手的得分，就可以看作是不同的等容量样本的和。根据定理1，子弹得分的分布式正态的。</font></div>
<div><font size="2"></font> </div>
<div><font face="Arial"><font size="2">例子2。考察每个人的智力水平，也可以当作出自不同根源的小影响的和来看待，包括营养、机会、性格、遗传等等。这么看来，大量的人的智力水平的分布式正态的。</font><br />
</font></div>
</blockquote>
<div> </div>
<div><font face="Arial">这就是我喜欢的Intuitive<br />
Approach。这本书行走可读，坐卧可读，借助些简单的符号，适度的图表，统计学的基本模型都可以这样清晰地用白话表达出来。我下功夫学习并鼓吹用白话描述统计学，是去年跟Teradata的一位朋友聊天，他提到向客户陈述数据分析结果时，一定要用大白话明确地说出来。当时我尝试了一下，发现自己对统计学的基本概念，都还停留在数学描述的阶段。惭愧惭愧，那时的还自以为自己颇有些统计的基础呢，从此下决心苦练基本功，目标是对所有基本的统计概念、模型，都要达到能够清楚地向一个高年级高中生描述的程度。从应用的角度来说，这种训练是必须的。一个统计学家，不能指望他的听众都一样统计出身，同样，对大多数需要应用统计工具的非统计学家来说，也不能假设他的客户一样是统计爱好者，专业词汇只在一个很窄的圈子里通用。</font></div>
<div> </div>
<div><font face="Arial">上面提到的是对统计理论的直观理解。在运用统计技术时的直觉，需要理论基础和经验，这个我就说不了太多了。猜想，一个对统计技术有良好直觉的人，应该对各种数据的分布很敏感，对各种统计方法的运用和误用都了如指掌，总之言之言而总之，他应该像一个经验丰富的手工艺人，老木匠老雕匠一样。</font></div>
<div> </div>
<div><font face="Arial">再说<strong>统计工具</strong>的选用，先是初学时的工具，然后是工作的工具。初学者的工具，就是比如你第一次学习安德森或林德的基础统计学，需要选用的统计软件。首先不推荐用SAS、SPSS之类大型的商业软件包，他们会把初学者的精力吸引到工具的使用上面而不是统计理论的理解方面。就像初学一门编程语言，比如C++，所有的经典教材都鼓励用文本编辑器（如记事本、Notepad++等）写代码，而不是一上来就是用一些集成开发环境(IDE)如微软的Visual<br />
C++之类。文本编辑器足够简单，能让初学者集中精力关注代码本身而不是IDE的环境设置等扰乱心神的东西。</font></div>
<div> </div>
<div><font face="Arial">对初学者来说，电子表格如Excel是一个非常好的选择，足够简单，容易上手，而且还几乎够用。我推荐Excel的另一个理由是，在电子表格里，初学者可以更亲密地接触数据。电子表格里的数据容易编辑，容易犯错，容易修正，容易转换。我甚至鼓励初学者只用加减乘除四则运算，在Excel里手算些基本的如回归模型。手算的好处就是，你会觉得这个模型是你可以“掌”握的，每个结果都是你可以控制的，而不像SAS等软件包运行后就冒出来一大堆像是不请自来的结果。</font></div>
<div> </div>
<div><font face="Arial">为了增强对数据的敏感，我鼓励初学者花时间熟悉他有代表性的练习数据。学习统计或者统计软件时，我们面对大量不同的数据，经常是跑完一个数据，看看结果，然后转到另一份数据。这不利于培养对数据的敏感度，前面我提到，对数据的敏感是对统计技术运用有良好直觉的表现之一。讲个极端的例子，在Oracle数据库里，有一个用于测试和练习的公共账户scott，里面有一些数据库表的实例，其中主要两个表，雇员表EMP和部门表DEPT。大概全世界的Oracle程序员都用这两个表练习写SQL语句。他们对这几个表的熟悉程度到了多么夸张的地步呢？Oracle程序员聚会时，一个人提到EMP表里的某个人物，比如Smith，另一个人就可以说出他的职位来（这里Smith的Job是Clerk）。这真正是跟数据同呼吸共命运。</font></div>
<div> </div>
<div><font face="Arial">扯远了。还是用程序编辑器的类比，文本编辑器如记事本在初学时够用，但真正做项目时就会显得捉襟见肘了，Windows下的程序员多数还是会选择一些集成开发环境如VC++，这就是统计世界的商业软件包，成熟的是SAS、SPSS和S-Plus，选一款用就是，每款都几乎够用。我现在用SAS，不是说它一定就是最好的，只是说机缘巧合，选择了它，喜欢它，并且不准备更换。选择一个统计包，其实是个很偶然的事，你的老师用什么，你的朋友用什么，你的同事用什么，你大概就会用什么。石头都能刻出花来，无论玩哪一个，都能达到很高的境界。武林高手都有自己得心应手的兵刃，对学者来说，讨论SAS与SPSS孰优孰劣真是没有一点意义，都工具而已。即使不用SAS不用SAS，高手用SQL语句也是能够硬生生鼓捣出一棵决策树出来。</font></div>
<div> </div>
<div><font face="Arial">再提一下R，最近在各个统计社区都很流行，这是一款基于命令行的开源统计包。一个讨论就是，用基于命令的软件如R、SAS还是有图形界面的如SPSS。仁者见仁，智者见智，这当然又是一个伪问题，就看个人喜好了。其他的我不是很熟，就拿SAS说事。我们一般认为SAS是要写代码的，那是大多数用户接触Base<br />
SAS和SAS/STAT。SAS系统也有好用的桌面工具，如Enterprise Guider、Enterprise<br />
Miner、JMP等，图形界面都很友好，自己也经常用。工作中，其实我们都会抱着一个很实用的拿来主义态度，哪个适合完成任务，就选用哪个。但初学者静不下来，就会紧着考虑自己到底要选择哪些装备。</font></div>
<div> </div>
<div><font face="Arial">一般地，如果你熟悉SAS，一家只购买了SPSS的公司就不会怀疑你是不是会使用SPSS，其他类似。这里我还是强调它们的工具特性。工具会让我们更有自信，一个资质平平而且无意成为武林高手的庄稼汉，只要接受一点军事训练，拿一把刀就可以壮胆，在战场上还可能立功。现在他手头有一把屠龙刀，你就能指望他号令天下吗？一样的道理，你掌握了SAS，只能让你对处理数据更有信心，而且也能让你在工作中达到既定的目标，但这不表明你的统计功底就达到了你期望的水平。很久很久以前，统计先驱们是硬生生地摇手柄或者干脆拿稿纸手算，创立了现在我们使用的大部分基本统计模型。</font></div>
<div> </div>
<div><font face="Arial">到现在，总结一下思路，卑之无甚高论，我对初学者的建议是：</font></div>
<blockquote dir="ltr" style="margin-right:0px">
<div dir="ltr" style="margin-right:0px" align="left"><font face="Arial">1. 找一个类似安德森或林德的统计学入门教材，熟悉概念和基本模型；</font></div>
<div dir="ltr" style="margin-right:0px" align="left"><font face="Arial">2. 在学习初期，可以使用Excel等电子表格，培养自己手算的敏感；</font></div>
<div dir="ltr" style="margin-right:0px" align="left"><font face="Arial">3. 做项目时，找一款适合自己的软件包；</font></div>
<div dir="ltr" style="margin-right:0px" align="left"><font face="Arial">4. 继续学习统计，不要迷信工具。</font></div>
<div dir="ltr" style="margin-right:0px" align="left"> </div>
<div dir="ltr" style="margin-right:0px" align="left"><font face="Arial">一些小建议，还可以附在最后：<br />5. 学习期间，有任何问题，首先不要想着去论坛发问，教科书或Google能解决你大部分问题。或者干脆找到一个懂行的人，直接去问。人要爱惜自己的羽毛，在论坛问一些傻瓜问题，会损害你在社区的名誉。自己解决问题，会让自己变得更强壮；</font><font face="Arial"><br />6. 不要过于积极地去网上找学习资料。资料太多，人生太短，对大部分人来说，需要的几本书，国内都有引进，找一本搁案头翻阅就是。几本难得的电子书，赶紧打印了出来，从此不再网上瞎整。以前我把硬盘塞满时，突然警惕。疯狂收集电子书自有乐趣，你会沉浸在这种乐趣之中，而忽略真正有用的东西和真正要做的事情；<br />7. 多认识几位念统计学的朋友，让自己时刻清醒，自己还是这个领域的门外汉。我们都有自己的专攻，清楚非科班出身的人在涉及自己领域时的种种形状。<br />                                             <br />
  <br />                                 <br />
  2008-11-20</font></div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/11/20/%e5%a6%82%e4%bd%95%e5%ad%a6%e4%b9%a0%e7%bb%9f%e8%ae%a1%e5%ad%a6%ef%bc%8c%e6%88%96%e6%88%91%e7%9a%84%e5%ad%a6%e4%b9%a0%e4%b9%8b%e8%b7%af%e2%80%94%e2%80%94%e5%88%9d%e5%ad%a6%e8%80%85%e5%86%99%e7%bb%99/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>SASMan: Ron Cody的车牌号</title>
		<link>http://www.jiangtanghu.com/cn/2008/10/30/sasman-ron-cody%e7%9a%84%e8%bd%a6%e7%89%8c%e5%8f%b7/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/10/30/sasman-ron-cody%e7%9a%84%e8%bd%a6%e7%89%8c%e5%8f%b7/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9982</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div><font face="Arial"></font></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/10/30/sasman-ron-cody%e7%9a%84%e8%bd%a6%e7%89%8c%e5%8f%b7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAS的编程元素（OOP和其他）</title>
		<link>http://www.jiangtanghu.com/cn/2008/10/21/sas%e7%9a%84%e7%bc%96%e7%a8%8b%e5%85%83%e7%b4%a0%ef%bc%88oop%e5%92%8c%e5%85%b6%e4%bb%96%ef%bc%89/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/10/21/sas%e7%9a%84%e7%bc%96%e7%a8%8b%e5%85%83%e7%b4%a0%ef%bc%88oop%e5%92%8c%e5%85%b6%e4%bb%96%ef%bc%89/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9981</guid>
		<description><![CDATA[/*《SAS的编程元素（OOP和其他）》，转自我在quanthr.com的帖子。*/   有朋友提到，quant社区中，SAS与Matlab哪个更为流行。做数学模型，Matlab更好，做统计，SAS占优，在社区里，Matlab当然较SAS流行，但是建模一块，C++通吃，这似乎没有什么疑问，所以埋头学C++是王道。这里我多讲些SAS，个人偏好，它诸多的编程元素也让人爱不释手。 SAS是一个庞大的系统，可以说几乎什么活都能做，除了传统优势（统计、时间序列、数据挖掘、商务智能）外，SAS在编程方面让人称道的还有， &#8211;它是一门过程式的语言（循环、分支、数组，……），其中不乏面对对象的特性（详见下） &#8211;另外，对C/C++程序员来说，它提供了一个SAS/C Complier &#8211;对Java程序员，它有一个基于Eclipse的开发环境SAS AppDev Studio，可以方便地利用SAS的计算引擎开发各种应用， &#8211;矩阵运算一块，SAS的矩阵语言IML与Matlab、R等相比也不弱 &#8211;字符处理，除了大量的字符函数，SAS也支持Perl正则表达式 &#8211;支持标准SQL语句 &#8211;支持Hash表 &#8211;为XML数据提供了XML引擎 &#8211;…… 又，关于SAS系统的OO特性。首先，SAS/AF就是一门完全面对对象的应用开发语言。其他的，在SAS/Base中， &#8211;通过Data Step Component Interface,你可以在数据步里建立纯OOP的Java对象 &#8211;在DDS中，有一个类似的DDS Data Step Object &#8211;最后，在Macro中，一样可以体现出以上提到的各种OO特性，节日快乐。（注：那天是中秋节。）]]></description>
			<content:encoded><![CDATA[<div><font face="Arial" size="2">/*<a href="http://quanthr.com/bbs/thread-2058-1-1.html">《SAS的编程元素（OOP和其他）》</a>，转自我在quanthr.com的帖子。*/</font></div>
<div><font face="Arial" size="2"></font> </div>
<div>有朋友提到，<span>quant</span>社区中，<a href="http://quanthr.com/bbs/thread-695-1-1.html" target="_blank">SAS与Matlab哪个更为流行</a>。做数学模型，Matlab更好，做统计，SAS占优，在社区里，Matlab当然较SAS流行，但是建模一块，C++通吃，这似乎没有什么疑问，所以埋头学C++是王道。这里我多讲些SAS，个人偏好，它诸多的编程元素也让人爱不释手。</p>
<p>SAS是一个庞大的系统，可以说几乎什么活都能做，除了传统优势（统计、时间序列、数据挖掘、商务智能）外，SAS在编程方面让人称道的还有，</p>
<p>&#8211;它是一门过程式的语言（循环、分支、数组，……），其中不乏面对对象的特性（详见下）</p>
<p>&#8211;另外，对C/C++<span>程序</span>员来说，它提供了一个<a href="http://www.sas.com/products/sasc/index.html" target="_blank">SAS/C<br />
Complier</a></p>
<p>&#8211;对Java程序员，它有一个基于Eclipse的开发环境<a href="http://www.sas.com/technologies/bi/appdev/appdev/" target="_blank">SAS<br />
AppDev Studio</a>，可以方便地利用SAS的计算引擎开发各种应用，</p>
<p>&#8211;矩阵运算一块，SAS的矩阵语言<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!539.entry" target="_blank">IML与Matlab、R等相比</a>也不弱</p>
<p>&#8211;字符处理，除了大量的字符函数，<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!474.entry" target="_blank">SAS也支持Perl正则表达式</a></p>
<p>&#8211;支持标准SQL语句</p>
<p>&#8211;支持Hash表</p>
<p>&#8211;为XML数据提供了XML引擎</p>
<p>&#8211;……</p>
<p>又，关于SAS系统的OO特性。首先，<a href="http://www.sas.com/technologies/bi/appdev/af/index.html" target="_blank">SAS/AF</a>就是一门完全面对对象的应用开发语言。其他的，在SAS/Base中，</p>
<p>&#8211;通过<a href="http://support.sas.com/rnd/base/datastep/dot/javaobj.html" target="_blank">Data Step Component<br />
Interface</a>,你可以在数据步里建立纯OOP的Java对象</p>
<p>&#8211;在DDS中，有一个类似的<a href="http://support.sas.com/rnd/base/datastep/dsobject/index.html" target="_blank">DDS Data Step<br />
Object</a></p>
<p>&#8211;最后，在Macro中，一样可以体现出以上提到的各种OO特性，节日快乐。<em><font size="2">（注：那天是中秋节。）</font></em></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/10/21/sas%e7%9a%84%e7%bc%96%e7%a8%8b%e5%85%83%e7%b4%a0%ef%bc%88oop%e5%92%8c%e5%85%b6%e4%bb%96%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>信用评分书目</title>
		<link>http://www.jiangtanghu.com/cn/2008/10/20/%e4%bf%a1%e7%94%a8%e8%af%84%e5%88%86%e4%b9%a6%e7%9b%ae/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/10/20/%e4%bf%a1%e7%94%a8%e8%af%84%e5%88%86%e4%b9%a6%e7%9b%ae/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9980</guid>
		<description><![CDATA[                    Credit Scoring: Reading List   好久不更新，先整理下手头信用评分方面的书。   1. Credit Risk Scorecards: Developing and Implementing Intelligent Credit Scoring, by N.Siddiqi, 2005 这书主要讲是信用评分模型开发的流程，技术方面是点到为止，对了解建模的生命周期非常有好处，作者是SAS公司的信用评分专家。研一时MasterCard的冯老师给我们开信用评分课，从学校图书馆(PKU)借出，印了一册，时常翻着。当时据此书写了不少读书笔记，又有把这书翻译过来的念头。 2. Credit Scoring and Its Applications, by L.Thomas, etc, 2002 各种（数据挖掘/机器学习）模型的数学展开，恰到好处，还不至于让人望而却步。有中译本（《信用评分及其应用》，中国金融出版社），原版书在数学系(PKU)的图书室。这书稍嫌旧，经典嘛。 3. Development of Credit Scoring Applications Using SAS Enterprise Miner, by SAS Institute Inc., 2008 信用评分教程，step-by-step，用的是SAS 的数据挖掘工具Enterprise Miner及SAS [...]]]></description>
			<content:encoded><![CDATA[<div><font face="Arial">           <br />
        Credit Scoring: Reading List</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">好久不更新，先整理下手头信用评分方面的书。</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">1. <em>Credit Risk Scorecards: Developing and Implementing<br />
Intelligent Credit Scoring, by N.Siddiqi, 2005</em></font></div>
<div><font face="Arial">这书主要讲是信用评分模型开发的流程，技术方面是点到为止，对了解建模的生命周期非常有好处，作者是SAS公司的信用评分专家。研一时MasterCard的冯老师给我们开信用评分课，从学校图书馆(PKU)借出，印了一册，时常翻着。当时据此书写了不少读书笔记，又有把这书翻译过来的念头。</font></div>
<div><font face="Arial"></font><font face="Arial"><br />2. <em>Credit Scoring and Its<br />
Applications, by L.Thomas, etc, 2002</em></font></div>
<div><font face="Arial">各种（数据挖掘/机器学习）模型的数学展开，恰到好处，还不至于让人望而却步。有中译本（《信用评分及其应用》，中国金融出版社），原版书在数学系(PKU)的图书室。这书稍嫌旧，经典嘛。</font></div>
<div>3. <em>Development of Credit Scoring Applications Using SAS Enterprise<br />
Miner, by SAS Institute Inc., 2008</em></div>
<div>信用评分教程，step-by-step，用的是SAS 的数据挖掘工具Enterprise Miner及SAS Credit<br />
Scoring节点。</div>
<div>4. <em>Data Mining Cookbook: Modeling Data for Marketing, Risk and<br />
Customer Relationship management, by O. Rud, 2000</em></div>
<div>这书在国内也比较有名，它提供了Logistic回归建立以及评估信用评分模型的SAS代码，但国内还没见着随书的数据集。有中译本（《数据挖掘实践》，机械工业出版社）。</div>
<div><font size="2"></font><br />5. <em>信用评分模型技术与应用，by陈建，2005</em></div>
<div>中文书，对了解业务背景有帮助。作者陈建在Fair Isaac做模型。</div>
<p><font size="2"></font></p>
<div><font size="2"></font><br />6. <em>现代信用卡管理，by陈建，2005</em></div>
<div>同上，信用卡业务知识。</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/10/20/%e4%bf%a1%e7%94%a8%e8%af%84%e5%88%86%e4%b9%a6%e7%9b%ae/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>数量金融基本书目(Classic Books for Quantitative Finance Available in China)</title>
		<link>http://www.jiangtanghu.com/cn/2008/08/22/%e6%95%b0%e9%87%8f%e9%87%91%e8%9e%8d%e5%9f%ba%e6%9c%ac%e4%b9%a6%e7%9b%aeclassic-books-for-quantitative-finance-available-in-china/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/08/22/%e6%95%b0%e9%87%8f%e9%87%91%e8%9e%8d%e5%9f%ba%e6%9c%ac%e4%b9%a6%e7%9b%aeclassic-books-for-quantitative-finance-available-in-china/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9979</guid>
		<description><![CDATA[一些有志于数量金融的朋友感叹国内资源不足，花大量时间泡网找电子书。其实这个领域的基本参考书就那么几本，全世界的学者都在用。据我多年泡图书馆和逛书店的经验，不妨给大伙数数国内公开出版的数量金融经典教材，影印版或者中译本，挂一漏万，欢迎随时添加指正（mailto:jiangtanghu(at)gmail(dot)com）。这些书应该都可以从网上书店如china-pub订到，而且单本不会超过一百块。说，材料都容易得到，稀缺的是钻研的耐心。 数量金融的基本书目，无非包括三类，金融、数学和编程(C++)。在金融这块，入门多用John Hull的那本所谓华尔街圣经，Options, Futures, and Other Derivatives（《期权、期货和其他衍生品》），现在都出到第七版了（可怜我手头那本6版还没有看完）。清华大学出版社有这本书的影印版（见过5版，不知道有没有更新的），中译本就比较落后，华夏出版社有3版——那就看影印5版喽。Hull还有一本《期货与期权市场导论》 (第5版)，北大出版社的中译本（这个本子较新），数学处理上比前面的“圣经”简单，但对了解领域知识一样有用。 金融数学这块，最好的书国内都引进了（除了Paul Wilmott on Quantitative Finance，北大图书馆跟国图有藏，最新2版三卷本）： Steven Shreve的两卷Stochastic Calculus for Finance，卷一The Binomial Asset Pricing Model和卷二Continuous-Time Models，世界图书出版公司都有影印本，叫做《金融随机分析》。世界图书还有他另外两本名气稍小的影印本子，Methods of Mathematical Finance（《金融数学方法》）和Brownian Motion and Stochastic Calculus（《布朗运动和随机计算》）。都是Springer的精装黄皮本子，比较精致，还便宜。 Salih Neftci的几本，武大出版社也有影印本，不过都是平装的本子，纸张看着不舒服，Principles of Financial Engineering（《金融工程原理》），以及An Introduction to the Mathematics of Financial Derivatives（《金融衍生工具数学导论》）。最后一本西南财经大学出版社也有影印本，叫做《金融衍生工具中的数学》。今年西南财经也引进了几本看着不错的书。 Baxter和Rennie合著的Financial Calculus: An Introduction to Derivative Pricing (Cambridge) ，图灵图书在人民邮电出版社有影印本和中译本，唤作《金融数学—衍生产品定价引论》。图灵做的书都比较漂亮。 最基本的金融数学（随机微积分）参考书，以上已经足够了。其他数学科目，如偏微分、数值分析之类，在数学系的书目里，能选择的就更多了。国内甚至还能找到Paul Glasserman的那本Monte Carlo Methods [...]]]></description>
			<content:encoded><![CDATA[<h3 style="font-weight:normal">一些有志于数量金融的朋友感叹国内资源不足，花大量时间泡网找电子书。其实这个领域的基本参考书就那么几本，全世界的学者都在用。据我多年泡图书馆和逛书店的经验，不妨给大伙数数国内公开出版的数量金融经典教材，影印版或者中译本，挂一漏万，欢迎随时添加指正（mailto:jiangtanghu(at)gmail(dot)com）。这些书应该都可以从网上书店如china-pub订到，而且单本不会超过一百块。说，材料都容易得到，稀缺的是钻研的耐心。</h3>
<h3 style="font-weight:normal">数量金融的基本书目，无非包括三类，金融、数学和编程(C++)。在金融这块，入门多用John Hull的那本所谓华尔街圣经，Options, Futures, and Other Derivatives（《期权、期货和其他衍生品》），现在都出到第七版了（可怜我手头那本6版还没有看完）。清华大学出版社有这本书的影印版（见过5版，不知道有没有更新的），中译本就比较落后，华夏出版社有3版——那就看影印5版喽。Hull还有一本《期货与期权市场导论》 (第5版)，北大出版社的中译本（这个本子较新），数学处理上比前面的“圣经”简单，但对了解领域知识一样有用。</h3>
<h3 style="font-weight:normal">金融数学这块，最好的书国内都引进了（除了Paul Wilmott on Quantitative Finance，北大图书馆跟国图有藏，最新2版三卷本）：</h3>
<h3 style="font-weight:normal">Steven Shreve的两卷Stochastic Calculus for Finance，卷一The Binomial Asset Pricing Model和卷二Continuous-Time Models，世界图书出版公司都有影印本，叫做《金融随机分析》。世界图书还有他另外两本名气稍小的影印本子，Methods of Mathematical Finance（《金融数学方法》）和Brownian Motion and Stochastic Calculus（《布朗运动和随机计算》）。都是Springer的精装黄皮本子，比较精致，还便宜。</h3>
<h3 style="font-weight:normal">Salih Neftci的几本，武大出版社也有影印本，不过都是平装的本子，纸张看着不舒服，Principles of Financial Engineering（《金融工程原理》），以及An Introduction to the Mathematics of Financial Derivatives（《金融衍生工具数学导论》）。最后一本西南财经大学出版社也有影印本，叫做《金融衍生工具中的数学》。今年西南财经也引进了几本看着不错的书。</h3>
<h3 style="font-weight:normal">Baxter和Rennie合著的Financial Calculus: An Introduction to Derivative Pricing (Cambridge) ，图灵图书在人民邮电出版社有影印本和中译本，唤作《金融数学—衍生产品定价引论》。图灵做的书都比较漂亮。</h3>
<h3 style="font-weight:normal">最基本的金融数学（随机微积分）参考书，以上已经足够了。其他数学科目，如偏微分、数值分析之类，在数学系的书目里，能选择的就更多了。国内甚至还能找到Paul Glasserman的那本Monte Carlo Methods in Financial Engineering（《金融工程中的蒙特卡罗方法》），高教出版社刚出了一个影印版。</h3>
<h3 style="font-weight:normal">最后一组是编程。一些朋友还在犹豫，是用C好呢，还是Java好？或者，Excel VBA、Matlab似乎也不赖，最近C#也好像挺流行，Python也出了个数值计算的库，R也有金融计算的包rMetrics，S-Plus的FinMetrics看着也不错，——都错！如果你不是学有余力精力过剩的话，C++应该是你唯一的选择。C++是数量金融界的标准语言，而且，即使你工作中不用C++，它也会是企业检验你水平的门槛。C++，全世界的程序员和Quant推荐得最多的就是这三本书，而且国内都有最新的影印本和中译本：Lippman的C++ Primer（人民邮电）、Eckel的Thinking in C++（机械工业）和Bjarne Stroustrup的The C++ Programming Language（《C++程序设计语言》，高教）。</h3>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/08/22/%e6%95%b0%e9%87%8f%e9%87%91%e8%9e%8d%e5%9f%ba%e6%9c%ac%e4%b9%a6%e7%9b%aeclassic-books-for-quantitative-finance-available-in-china/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>SAS/IML，及其与R/S-Plus、SciLab/Matlab的比较（1）</title>
		<link>http://www.jiangtanghu.com/cn/2008/08/17/sasiml%ef%bc%8c%e5%8f%8a%e5%85%b6%e4%b8%8ers-plus%e3%80%81scilabmatlab%e7%9a%84%e6%af%94%e8%be%83%ef%bc%881%ef%bc%89/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/08/17/sasiml%ef%bc%8c%e5%8f%8a%e5%85%b6%e4%b8%8ers-plus%e3%80%81scilabmatlab%e7%9a%84%e6%af%94%e8%be%83%ef%bc%881%ef%bc%89/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9978</guid>
		<description><![CDATA[SAS的矩阵语言IML(Interactive Matrix Language)只可以处理二维表，数据类型不如R、Matlab等同类矩阵语言丰富，不过它对矩阵的表达和操纵能力一样厉害，而且与SAS程序和数据的相互访问通讯比较好，不妨一学。矩阵语言，看着也类似，下面就做个IML与R/S-Plus、SciLab/Matlab的比较（我手头只有R跟SciLab，以下的例子就用它们，这两个东西我不熟，不妨随时指正。）一句话，SAS/IML在定义矩阵时跟SciLab/Matlab差不多，在提取矩阵元素时跟R/S-Plus相近些： 1.定义矩阵 定义矩阵 SAS/IML R/S-Plus SciLab/Matlab 标量 a={1} 或者a=1 a=1 a={1} 重复a={2 2 2} a={[3] 2 } a=rep(2,3)   循环，1到100 a=1:100   a=1:100 循环，1到100，步长为2 a=do(1,100,2)   a=1:2:100 1*3行向量 a={1 2 3} a=array(c(1,2,3),dim=c(1,3)) a=[1 2 3] 3*1列向量 a={1,2,3} a=array(c(1,2,3),dim=c(3,1)) a=[1;2;3] or a={1;2;3} 2*3矩阵 b={1 2 3, 4 5 6 } a=array(c(1,2,3,4,5,6),dim=c(2,3)) b=[1 2 3; [...]]]></description>
			<content:encoded><![CDATA[<p>SAS的矩阵语言IML(<b>I</b>nteractive <b>M</b>atrix <b>L</b>anguage)只可以处理二维表，数据类型不如R、Matlab等同类矩阵语言丰富，不过它对矩阵的表达和操纵能力一样厉害，而且与SAS程序和数据的相互访问通讯比较好，不妨一学。矩阵语言，看着也类似，下面就做个IML与R/S-Plus、SciLab/Matlab的比较（我手头只有R跟SciLab，以下的例子就用它们，这两个东西我不熟，不妨随时指正。）一句话，SAS/IML在定义矩阵时跟SciLab/Matlab差不多，在提取矩阵元素时跟R/S-Plus相近些：</p>
<blockquote><p>1.定义矩阵 </p>
</blockquote>
<table cellspacing="0" cellpadding="2" width="657" border="1">
<tbody>
<tr>
<td valign="top" width="116">定义矩阵</td>
<td valign="top" width="130">SAS/IML</td>
<td valign="top" width="221">R/S-Plus</td>
<td valign="top" width="188">SciLab/Matlab</td>
</tr>
<tr>
<td valign="top" width="116">标量</td>
<td valign="top" width="131">a={1} 或者a=1</td>
<td valign="top" width="221">a=1</td>
<td valign="top" width="188">a={1} </td>
</tr>
<tr>
<td valign="top" width="116">
<p>重复a={2 2 2} </p>
</td>
<td valign="top" width="131">
<p>a={[3] 2 } </p>
</td>
<td valign="top" width="221">
<p>a=rep(2,3)</p>
</td>
<td valign="top" width="188"> </td>
</tr>
<tr>
<td valign="top" width="116">循环，1到100</td>
<td valign="top" width="131">a=1:100</td>
<td valign="top" width="221"> </td>
<td valign="top" width="188">a=1:100</td>
</tr>
<tr>
<td valign="top" width="116">循环，1到100，步长为2</td>
<td valign="top" width="131">a=do(1,100,2)</td>
<td valign="top" width="221"> </td>
<td valign="top" width="188">
<p>a=1:2:100</p>
</td>
</tr>
<tr>
<td valign="top" width="116">1*3行向量 </td>
<td valign="top" width="131">a={1 2 3}</td>
<td valign="top" width="221">a=array(c(1,2,3),dim=c(1,3))</td>
<td valign="top" width="188">a=[1 2 3]</td>
</tr>
<tr>
<td valign="top" width="116">
<p>3*1列向量</p>
</td>
<td valign="top" width="131">
<p>a={1,2,3} </p>
</td>
<td valign="top" width="221">
<p>a=array(c(1,2,3),dim=c(3,1)) </p>
</td>
<td valign="top" width="188">
<p>a=[1;2;3] or a={1;2;3}</p>
</td>
</tr>
<tr>
<td valign="top" width="116">
<p>2*3矩阵</p>
</td>
<td valign="top" width="131">
<p>b={1 2 3, 4 5 6 } </p>
</td>
<td valign="top" width="221">
<p>a=array(c(1,2,3,4,5,6),dim=c(2,3)) </p>
</td>
<td valign="top" width="188">
<p>b=[1 2 3; 4 5 6 ]</p>
</td>
</tr>
<tr>
<td valign="top" width="116">
<p>3*3单位阵 </p>
</td>
<td valign="top" width="131">
<p>c=I(3) </p>
</td>
<td valign="top" width="221"> </td>
<td valign="top" width="188">
<p>a=eye(3,3)</p>
</td>
</tr>
<tr>
<td valign="top" width="116">
<p>2*3零矩阵  </p>
</td>
<td valign="top" width="131">
<p>d=J(2,3,0)</p>
</td>
<td valign="top" width="221"> </td>
<td valign="top" width="188">
<p>zeros(2,3)</p>
</td>
</tr>
<tr>
<td valign="top" width="116">
<p>2*3全一矩阵 </p>
</td>
<td valign="top" width="131">
<p>e=J(2,3,1) or J(2,3) </p>
</td>
<td valign="top" width="221"> </td>
<td valign="top" width="188">
<p>a=ones(2,3)</p>
</td>
</tr>
</tbody>
</table>
<blockquote><p>2.矩阵操纵 </p>
</blockquote>
<table cellspacing="0" cellpadding="2" width="402" border="1">
<tbody>
<tr>
<td valign="top" width="97">矩阵操纵</td>
<td valign="top" width="100">SAS/IML</td>
<td valign="top" width="98">R/S-Plus</td>
<td valign="top" width="105">SciLab/Matlab</td>
</tr>
<tr>
<td valign="top" width="95">
<p>2行3列，</p>
</td>
<td valign="top" width="99">
<p>b=a[2,3]</p>
</td>
<td valign="top" width="97">
<p>b=a[2,3] </p>
</td>
<td valign="top" width="109">
<p>b=a(2,3)</p>
</td>
</tr>
<tr>
<td valign="top" width="95">
<p>所有行</p>
</td>
<td valign="top" width="98">
<p>a[2,] </p>
</td>
<td valign="top" width="95">
<p>a[2,] </p>
</td>
<td valign="top" width="112">
<p>b=a(2,:)</p>
</td>
</tr>
<tr>
<td valign="top" width="93">
<p>所有列 </p>
</td>
<td valign="top" width="98">
<p>a[,3]</p>
</td>
<td valign="top" width="95">
<p>a[,3] </p>
</td>
<td valign="top" width="114">
<p>b=a(:,3)</p>
</td>
</tr>
<tr>
<td valign="top" width="93">
<p>均值</p>
</td>
<td valign="top" width="97">
<p>b=a[:] </p>
</td>
<td valign="top" width="94"> </td>
<td valign="top" width="116">
<p><font color="#ff0000">b=a(:) 所有元素</font></p>
</td>
</tr>
<tr>
<td valign="top" width="92">水平叠加（列相加）</td>
<td valign="top" width="97">a||b</td>
<td valign="top" width="94">cbind(a,b)</td>
<td valign="top" width="117">c=[a,b]</td>
</tr>
<tr>
<td valign="top" width="92">垂直叠加（行相加）</td>
<td valign="top" width="97">a//b</td>
<td valign="top" width="93">rbind(a,b)</td>
<td valign="top" width="118"> </td>
</tr>
<tr>
<td valign="top" width="92">取最大</td>
<td valign="top" width="97">a&lt;&gt;b</td>
<td valign="top" width="93">pmax(a,b)</td>
<td valign="top" width="118"> </td>
</tr>
<tr>
<td valign="top" width="92">取最小</td>
<td valign="top" width="97">a&gt;&lt;b</td>
<td valign="top" width="94">pmin(a,b)</td>
<td valign="top" width="119"> </td>
</tr>
</tbody>
</table>
<blockquote><p>3.矩阵运算 </p>
</blockquote>
<table cellspacing="0" cellpadding="2" width="561" border="1">
<tbody>
<tr>
<td valign="top" width="102">矩阵运算</td>
<td valign="top" width="102">SAS/IML</td>
<td valign="top" width="97">R/S-Plus</td>
<td valign="top" width="258">SciLab/Matlab</td>
</tr>
<tr>
<td valign="top" width="104">
<p>求逆 </p>
</td>
<td valign="top" width="103">
<p>inv（a）</p>
</td>
<td valign="top" width="96">
<p>inv(a)</p>
</td>
<td valign="top" width="256">
<p>inv(a)</p>
</td>
</tr>
<tr>
<td valign="top" width="107">行列式</td>
<td valign="top" width="104">det(a)</td>
<td valign="top" width="96"> </td>
<td valign="top" width="254">det(a)</td>
</tr>
<tr>
<td valign="top" width="108">秩</td>
<td valign="top" width="104">rank(a)</td>
<td valign="top" width="95"> </td>
<td valign="top" width="254">rank(a)</td>
</tr>
<tr>
<td valign="top" width="110">迹</td>
<td valign="top" width="104">trace(a)</td>
<td valign="top" width="95"> </td>
<td valign="top" width="253">trace(a)</td>
</tr>
<tr>
<td valign="top" width="111">
<p>元素相乘  </p>
</td>
<td valign="top" width="104">
<p>a#b</p>
</td>
<td valign="top" width="95">
<p>a*b</p>
</td>
<td valign="top" width="252">
<p>a.*b</p>
</td>
</tr>
<tr>
<td valign="top" width="112">
<p>元素幂  </p>
</td>
<td valign="top" width="104">
<p>a##b </p>
</td>
<td valign="top" width="95">
<p>a^b</p>
</td>
<td valign="top" width="252">
<p>a.^b</p>
</td>
</tr>
<tr>
<td valign="top" width="112">
<p>幂</p>
</td>
<td valign="top" width="104">
<p>a**2=a*a</p>
</td>
<td valign="top" width="95"> </td>
<td valign="top" width="252">
<p>a^2=a*a</p>
</td>
</tr>
<tr>
<td valign="top" width="112">
<p>矩阵乘法 </p>
</td>
<td valign="top" width="104">
<p>a*b </p>
</td>
<td valign="top" width="95">
<p>a%*%b</p>
</td>
<td valign="top" width="252"> </td>
</tr>
<tr>
<td valign="top" width="112">
<p>转置 </p>
</td>
<td valign="top" width="104">
<p>t(a) or a` </p>
</td>
<td valign="top" width="95">
<p>t(a)</p>
</td>
<td valign="top" width="252">
<p>a&#8217;</p>
</td>
</tr>
<tr>
<td valign="top" width="112">
<p>对角阵  </p>
</td>
<td valign="top" width="104">
<p>diag(a)</p>
</td>
<td valign="top" width="95">
<p>diag(a)</p>
</td>
<td valign="top" width="252"> </td>
</tr>
<tr>
<td valign="top" width="112">
<p>对角元素 </p>
</td>
<td valign="top" width="104">
<p>vecdiag(a) </p>
</td>
<td valign="top" width="95">
<p>diag(a)</p>
</td>
<td valign="top" width="252"> </td>
</tr>
<tr>
<td valign="top" width="112">Kronecker乘积</td>
<td valign="top" width="104">a@b</td>
<td valign="top" width="95"> </td>
<td valign="top" width="252">kron(m1,m2)</td>
</tr>
<tr>
<td valign="top" width="112">特征值<br />特征向量</td>
<td valign="top" width="104">eigval(a)<br />eigvec(a)</td>
<td valign="top" width="95"> </td>
<td valign="top" width="252">
<p>[eigenvector, eigenvalue]=eig(m) </p>
<p><font color="#ff0000">matlab </font></p>
</td>
</tr>
</tbody>
</table>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>,<a href="http://technorati.<br />
com/tags/IML" rel="tag">IML</a>,<a href="http://technorati.com/tags/R" rel="tag">R</a>,<a href="http://technorati.com/tags/S-Plus" rel="tag">S-Plus</a>,<a href="http://technorati.com/tags/SciLab" rel="tag">SciLab</a>,<a href="http://technorati.com/tags/Matlab" rel="tag">Matlab</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/08/17/sasiml%ef%bc%8c%e5%8f%8a%e5%85%b6%e4%b8%8ers-plus%e3%80%81scilabmatlab%e7%9a%84%e6%af%94%e8%be%83%ef%bc%881%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>在Visual C++ 2008配置QuantLib</title>
		<link>http://www.jiangtanghu.com/cn/2008/08/13/%e5%9c%a8visual-c-2008%e9%85%8d%e7%bd%aequantlib/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/08/13/%e5%9c%a8visual-c-2008%e9%85%8d%e7%bd%aequantlib/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9977</guid>
		<description><![CDATA[稍微了解了下quantlib。它是一个开源的C++库，在数量金融社区（quant）里名气最大。 这些日子在学习C++和金融计算的活计，正好有用。今在机器里配置了一个quantlib的环境，配置boost时参考了quantnet论坛的一个帖子（Boost 1.35.0 + Quantlib 0.9.0 with Visual Studio 2008），记录先： QuantLib-0.9.6 boost_1_35_0 Microsoft Visual C++ 2008 Express Edition Microsoft Windows  XP Professional Version 2002, Service Pack 2 Intel(R) Core(TM)2 Duo CPU, 1.95GB of RAM   1. 去微软主页下载并安装Microsoft Visual C++ 2008 Express Edition 2-1.去sourceforge下载boost_1_35_0.zip，并解压到C盘。最后，新出现C:\boost_1_35_0 2-2.打开一个Command Prompt（Ctrl+R-&#62;cmd），把盘符指向C:\boost_1_35_0\tools\jam\src，运行build.bat，这将产生以下要用的bjam.exe 2-3. 把盘符指向C:\boost_1_35_0，运行以下命令 tools\jam\src\bin.ntx86\bjam.exe --build-type=complete 这将花n多时间。没有计时，我是先忙活其他的事，一个小时后看到运行成功。 2-4.接着运行以下命令： tools\jam\src\bin.ntx86\bjam.exe --build-type=complete install 这又将花掉大概n的一半的时间。成功后，你将看到一个新的文件夹C:\Boost [...]]]></description>
			<content:encoded><![CDATA[<p>稍微了解了下<a href="http://www.quantlib.org/">quantlib</a>。它是一个开源的C++库，在数量金融社区（quant）里名气最大。 这些日子在学习C++和金融计算的活计，正好有用。今在机器里配置了一个quantlib的环境，配置boost时参考了quantnet论坛的一个帖子（<a href="Boost 1.35.0 + Quantlib 0.9.0 with Visual Studio 2008" target="_blank">Boost 1.35.0 + Quantlib 0.9.0 with Visual Studio 2008</a>），记录先：<br />
<blockquote>
<p>QuantLib-0.9.6  </p>
<p>boost_1_35_0  </p>
<p>Microsoft Visual C++ 2008 Express Edition  </p>
<p>Microsoft Windows  XP Professional Version 2002, Service Pack 2  </p>
<p>Intel(R) Core(TM)2 Duo CPU, 1.95GB of RAM</p>
</blockquote>
<p><a href="http://byfiles.storage.msn.com/y1peweiUpywdGhp71Hd0gEtdWUL_BHRNqKcem7vZLAxocR2K0KfxHDp10JBsNJK9a9cqvYZtoFahX4?PARTNER=WRITER"></a> </p>
<p>1. 去微软主页<a href="http://www.microsoft.com/express/vc/" target="_blank">下载并安装Microsoft Visual C++ 2008 Express Edition</a></p>
<p>2-1.去sourceforge<a href="http://internap.dl.sourceforge.net/sourceforge/boost/boost_1_35_0.zip" target="_blank">下载boost_1_35_0.zip</a>，并解压到C盘。最后，新出现C:\boost_1_35_0</p>
<p>2-2.打开一个Command Prompt（Ctrl+R-&gt;cmd），把盘符指向C:\boost_1_35_0\tools\jam\src，运行build.bat，这将产生以下要用的bjam.exe</p>
<p>2-3. 把盘符指向C:\boost_1_35_0，运行以下命令</p>
<blockquote><pre>tools\jam\src\bin.ntx86\bjam.exe --build-type=complete</pre>
</blockquote>
<pre>这将花n多时间。没有计时，我是先忙活其他的事，一个小时后看到运行成功。</pre>
<pre>2-4.接着运行以下命令：</pre>
<blockquote><pre>tools\jam\src\bin.ntx86\bjam.exe --build-type=complete install</pre>
</blockquote>
<pre>这又将花掉大概n的一半的时间。成功后，你将看到一个新的文件夹C:\Boost</pre>
<pre>3.去sourceforge下载<a href="http://downloads.sourceforge.net/quantlib/QuantLib-0.9.6.zip?modtime=1218032538&amp;big_mirror=1" target="_blank">QuantLib-0.9.6.zip</a>,并解压到C盘。最后，新出现C:\QuantLib-0.9.6</pre>
<pre>4-1. 打开Microsoft Visual C++ 2008 Express Edition -&gt;Tools-&gt;Options-&gt;Projects and Solutions-&gt;</pre>
<pre>VC++ Directories-&gt;Show directories for:-&gt;Include files，新添一行C:\Boost\include\boost-1_35</pre>
<pre><a href="http://7hcwaw.bay.livefilestore.com/y1pEKO_Em-NqrAidIO6WepcaKrwRoghZglUq4N_5V6hUb8afb-gsvNXNBZebib_BTj476r6mKXHbPn3pjF6Uy5eVA?PARTNER=WRITER"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="280" alt="include" src="http://byfiles.storage.msn.com/y1pNKu1_HqQ7yyGT9TsQmIArUsHjKvP1T0OjpicYNzlS9wrN9MGJFzHlfxJBm8mp55ueHswnFStiyE?PARTNER=WRITER" width="569" border="0" /></a> </pre>
<pre> 同样，在Library files中新添一行C:\Boost\lib</pre>
<pre><a href="http://7hcwaw.bay.livefilestore.com/y1poI4eDfxoh35G36GY08LNQmT1XzCjpmUDhJe3_BHaXONhLcbg4rFYCK2NwRk3hJjl5eEBEE6QOA9f4sMc1CcjsQ?PARTNER=WRITER"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="270" alt="lib" src="http://byfiles.storage.msn.com/y1pBbRcxFB2BDD-YFI-ZLnMNAYtzjPXx3jJqWavrAgzQo6eUfleMQF2WtcyK4qnv0VrQjLH76GxgrI?PARTNER=WRITER" width="587" border="0" /></a> </pre>
<pre>4-2. 打开VC2008-&gt;File-&gt;Open-&gt;Project/Solution，打开C:\QuantLib-0.9.6\QuantLib_vc9.sln，导入QuantLib后，你就将看到，</pre>
<pre><a href="http://byfiles.storage.msn.com/y1peweiUpywdGhp71Hd0gEtdWUL_BHRNqKcem7vZLAxocR2K0KfxHDp10JBsNJK9a9cqvYZtoFahX4?PARTNER=WRITER"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="374" alt="clip_image002" src="http://byfiles.storage.msn.com/y1pxXhLkwc7bRx3GL3cwH2BP3hXOsn1y3ahmN7XTiSl9yBJzjX-xTnKCK33g2Cyn7IicvWZOCJK8kM?PARTNER=WRITER" width="466" border="0" /></a></pre>
<pre>5-1. 选中上图中的QuantLib，右键选中Set As Startup Project，然后右键选中build，……漫长等待……直到成功。</pre>
<pre>（注：在build的过程中，老冒出一行警告：</pre>
<pre>The file contains a character that cannot be represented in the </pre>
<pre>current code page (936).Save the file in Unicode format to prevent data loss</pre>
<pre>大概跟我机器的local有关，后来证明对功能没有影响。）</pre>
<pre>5-2. 重复以上动作（先Set As Startup Project再build），对其余的项目如BermudanSwaption等做同样的操作，</pre>
<pre>build成功后，可以按Ctrl+F5查看程序运行结果。That's all and have fun!</pre>
<div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/C++" rel="tag">C++</a>,<a href="http://technorati.com/tags/QuantLib" rel="tag">QuantLib</a>,<a href="http://technorati.com/tags/boost" rel="tag">boost</a>,<a href="http://technorati.com/tags/sourceforge" rel="tag">sourceforge</a>,<a href="http://technorati.com/tags/Visual C++" rel="tag">Visual C++</a>,<a href="http://technorati.com/tags/quant" rel="tag">quant</a>,<a href="http://technorati.com/tags/finance" rel="tag">finance</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/08/13/%e5%9c%a8visual-c-2008%e9%85%8d%e7%bd%aequantlib/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hull书上的一个小例子</title>
		<link>http://www.jiangtanghu.com/cn/2008/08/01/hull%e4%b9%a6%e4%b8%8a%e7%9a%84%e4%b8%80%e4%b8%aa%e5%b0%8f%e4%be%8b%e5%ad%90/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/08/01/hull%e4%b9%a6%e4%b8%8a%e7%9a%84%e4%b8%80%e4%b8%aa%e5%b0%8f%e4%be%8b%e5%ad%90/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9976</guid>
		<description><![CDATA[进来闲些，就想把手头正看着的Hull那册options, futures, and other derivatives (6th ed.)中的模型和例子都拿SAS写一遍。先拿ch4: Interest Rate中的一个小东西练手（p.78 Table 4.1），说复利的计算次数对利息的影响。以下， /************************* A:本金 m: 复利计算的次数 n: 年数 R: 年利率 FV: 终值 *************************/ options nodate nonotes nosource;%macro rate(A=,m=,n=,R=);data _null_;    format FV 6.2;    FV=&#38;A*(1+&#38;R/&#38;m)**(&#38;m*&#38;n);    %put _user_;    put FV=;run;%mend rate;proc printto log=&#34;D:\rate.dat&#34; new;%rate(A=100,m=1,n=1,R=0.1)%rate(A=100,m=2,n=1,R=0.1)%rate(A=100,m=4,n=1,R=0.1)%rate(A=100,m=12,n=1,R=0.1)%rate(A=100,m=52,n=1,R=0.1)%rate(A=100,m=365,n=1,R=0.1)proc printto;run;data rate;    infile &#34;D:\rate.dat&#34;;    length m 3.;input #1 m &#38; 8-10        #2 n 8        #3 [...]]]></description>
			<content:encoded><![CDATA[<p>进来闲些，就想把手头正看着的Hull那册options, futures, and other derivatives (6th ed.)中的模型和例子都拿SAS写一遍。先拿ch4: Interest Rate中的一个小东西练手（p.78 Table 4.1），说复利的计算次数对利息的影响。以下，</p>
<blockquote><p>/*************************</p>
<p>A:本金</p>
<p>m: 复利计算的次数</p>
<p>n: 年数</p>
<p>R: 年利率</p>
<p>FV: 终值</p>
<p>*************************/</p>
<p>options nodate nonotes nosource;<br />%macro rate(A=,m=,n=,R=);<br />data _null_;<br />    format FV 6.2;<br />    FV=&amp;A*(1+&amp;R/&amp;m)**(&amp;m*&amp;n);<br />    %put _user_;<br />    put FV=;<br />run;<br />%mend rate;<br />proc printto log=&quot;D:\rate.dat&quot; new;<br />%rate(A=100,m=1,n=1,R=0.1)<br />%rate(A=100,m=2,n=1,R=0.1)<br />%rate(A=100,m=4,n=1,R=0.1)<br />%rate(A=100,m=12,n=1,R=0.1)<br />%rate(A=100,m=52,n=1,R=0.1)<br />%rate(A=100,m=365,n=1,R=0.1)<br />proc printto;<br />run;<br />data rate;<br />    infile &quot;D:\rate.dat&quot;;<br />    length m 3.;<br />input #1 m &amp; 8-10<br />        #2 n 8<br />        #3 A 8-10<br />        #4 R 8-10<br />        #5 FV 4-9;<br />if _error_=0 then output;<br />run;<br />proc print data=rate;<br />run;</p>
</blockquote>
<p>以上为适应书上的例子，很多地方写死(hard coding)了。最后的结果跟书上一样，不过以上展示了更多，由各种复利计算次数求出相应的利息，然后从日志文件读出结果再展示：</p>
<blockquote><p>Obs      m    n     A      R       FV  </p>
<p> 1       1    1    100    0.1    110.00<br /> 2       2    1    100    0.1    110.25<br /> 3       4    1    100    0.1    110.38<br /> 4      12    1    100    0.1    110.47<br /> 5      52    1    100    0.1    110.51<br /> 6     365    1    100    0.1    110.52 </p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/08/01/hull%e4%b9%a6%e4%b8%8a%e7%9a%84%e4%b8%80%e4%b8%aa%e5%b0%8f%e4%be%8b%e5%ad%90/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SAS Perl Regular Expression and SAS Regular Expressions (2)</title>
		<link>http://www.jiangtanghu.com/cn/2008/07/08/sas-perl-regular-expression-and-sas-regular-expressions-2/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/07/08/sas-perl-regular-expression-and-sas-regular-expressions-2/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9975</guid>
		<description><![CDATA[可以先参考先前介绍正则表达式的元字符的那篇。 SAS对正则表达式 (Regular Expressions, RX) 的支持，表现在以下两大类函数（包括Call Routines）中： SAS Perl Regular Expressions (PRX)，SAS9开始引进，有10个函数； SAS Regular Expressions (RX) ，SAS6.12就开始支持，5个函数。 这两个正则表达式系统功能类似，只是语法略有差别。它们的对应如下：   SAS Perl Regular Expressions SAS Regular Expressions 版本 SAS9&#8211; SAS6.12&#8211; 函数前缀 PRX RX 定义正则表达式的函数 PRXParse RXParse 定位函数 PRXMatch RXMatch   Call PRXSubstr Call RXSubstr   Call PRXPosn     Call PRXNext     PRXParen   文本替换函数 [...]]]></description>
			<content:encoded><![CDATA[<p><em>可以先参考先前</em><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!393.entry"><em>介绍正则表达式的元字符</em></a><em>的那篇。</em></p>
<p>SAS对正则表达式 (Regular Expressions, RX) 的支持，表现在以下两大类函数（包括Call Routines）中：</p>
<ol>
<li>SAS Perl Regular Expressions (PRX)，SAS9开始引进，有10个函数；  </li>
<li>SAS Regular Expressions (RX) ，SAS6.12就开始支持，5个函数。 </li>
</ol>
<p>这两个正则表达式系统功能类似，只是语法略有差别。它们的对应如下： </p>
<blockquote><table cellspacing="0" cellpadding="2" width="550" border="0">
<tbody>
<tr>
<td valign="top" width="130"> </td>
<td valign="top" width="202">SAS Perl Regular Expressions</td>
<td valign="top" width="215">SAS Regular Expressions</td>
</tr>
<tr>
<td valign="top" width="129">版本</td>
<td valign="top" width="202">SAS9&#8211;</td>
<td valign="top" width="215">SAS6.12&#8211;</td>
</tr>
<tr>
<td valign="top" width="128">函数前缀</td>
<td valign="top" width="202">PRX</td>
<td valign="top" width="215">RX</td>
</tr>
<tr>
<td valign="top" width="128">定义正则表达式的函数</td>
<td valign="top" width="202">PRXParse</td>
<td valign="top" width="215">RXParse</td>
</tr>
<tr>
<td valign="top" width="127">定位函数</td>
<td valign="top" width="202">PRXMatch</td>
<td valign="top" width="215">RXMatch</td>
</tr>
<tr>
<td valign="top" width="127"> </td>
<td valign="top" width="202">Call PRXSubstr</td>
<td valign="top" width="215">Call RXSubstr</td>
</tr>
<tr>
<td valign="top" width="126"> </td>
<td valign="top" width="202">Call PRXPosn</td>
<td valign="top" width="215"> </td>
</tr>
<tr>
<td valign="top" width="127"> </td>
<td valign="top" width="202">Call PRXNext</td>
<td valign="top" width="215"> </td>
</tr>
<tr>
<td valign="top" width="127"> </td>
<td valign="top" width="202">PRXParen</td>
<td valign="top" width="215"> </td>
</tr>
<tr>
<td valign="top" width="127">文本替换函数</td>
<td valign="top" width="202">PRXChange</td>
<td valign="top" width="215"> </td>
</tr>
<tr>
<td valign="top" width="127"> </td>
<td valign="top" width="202">Call PRXChange</td>
<td valign="top" width="215">Call RXChange</td>
</tr>
<tr>
<td valign="top" width="127">释放内存函数</td>
<td valign="top" width="202">Call PRXFree</td>
<td valign="top" width="215">Call RXFree</td>
</tr>
<tr>
<td valign="top" width="127">代码调试函数</td>
<td valign="top" width="202">Call PRXDebug</td>
<td valign="top" width="215"> </td>
</tr>
</tbody>
</table>
</blockquote>
<p>在RX系统中，比如，用$d或$D来表示数字0-9，在PRX中，用\d，\D却表示所有不是数字的字符。同时学习两套系统很容易弄混。建议只使用SAS PRX。</p>
<ol>
<li>PRX提供了更丰富的函数；  </li>
<li>PRX更为人所知；  </li>
<li>PRX据说更有效率。 </li>
</ol>
<p><i>（待续……）</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/07/08/sas-perl-regular-expression-and-sas-regular-expressions-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>在UltraEdit中运行SAS代码-配置图解</title>
		<link>http://www.jiangtanghu.com/cn/2008/05/01/%e5%9c%a8ultraedit%e4%b8%ad%e8%bf%90%e8%a1%8csas%e4%bb%a3%e7%a0%81-%e9%85%8d%e7%bd%ae%e5%9b%be%e8%a7%a3/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/05/01/%e5%9c%a8ultraedit%e4%b8%ad%e8%bf%90%e8%a1%8csas%e4%bb%a3%e7%a0%81-%e9%85%8d%e7%bd%ae%e5%9b%be%e8%a7%a3/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9974</guid>
		<description><![CDATA[在UltraEdit(UE)中编辑SAS代码是很方便的，尤其是同时查看很多不同的脚本时（关于在UE中实现SAS代码高亮显示，见文末）。以前有一篇《在UltraEdit中配置Java编译器》，现在说说如何在UltraEdit(UE)中配置SAS，不完全是玩具功能，偶尔有用。我的测试环境是： UltraEdit Professional Version 14.00a+1 SAS 9.1.3 Service Pack 4 Microsoft Windows  XP Professional Version 2002, Service Pack 2 Intel(R) Core(TM)2 Duo CPU, 1.95GB of RAM 1.UE-&#62;Advanced-&#62;Tool Configuration-&#62;Insert 打开UE，依上面的顺序点击工具栏，你将看到类似下面的Command、Options和Output界面，先在Command栏目，Menu Item Name一栏，写上SAS或者其他能提醒自己的词，在Working Directory一栏填上%p。困难在于Command Line一栏，下面详述之。   2.Start-&#62;All Programs-&#62;SAS-&#62;SAS 9.1(English)-&#62;Properties Command Line一栏涉及如何激活你的SAS系统。在你的机器里，依上点“开始”-&#62;“所有程序”等，你将看到如下对窗口： 我们需要的Target（目标）一栏的字符串，我机器的SAS系统装在D盘，所以这一行是这样的： D:\SAS9\sas.exe -CONFIG D:\SAS9\nls\1d\SASV9.CFG 把以上Target栏中的东西复制到上面提到的Command Line中，后面再加上这么些SAS系统选项（后面再解释）： -noicon -nosplash -batch -sysin %n 所以，最后Command Line一栏看上去是这样的（注意：如果你的SAS系统装在其他路径，Target项目会有所不同）： D:\SAS9\sas.exe -CONFIG D:\SAS9\nls\1d\SASV9.CFG  [...]]]></description>
			<content:encoded><![CDATA[<p>在UltraEdit(UE)中编辑SAS代码是很方便的，尤其是同时查看很多不同的脚本时（关于在UE中实现SAS代码高亮显示，见文末）。以前有一篇《<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!141.entry" target="_blank">在UltraEdit中配置Java编译器</a>》，现在说说如何在UltraEdit(UE)中配置SAS，不完全是玩具功能，偶尔有用。我的测试环境是：<br />
<blockquote>
<p>UltraEdit Professional Version 14.00a+1 </p>
<p>SAS 9.1.3 Service Pack 4 </p>
<p>Microsoft Windows  XP Professional Version 2002, Service Pack 2 </p>
<p>Intel(R) Core(TM)2 Duo CPU, 1.95GB of RAM</p>
</blockquote>
<p>1.UE-&gt;Advanced-&gt;Tool Configuration-&gt;Insert </p>
<p>打开UE，依上面的顺序点击工具栏，你将看到类似下面的Command、Options和Output界面，先在Command栏目，Menu Item Name一栏，写上SAS或者其他能提醒自己的词，在Working Directory一栏填上%p。困难在于Command Line一栏，下面详述之。 </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLzVd5aUzZlWM_T7JK_X-_6UmeulVviflDQB__QZQh9ieDRM6LOZM_KZg1JyA8idM6A?PARTNER=WRITER"><img style="border-width:0px" alt="Command" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLzXcLPQNmWL1wRfZbqelgP-ThSHT08s11gs8MP7dQDFjqfFkwyRLxW2cUMVZn5T1Zc?PARTNER=WRITER" border="0" height="301" width="378" /></a> </p>
<p>  </p>
<p>2.Start-&gt;All Programs-&gt;SAS-&gt;SAS 9.1(English)-&gt;Properties </p>
<p>Command Line一栏涉及如何激活你的SAS系统。在你的机器里，依上点“开始”-&gt;“所有程序”等，你将看到如下对窗口： </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLzwQwfpfPKt_BdLsHPo7PdKFlitAupEz67hhuAqiFBzkbwmVcpM8BYI5c_LNYCYQtY?PARTNER=WRITER"><img style="border-width:0px" alt="Target" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLwKkZU_48KqQECbtzXrEzDHxGRfEbdZj8M1uiea7NNiy1UzzAiP6IZBUAXKl0LnvYY?PARTNER=WRITER" border="0" height="377" width="377" /></a> </p>
<p>我们需要的Target（目标）一栏的字符串，我机器的SAS系统装在D盘，所以这一行是这样的：<br />
<blockquote>
<p>D:\SAS9\sas.exe -CONFIG D:\SAS9\nls\1d\SASV9.CFG</p>
</blockquote>
<p>把以上Target栏中的东西复制到上面提到的Command Line中，后面再加上这么些SAS系统选项（后面再解释）：<br />
<blockquote>
<p><code>-noicon -nosplash -batch -sysin %n</code></p>
</blockquote>
<p><code>所以，最后Command Line一栏看上去是这样的（<strong>注意</strong>：如果你的SAS系统装在其他路径，Target项目会有所不同）：</code><br />
<blockquote>
<p>D:\SAS9\sas.exe -CONFIG D:\SAS9\nls\1d\SASV9.CFG  <code>-noicon -nosplash -batch -sysin %n</code></p>
</blockquote>
<p>3.Options </p>
<p>在Options栏目里，勾上Windows Program和Save all files first。 </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLz9UuP5Z3DYOy72GkG8Ey3fGDRas_-jd3RRB6tQKcZx0Bs5h7PZ84MZ6dL16SFhtoE?PARTNER=WRITER"><img style="border-width:0px" alt="Options" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLxZBqTZ4Iut-HB8TX2TO85cnG_Mnlfcvuv-s4IUhL-aE0-4sx7eOIH5SOKubmbzg8g?PARTNER=WRITER" border="0" height="345" width="399" /></a> </p>
<p>4.Output </p>
<p>在Output栏目里，勾上Output to List Box、Capture Output以及Captured Output。 </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLzt0MxF7r6epdpm3ja-_TQB_V4AAXtFGYIm87V5xE9sjwDIrQOzdyBepWRvBxp51gI?PARTNER=WRITER"><img style="border-width:0px" alt="Output" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLyUmK49eRs8WdqggTHfz6MGq2j-1wdto4TKLDmnoQjhZ3ifSAVUwVUdyagoyRljgZI?PARTNER=WRITER" border="0" height="337" width="398" /></a> </p>
<p>按OK结束。在UE-&gt;Advanced的最下面，你将看到新建成功的SAS项目。大功告成哈尔莫斯。 </p>
<p>/*以上参考<a href="http://mcdc2.missouri.edu/jgb/sas9/usgnotes.html#Ultrabatch" target="_blank">Batch Submission Using Ultraedit</a>，里面UE和SAS的版本都很旧。*/ </p>
<p>  </p>
<p>随便在SAS Help找一段不是特简单的代码，比如下面的，把它们复制到UE，并保存为比如ultraedit.sas，路径在，比如D:\Ultreedit-SAS\，接下来所有的结果都会保存在这个路径下，而且在UE中点File-&gt;Open，也会直接到达这个所谓当前文件夹：<br />
<blockquote>
<p>data Setosa;  </p>
<p>        input SepalLength SepalWidth PetalLength PetalWidth @@;  </p>
<p>        label sepallength=&#8217;Sepal Length in mm.&#8217;  </p>
<p>              sepalwidth=&#8217;Sepal Width in mm.&#8217;  </p>
<p>              petallength=&#8217;Petal Length in mm.&#8217;  </p>
<p>              petalwidth=&#8217;Petal Width in mm.&#8217;;  </p>
<p>        datalines;  </p>
<p>      50 33 14 02  46 34 14 03  46 36 .  02  </p>
<p>      51 33 17 05  55 35 13 02  48 31 16 02  </p>
<p>      52 34 14 02  49 36 14 01  44 32 13 02  </p>
<p>      50 35 16 06  44 30 13 02  47 32 16 02  </p>
<p>      48 30 14 03  51 38 16 02  48 34 19 02  </p>
<p>      50 30 16 02  50 32 12 02  43 30 11 .  </p>
<p>      58 40 12 02  51 38 19 04  49 30 14 02  </p>
<p>      51 35 14 02  50 34 16 04  46 32 14 02  </p>
<p>      57 44 15 04  50 36 14 02  54 34 15 04  </p>
<p>      52 41 15 .   55 42 14 02  49 31 15 02  </p>
<p>      54 39 17 04  50 34 15 02  44 29 14 02  </p>
<p>      47 32 13 02  46 31 15 02  51 34 15 02  </p>
<p>      50 35 13 03  49 31 15 01  54 37 15 02  </p>
<p>      54 39 13 04  51 35 14 03  48 34 16 02  </p>
<p>      48 30 14 01  45 23 13 03  57 38 17 03  </p>
<p>      51 38 15 03  54 34 17 02  51 37 15 04  </p>
<p>      52 35 15 02  53 37 15 02  </p>
<p>      ;  </p>
<p>   ods html;  </p>
<p>   ods graphics on;  </p>
<p>   title &#8216;Fisher (1936) Iris Setosa Data&#8217;;  </p>
<p>   proc corr data=Setosa sscp cov plots;  </p>
<p>      var  sepallength sepalwidth;  </p>
<p>      with petallength petalwidth;  </p>
<p>   run;  </p>
<p>   ods graphics off;  </p>
<p>   ods html close;</p>
</blockquote>
<p>就在这段代码上，点Advanced-&gt;SAS 运行，稍等你就能在D:\Ultreedit-SAS看到所有的结果： </p>
<p><a href="http://k1w87q.bay.livefilestore.com/y1pohvC4hMwCjjpCFfzRyMFeOfvKMkaWLH3ZlIyLobD6_pJwmBYH7-rkP71-7z8lXf9g8PTeIy-NwOcU5k9xuvLLw?PARTNER=WRITER"><img style="border:0px none" alt="Result" src="http://by2.storage.msn.com/y1pH_4B0Rv9wcHrNNCpGX215f7H2gS23IimsDItWOomO6IOjq4nGAVwiDeOFNw8IaFw46siCV_CMhWB4TFeKHeuRwHgswHFWBeZ?PARTNER=WRITER" border="0" height="273" width="495" /></a> </p>
<p>其中，<br />
<blockquote>
<p>ultraedit.sas是我们测试的代码，在UE里编辑和运行；  </p>
<p>ultraedit.log 是这次任务的日志文件，可以用UE打开；  </p>
<p>ultraedit.lst 是list output，可以用UE打开,依次见下： </p>
<p><a href="http://k1w87q.bay.livefilestore.com/y1prDrT2FobR69a-NgHQlQrNCn17TqmV4RAsh5bEu6nl4vO3PgnqWq0QSkOeCX4Lm-6z0wydOMtXAJ_dXIjiIJifWf8gMfcvqrR?PARTNER=WRITER"><img style="border-width:0px" alt="LogList" src="http://by2.storage.msn.com/y1pH_4B0Rv9wcHR-3ihMKBrUKNY19qIvczeuUI9HjqL6zfRQcZtGHiSQp32Qmm91Vd5DqpBxrtlrU9jzWkgSWN3jwFTeiRgghTa?PARTNER=WRITER" border="0" height="356" width="566" /></a> </p>
<p>sashtml.htm 是html output，可以用默认的浏览器打开；  </p>
<p>RecMatrixPlot0.gif是上面程序产生的散点图图片。</p>
</blockquote>
<table border="0" cellpadding="2" cellspacing="0" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://by2.storage.msn.com/y1pH_4B0Rv9wcEBRoSXupY6M3IUknlQ0mPx6Es7Z6cF8ehi3APUEykot8KgxhltPcIsUhVUyartgR7vO_dOEyh4I_1j6P2M9B3f?PARTNER=WRITER"><img style="border:0px none" alt="HtmlOutput" src="http://by2.storage.msn.com/y1pH_4B0Rv9wcEmUFT1kfYcRgynhm2YGoeUTSubpiLuTKvW_zHFQGIboBNnyIIkg5cfbOi3xR1AitT2lFqn4e42KYVjbHaiwmC9?PARTNER=WRITER" border="0" height="260" width="330" /></a> </td>
<td valign="top" width="200"><a href="http://k1w87q.bay.livefilestore.com/y1prDrT2FobR6_brTx2ypx-801oAidhhKzy6vm-3Wo9d-5JLdx-dB_SVEDfBNfZAzWx1lI92YJHk1-vIF-GODCWij8TJ9lPbCV7?PARTNER=WRITER"><img style="border:0px none" alt="Figure" src="http://by2.storage.msn.com/y1pH_4B0Rv9wcH47uHU1AsVP4qVtnE0jKM<br />
I9LsM7DJP0ccdmrxb5WKZoXny30csgZaL1IF7j42WcWTUVD18xIwpdYfNH52eMCGp?PARTNER=WRITER" border="0" height="259" width="367" /></a> </td>
</tr>
</tbody>
</table>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;附录&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  </p>
<p>5.如果以上都没问题，那么我们就可以参详一下在以上设置中碰到的SAS系统选项：<br />
<blockquote>
<p>sysin-specifies to start the SAS System and submit the file in batch mode  </p>
<p>noicon-specifies to restore the main SAS window immediately  </p>
<p>nosplash-specifies to not display the logo screen when the SAS System initiates</p>
</blockquote>
<p>6.关于UE里SAS代码高亮显示，见<a title="http://idmcomp.com/index.php?name=Content&amp;pa=showpage&amp;pid=40" href="http://idmcomp.com/index.php?name=Content&amp;pa=showpage&amp;pid=40">http://idmcomp.com/index.php?name=Content&amp;pa=showpage&amp;pid=40</a>
<div style="margin:0px;padding:0px;display:inline">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>,<a href="http://technorati.com/tags/Ultraedit" rel="tag">Ultraedit</a>,<a href="http://technorati.com/tags/Configutation" rel="tag">Configutation</a>,<a href="http://technorati.com/tags/highlighting" rel="tag">highlighting</a></div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/05/01/%e5%9c%a8ultraedit%e4%b8%ad%e8%bf%90%e8%a1%8csas%e4%bb%a3%e7%a0%81-%e9%85%8d%e7%bd%ae%e5%9b%be%e8%a7%a3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>数学娱乐：男女不均衡及希尔伯特的旅馆</title>
		<link>http://www.jiangtanghu.com/cn/2008/04/02/%e6%95%b0%e5%ad%a6%e5%a8%b1%e4%b9%90%ef%bc%9a%e7%94%b7%e5%a5%b3%e4%b8%8d%e5%9d%87%e8%a1%a1%e5%8f%8a%e5%b8%8c%e5%b0%94%e4%bc%af%e7%89%b9%e7%9a%84%e6%97%85%e9%a6%86/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/04/02/%e6%95%b0%e5%ad%a6%e5%a8%b1%e4%b9%90%ef%bc%9a%e7%94%b7%e5%a5%b3%e4%b8%8d%e5%9d%87%e8%a1%a1%e5%8f%8a%e5%b8%8c%e5%b0%94%e4%bc%af%e7%89%b9%e7%9a%84%e6%97%85%e9%a6%86/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[胡说]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9973</guid>
		<description><![CDATA[好些日子没能更新这个博客，转一个我生活博客里的好玩东西，关于“男女不均衡和希尔伯特的旅馆”： ******************************************************************** 看一个大龄相亲的报道。不均衡的几千万男性同胞，是祖国和人民的一大关注热点。有好事者提议，比如，现在的30岁男，俯视下一代，找个20岁女，到下一辈的30岁男，如法炮制，也找20岁女下手，如果循环往复，神州大地就不存在男女比例不平衡的问题了。咋一听，还以为到了希尔伯特的旅馆。 说，有个人去投宿，但那家旅馆已经满员了，意思是，比如，这家旅馆有很多层，每层就一个房间，每个房间都住了一位客人，是为满员。但旅馆老板有办法，让这个投宿的客人安心入住。首先，他就把这个客人安排在第一层，把原先住在第一层的客人安排到第二层，把原先在第二层的客人安排在第三层，就这么一直挪过去。记住，刚才我们说这家旅馆有很多层，很多的意思是，你总有办法把客人一层一层往上挪，这样，那位原先以为住不到店的客人也就能安排好了。这家旅馆就叫做“希尔伯特的旅馆”，希尔伯特是一个数学家的名字。 理解希尔伯特的旅馆，可以举个例子，比如，有两个无穷可数的数列，一是自然数列，二是偶数数列。无穷是说，这个自然数列从1、2、3、4、5、6、7、8、……等等一直持续下去，这个偶数数列2、4、6、8、…… 也是一直持续下去，可数是说，虽然上面两个数列是无穷的，但是你有兴致，却可以掰着手指头一二三四地跟着数下去。不可数的，比如在数轴上分布得密密麻麻的实数数列，一会是1.1,一会是1.111111111111111111111111111111111111，就叫人没法跟着数了。 扯远了，还是刚才两个无穷数列 A:  1、2、3、4、5、6、7、8、…… B:  2、4、6、8、…… 如果有像A数列展示一样多的旅客，而只有B数列一样多的房间，看着似乎就有一半的人住不了店了（每个房间只能住一个人）。——如果你真的这么想，就要想想上面的希尔伯特旅馆，看看如何有办法让A数列多的人住进B数列多的房间： A:  1、2、3、4、5、6、7、8、…… B:  2、4、6、8、10、12、14、16…… 方案是这样的，想像一下客人全部以自然数列编号，房间都是偶数号，就让编号为1的客人住在B中编号为2的房间，客人2住4号房间，客人3住6号房间，这么一个个数过去，所有的客人都能住上店了。上面的事实有一个惊人的结论，即A数列和B数列，在某种计数下，竟然是一一对应的。一一对应，自然每个客人就都有自己的房间了。说“某种计数”，是按上面的匹配程序走，不是我们一般说的个数。 扯更远了，希尔伯特的旅馆是没问题的。接下来我是想驳斥上面说的循环往复解决男女不平衡问题，那纯粹是扯淡，跟希尔伯特的旅馆，只是有些似是而非的联系。我要睡了（我已发现此命题的一个真正奇妙的证明，但是这页边空白太小，写不下这个证明。……）]]></description>
			<content:encoded><![CDATA[<p>好些日子没能更新这个博客，转一个我生活博客里的好玩东西，关于“<a href="http://panshanghu.spaces.live.com/blog/cns!48FF0CB3CA580A89!1648.entry" target="_blank">男女不均衡和希尔伯特的旅馆</a>”：</p>
<p>******************************************************************** </p>
<p>看一个大龄相亲的报道。不均衡的几千万男性同胞，是祖国和人民的一大关注热点。有好事者提议，比如，现在的30岁男，俯视下一代，找个20岁女，到下一辈的30岁男，如法炮制，也找20岁女下手，如果循环往复，神州大地就不存在男女比例不平衡的问题了。咋一听，还以为到了希尔伯特的旅馆。  </p>
<p>说，有个人去投宿，但那家旅馆已经满员了，意思是，比如，这家旅馆有很多层，每层就一个房间，每个房间都住了一位客人，是为满员。但旅馆老板有办法，让这个投宿的客人安心入住。首先，他就把这个客人安排在第一层，把原先住在第一层的客人安排到第二层，把原先在第二层的客人安排在第三层，就这么一直挪过去。记住，刚才我们说这家旅馆有<strong>很多</strong>层，很多的意思是，你总有办法把客人一层一层往上挪，这样，那位原先以为住不到店的客人也就能安排好了。这家旅馆就叫做“希尔伯特的旅馆”，希尔伯特是一个数学家的名字。  </p>
<p>理解希尔伯特的旅馆，可以举个例子，比如，有两个<strong>无穷可数</strong>的数列，一是自然数列，二是偶数数列。无穷是说，这个自然数列从1、2、3、4、5、6、7、8、……等等一直持续下去，这个偶数数列2、4、6、8、…… 也是一直持续下去，可数是说，虽然上面两个数列是无穷的，但是你有兴致，却可以掰着手指头一二三四地跟着数下去。不可数的，比如在数轴上分布得密密麻麻的实数数列，一会是1.1,一会是1.111111111111111111111111111111111111，就叫人没法跟着数了。  </p>
<p>扯远了，还是刚才两个无穷数列<br />
<blockquote>
<p>A:  1、2、3、4、5、6、7、8、……  </p>
<p>B:  2、4、6、8、……</p>
</blockquote>
<p>如果有像A数列展示一样多的旅客，而只有B数列一样多的房间，看着似乎就有<strong>一半</strong>的人住不了店了（每个房间只能住一个人）。——如果你真的这么想，就要想想上面的希尔伯特旅馆，看看如何有办法让A数列多的人住进B数列多的房间：<br />
<blockquote>
<p>A:  1、2、3、4、5、6、7、8、……  </p>
<p>B:  2、4、6、8、10、12、14、16……</p>
</blockquote>
<p>方案是这样的，想像一下客人全部以自然数列编号，房间都是偶数号，就让编号为1的客人住在B中编号为2的房间，客人2住4号房间，客人3住6号房间，这么一个个数过去，所有的客人都能住上店了。上面的事实有一个惊人的结论，即A数列和B数列，在<strong>某种计数</strong>下，竟然是一一对应的。一一对应，自然每个客人就都有自己的房间了。说“某种计数”，是按上面的匹配程序走，不是我们一般说的个数。  </p>
<p>扯更远了，希尔伯特的旅馆是没问题的。接下来我是想驳斥上面说的循环往复解决男女不平衡问题，那纯粹是扯淡，跟希尔伯特的旅馆，只是有些似是而非的联系。我要睡了（<em>我已发现此命题的一个真正奇妙的证明，但是这页边空白太小，写不下这个证明。……）</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/04/02/%e6%95%b0%e5%ad%a6%e5%a8%b1%e4%b9%90%ef%bc%9a%e7%94%b7%e5%a5%b3%e4%b8%8d%e5%9d%87%e8%a1%a1%e5%8f%8a%e5%b8%8c%e5%b0%94%e4%bc%af%e7%89%b9%e7%9a%84%e6%97%85%e9%a6%86/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>SAS Tips &amp; Chicks: 在几个编辑窗口的切换</title>
		<link>http://www.jiangtanghu.com/cn/2008/03/14/sas-tips-chicks-%e5%9c%a8%e5%87%a0%e4%b8%aa%e7%bc%96%e8%be%91%e7%aa%97%e5%8f%a3%e7%9a%84%e5%88%87%e6%8d%a2/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/03/14/sas-tips-chicks-%e5%9c%a8%e5%87%a0%e4%b8%aa%e7%bc%96%e8%be%91%e7%aa%97%e5%8f%a3%e7%9a%84%e5%88%87%e6%8d%a2/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9972</guid>
		<description><![CDATA[好久没更新，先贴一个小东西，稍些改变一下这空间里的萧条气氛。前些日子有个网友问： 这里我有一个小问题，我在sas里面同时会编写很多程序，但是不知道如何用快捷键在这些编辑界面中切换，我不得不开好几个sas然后用Alt+Tab来切换，这样很麻烦，不知道你有什么tip么？ 答曰： 打开一个SAS.exe。在增强型编辑器里，默认的窗口名为Untitled1，可以不断使用快捷键ctrl+n，这样就能在一个SAS.exe里同时打开很多编辑器窗口，分别是Untitled2、Untitled3、Untitled4之类。 切换。在各个Untitled中，用快捷键ctrl+tab就可以相互切换，试一下。]]></description>
			<content:encoded><![CDATA[<p>好久没更新，先贴一个小东西，稍些改变一下这空间里的萧条气氛。前些日子有个网友问：</p>
<blockquote><p>这里我有一个小问题，我在sas里面同时会编写很多程序，但是不知道如何用快捷键在这些编辑界面中切换，我不得不开好几个sas然后用Alt+Tab来切换，这样很麻烦，不知道你有什么tip么？</p>
</blockquote>
<p>答曰：</p>
<ol>
<li>打开<b>一个</b>SAS.exe。在增强型编辑器里，默认的窗口名为Untitled1，可以不断使用快捷键ctrl+n，这样就能在一个SAS.exe里同时打开很多编辑器窗口，分别是Untitled2、Untitled3、Untitled4之类。  </li>
<li>切换。在各个Untitled中，用快捷键ctrl+tab就可以相互切换，试一下。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/03/14/sas-tips-chicks-%e5%9c%a8%e5%87%a0%e4%b8%aa%e7%bc%96%e8%be%91%e7%aa%97%e5%8f%a3%e7%9a%84%e5%88%87%e6%8d%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAS在TIOBE的最近排名</title>
		<link>http://www.jiangtanghu.com/cn/2008/03/05/sas%e5%9c%a8tiobe%e7%9a%84%e6%9c%80%e8%bf%91%e6%8e%92%e5%90%8d/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/03/05/sas%e5%9c%a8tiobe%e7%9a%84%e6%9c%80%e8%bf%91%e6%8e%92%e5%90%8d/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9971</guid>
		<description><![CDATA[TIOBE程序语言排名是各种语言流行程度的指标，每月更新。它的评分是参考全球范围内的技术工程师、讲师以及第三方厂商的意见，通过google、MSN、Yahoo!等常用的搜索引擎来计算每种程序设计语言的流行指数。TIOBE排行榜是程序员查看自己掌握的编程技能是否过时的权威参考。具体的评分标准，可以参阅其官分评分文档。现在最新的排行榜是（前20名，2008年3月）：   只是些细微的月度变化，通用编程语言还是Java、C\C++，脚本语言还是3P（PHP、Perl、Python）的天下。上面把Delphi和Pascal单列，无疑削弱了Pascal的排名。SQL的扩展语言PL/SQL入榜，表明了Oracle管理员和程序员在数据库领域的地位（SQL不是TIOBE定义的编程语言，PL/SQL才是过程式的程序语言）。上面还有一个有趣的语言就是COBOL，最近似乎有兴起之势，有兴趣可以读读这篇《一个COBOL程序员的自白》。接下来我感兴趣的是SAS。 SAS这个月的排名是14，去年同期的排名是11，不过还保持了上两个月内评分超过0.7%的增长率，因此还有A-的评分。SAS排名的变动如下： 波动是够大的，不过总体的上升趋势还是比较明显。大致地，01年比较平淡，02年降些，03年又有极大的拉升，04年初有减弱现象，不过把一个相对高的分数带给了05年，然后整个05年就在一个水平波动，整个06是SAS最被关注的时候，而整个07年就一直走下坡路。今年年初，SAS的被关注程度还在往下跌，不过按着以前的模式，SAS在年初的表现一般都不怎么惹人注目。现在SAS的被关注程度正处于谷底，整个08年排名的上升趋势还是挺乐观的。以上展示的是逐月波动，对照一下同期其他流行语言的情况，你对类似波动的理解就会全面些： 顺便提一下，现在这个排行榜，Fortran是24名，Matlab是26，R是45，Maple、Mathematica、SPSS的排名更在50之外。 Technorati Tags: SAS,TIOBE]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank">TIOBE</a>程序语言排名是各种语言流行程度的指标，每月更新。它的评分是参考全球范围内的技术工程师、讲师以及第三方厂商的意见，通过google、MSN、Yahoo!等常用的搜索引擎来计算每种程序设计语言的流行指数。TIOBE排行榜是程序员查看自己掌握的编程技能是否过时的权威参考。具体的评分标准，可以参阅其<a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm" target="_blank">官分评分文档</a>。现在最新的排行榜是（前20名，2008年3月）：</p>
<p> <a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLzEPjeiWieRhNmntDwiQ0CTnLdepLpbFJScbBdhLnes5ShNVEfrpbLW47I1OWE8nXs?PARTNER=WRITER"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="432" alt="ti" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLxpnK2VzBDc3fMVAKW7l3PFOWR2TuR29RbiNzxACStnP9yty9JQdfeAoaAthEx621E?PARTNER=WRITER" width="508" border="0" /></a> </p>
<p> 只是些细微的月度变化，通用编程语言还是Java、C\C++，脚本语言还是3P（PHP、Perl、Python）的天下。上面把Delphi和Pascal单列，无疑削弱了Pascal的排名。SQL的扩展语言PL/SQL入榜，表明了Oracle管理员和程序员在数据库领域的地位（SQL不是TIOBE定义的编程语言，PL/SQL才是过程式的程序语言）。上面还有一个有趣的语言就是COBOL，最近似乎有兴起之势，有兴趣可以读读这篇《<a href="http://www.cnbeta.com/articles/49726.htm" target="_blank">一个COBOL程序员的自白</a>》。接下来我感兴趣的是SAS。</p>
<p>SAS这个月的排名是14，去年同期的排名是11，不过还保持了上两个月内评分超过0.7%的增长率，因此还有A-的评分。SAS排名的变动如下：</p>
<p><a href="http://k1w87q.bay.livefilestore.com/y1pohvC4hMwCjhnp7AFZxdLramYA9ndqA6ERQ_R7xhQRkmvplpc14ieNnPoR6QAdxVKnUNRFdGL8YxG2k-6tFhFeA?PARTNER=WRITER"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="359" alt="history_SAS" src="http://by1.storage.msn.com/y1pH_4B0Rv9wcHdEjnPq616dnM0yJ8cWpBKO2fFT_2ZrWkYBTi8Vxd9EY6Y4oZ7xGQrda6i0cM2YVToqol9g8NHmWHgZoSK6LTU?PARTNER=WRITER" width="563" border="0" /></a> </p>
<p>波动是够大的，不过总体的上升趋势还是比较明显。大致地，01年比较平淡，02年降些，03年又有极大的拉升，04年初有减弱现象，不过把一个相对高的分数带给了05年，然后整个05年就在一个水平波动，整个06是SAS最被关注的时候，而整个07年就一直走下坡路。今年年初，SAS的被关注程度还在往下跌，不过按着以前的模式，SAS在年初的表现一般都不怎么惹人注目。现在SAS的被关注程度正处于谷底，整个08年排名的上升趋势还是挺乐观的。以上展示的是逐月波动，对照一下同期其他流行语言的情况，你对类似波动的理解就会全面些：</p>
<table cellspacing="0" cellpadding="2" width="549" border="0">
<tbody>
<tr>
<td valign="top" width="252"><a href="http://k1w87q.bay.livefilestore.com/y1prDrT2FobR6-nkKC07x8JZiXj7-GyNfg0jLUZ1l-5B9YhQMeut2tpk_YDnmoIUSH1sAoYDGkHufVZfMcjvd8Usyd1bXR05faj?PARTNER=WRITER"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height="291" alt="history_Java" src="http://by1.storage.msn.com/y1pH_4B0Rv9wcHP1ulukjHUOhUrTVNP26HX_qU1vgXmSoRGiUGpE6dABSA4x1dQjqJ841YRWEGwjwQTIQxpGz3Fe6AGqt6tLmg6?PARTNER=WRITER" width="317" border="0" /></a> </td>
<td valign="top" width="295"><a href="http://k1w87q.bay.livefilestore.com/y1prDrT2FobR68XHRpMfeDwnjK7a3qog269BkCjVcWzmJwBGP0Q7GPe4Cvu30GNg5__Zmf8bAQIbBGeVqlbJiiFOdtqNGCS2uDY?PARTNER=WRITER"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height="291" alt="history_Perl" src="http://by1.storage.msn.com/y1pH_4B0Rv9wcG5ykfyur6yo8kEItpIN2v2DEK8mxWs9yn0CF4WLCVTPIXP8AQzpaYWTdTx6fymVjtbtJTEcTzrpCEWGNGJxWZV?PARTNER=WRITER" width="323" border="0" /></a> </td>
</tr>
</tbody>
</table>
<p>顺便提一下，现在这个排行榜，Fortran是24名，Matlab是26，R是45，Maple、Mathematica、SPSS的排名更在50之外。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>,<a href="http://technorati.com/tags/TIOBE" rel="tag">TIOBE</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/03/05/sas%e5%9c%a8tiobe%e7%9a%84%e6%9c%80%e8%bf%91%e6%8e%92%e5%90%8d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SAS Tips &amp; Chicks: 笛卡尔乘积、求连续数列的累积和</title>
		<link>http://www.jiangtanghu.com/cn/2008/02/26/sas-tips-chicks-%e7%ac%9b%e5%8d%a1%e5%b0%94%e4%b9%98%e7%a7%af%e3%80%81%e6%b1%82%e8%bf%9e%e7%bb%ad%e6%95%b0%e5%88%97%e7%9a%84%e7%b4%af%e7%a7%af%e5%92%8c/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/02/26/sas-tips-chicks-%e7%ac%9b%e5%8d%a1%e5%b0%94%e4%b9%98%e7%a7%af%e3%80%81%e6%b1%82%e8%bf%9e%e7%bb%ad%e6%95%b0%e5%88%97%e7%9a%84%e7%b4%af%e7%a7%af%e5%92%8c/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9970</guid>
		<description><![CDATA[笛卡尔乘积(Cartesian Product)返回几个集合中所有元素的组合情况。比如数据a中存有3种车型的数据，数据b中存有两种可能的颜色，则笛卡尔乘积运算则返回3×2=6种可能的排列，新的数据看起来像这个样子： Obs    car    color 1      a       A2      a       B3      b       A4      b       B5      c       A6      c       B 两种解决方案，一是data步： data a;    input car$;cards;abc; data b;    input color$;cards;AB; data ab;    set a;    do i=1 to n;        set b point=i nobs=n;        output;    end;run;proc print data=ab;run; proc sql可能会直观些： proc sql;    create table ab2 as        select a.*,b.color        from a,b;quit;proc [...]]]></description>
			<content:encoded><![CDATA[<p><strong>笛卡尔乘积</strong>(Cartesian Product)返回几个集合中所有元素的组合情况。比如数据a中存有3种车型的数据，数据b中存有两种可能的颜色，则笛卡尔乘积运算则返回3×2=6种可能的排列，新的数据看起来像这个样子：<br />
<blockquote>
<p>Obs    car    color  </p>
<p>1      a       A<br />2      a       B<br />3      b       A<br />4      b       B<br />5      c       A<br />6      c       B </p>
</blockquote>
<p>两种解决方案，一是data步：<br />
<blockquote>
<p>data a;<br />    input car$;<br />cards;<br />a<br />b<br />c<br />;</p>
<p>data b;<br />    input color$;<br />cards;<br />A<br />B<br />; </p>
<p>data ab;<br />    set a;<br />    do i=1 to n;<br />        set b point=i nobs=n;<br />        output;<br />    end;<br />run;<br />proc print data=ab;run;</p>
</blockquote>
<p>proc sql可能会直观些：<br />
<blockquote>
<p>proc sql;<br />    create table ab2 as<br />        select a.*,b.color<br />        from a,b;<br />quit;<br />proc print data=ab2;run;</p>
</blockquote>
<p>又，SAS求职者面试中一道传统的题就是，<strong>求一个连续数列的累计和</strong>，比如求1到100中所有奇数的和。两个直观的解答是：<br />
<blockquote>
<p>data a;<br />    do i=1 to 10;<br />        *retain j 0;<br />        if mod(i,2) ne 0 then j=sum(j,i);<br />        if mod(i,2) ne 0 then output;        <br />    end;<br />run;  </p>
<p>data b;<br />    do i=1 to 10 by 2;<br />        j+i;<br />        output;<br />    end;<br />run; </p>
</blockquote>
<p>这里值得一提的是第二种解答中，用了一个SAS专用的求和语句“<strong>变量名+表达式</strong>”(j+i)。这个求和语句的好处就是它集成了retain语句和sum函数的一些功能，而且使赋值语句更为简洁。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>,<a href="http://technorati.com/tags/%e7%ac%9b%e5%8d%a1%e5%b0%94%e4%b9%98%e7%a7%af" rel="tag">笛卡尔乘积</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/02/26/sas-tips-chicks-%e7%ac%9b%e5%8d%a1%e5%b0%94%e4%b9%98%e7%a7%af%e3%80%81%e6%b1%82%e8%bf%9e%e7%bb%ad%e6%95%b0%e5%88%97%e7%9a%84%e7%b4%af%e7%a7%af%e5%92%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>所有技术博客：截止08-02-25</title>
		<link>http://www.jiangtanghu.com/cn/2008/02/26/%e6%89%80%e6%9c%89%e6%8a%80%e6%9c%af%e5%8d%9a%e5%ae%a2%ef%bc%9a%e6%88%aa%e6%ad%a208-02-25/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/02/26/%e6%89%80%e6%9c%89%e6%8a%80%e6%9c%af%e5%8d%9a%e5%ae%a2%ef%bc%9a%e6%88%aa%e6%ad%a208-02-25/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[胡说]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9969</guid>
		<description><![CDATA[在BiCubes新开了一个（又是所谓）的技术博客，也叫“技止于此”,与这个space互为镜像了。同时整理了一下这里所有的文章： SAS SAS与Perl正则表达式（1）：元字符 SAS Logistic回归：一个完整例子   SAS和蒙特卡罗模拟（3）：SAS随机数函数及CALL子程序 SAS和蒙特卡罗模拟（2）：随机数基础 SAS和蒙特卡罗模拟（1）：开篇   用SAS读入原始数据（2）：PC文件 用SAS读入原始数据（1）：文本文件（续） 用SAS读入原始数据（1）：文本文件   SAS Tips &#38;Tricks：按组求累加值 答客问：SAS对列求和 SAS备忘录：format和informat SAS学习笔记（4）:Editing and Debugging SAS Programs SAS学习笔记（3）:Referencing Files and Setting Options SAS学习笔记（2）：Using the Programming Workspace SAS学习笔记（1）：Basic Concepts SAS学习笔记：开篇   几个SAS编辑器里的快捷键 一组常用的SAS快捷键和命令（一）：入门阶段 SAS Macro的面对对象解释-一个附会 推荐书：朱世武老师的《SAS编程技术与金融数据处理》 SAS Base 金融函数 SAS程序员必备的十大技巧 How to pronounce SAS ?   数据挖掘 决策树的构造——一个手工例子 最大熵模型：读书笔记 [...]]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://www.bicubes.com" target="_blank">BiCubes</a>新开了一个（又是所谓）的技术博客，也叫“<a href="http://blog.bicubes.com/JohnTown" target="_blank">技止于此</a>”,与这个space互为镜像了。同时整理了一下这里所有的文章：</p>
<p>SAS</p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!393.entry" target="_blank">SAS与Perl正则表达式（1）：元字符</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!149.entry" target="_blank">SAS Logistic回归：一个完整例子</a></p>
<p> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!379.entry" target="_blank">SAS和蒙特卡罗模拟（3）：SAS随机数函数及CALL子程序</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!369.entry" target="_blank">SAS和蒙特卡罗模拟（2）：随机数基础</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!362.entry" target="_blank">SAS和蒙特卡罗模拟（1）：开篇</a></p>
<p> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!380.entry" target="_blank">用SAS读入原始数据（2）：PC文件</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!378.entry" target="_blank">用SAS读入原始数据（1）：文本文件（续）</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!376.entry" target="_blank">用SAS读入原始数据（1）：文本文件</a></p>
<p> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!367.entry" target="_blank">SAS Tips &amp;Tricks：按组求累加值</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!330.entry" target="_blank">答客问：SAS对列求和</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!329.entry" target="_blank">SAS备忘录：format和informat</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!300.entry" target="_blank">SAS学习笔记（4）:Editing and Debugging SAS Programs</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!298.entry" target="_blank">SAS学习笔记（3）:Referencing Files and Setting Options</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!286.entry" target="_blank">SAS学习笔记（2）：Using the Programming Workspace</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!276.entry" target="_blank">SAS学习笔记（1）：Basic Concepts</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!275.entry" target="_blank">SAS学习笔记：开篇</a></p>
<p> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!382.entry" target="_blank">几个SAS编辑器里的快捷键</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!143.entry" target="_blank">一组常用的SAS快捷键和命令（一）：入门阶段</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!302.entry" target="_blank">SAS Macro的面对对象解释-一个附会</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!131.entry" target="_blank">推荐书：朱世武老师的《SAS编程技术与金融数据处理》</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!333.entry" target="_blank">SAS Base 金融函数</a></p>
<p><a target="_blank">SAS程序员必备的十大技巧</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!319.entry" target="_blank">How to pronounce SAS ?</a></p>
<p> </p>
<p>数据挖掘</p>
<p><a target="_blank">决策树的构造——一个手工例子</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!246.entry" target="_blank">最大熵模型：读书笔记</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!318.entry" target="_blank">概率、信息和熵</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!336.entry" target="_blank">常见数据挖掘错误：识别和纠正（译稿）</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!386.entry" target="_blank">洗衣机，数据挖掘的物理模型</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!285.entry" target="_blank">神经网络：学习笔记（1）：神经元</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!315.entry" target="_blank">三个有名的决策树算法和它们的叶子</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!148.entry" target="_blank">三个有名的决策树算法：CHAID、CART和C4.5</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!386.entry" target="_blank"></a></p>
<p><a target="_blank">几个有名的数据挖掘与机器学习的练习数据集（一）</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!118.entry" target="_blank">数据挖掘入门书：Roiger&amp;Geatz《数据挖掘教程》清华版2003</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!325.entry" target="_blank">Ryszard Michalski</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!299.entry" target="_blank">数据采集策略：数据挖掘与统计学的一个区别</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!292.entry" target="_blank">KDNuggets调查2007：数据挖掘方法论</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!274.entry" target="_blank">KDnuggets调查：数据挖掘方法和工具</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!252.entry" target="_blank">一款像模像样的数据挖掘软件—AlphaMiner</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!147.entry" target="_blank">数据挖掘——我们能从股市数据得出什么，以及一些算法</a></p>
<p> </p>
<p>统计学备忘录 <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!377.entry" target="_blank">白话统计（2）：中心极限定理</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!375.entry" target="_blank">白话统计（1）：平均数、中位数、众数</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!270.entry" target="_blank">备忘录之主成分分析</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!254.entry" target="_blank">S语言:棕皮书、蓝皮书、白皮书和绿皮书</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!149.entry" target="_blank">SAS Logistic回归：一个完整例子</a></p>
<p>金融计算</p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!344.entry" target="_blank">金融随机过程：备忘录</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!308.entry" target="_blank">提升指数、提升表和提升图</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!345.entry" target="_blank">Excel债券计算函数</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!340.entry" target="_blank">Paul Wilmott&#8217;s Books on Quantitative Finance</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!333.entry" target="_blank">SAS Base 金融函数</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!294.entry" target="_blank">计算股票的贝塔值β</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!257.entry" target="_blank">下载yahoo finance和雅虎财经数据</a></p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!131.entry" target="_blank">推荐书：朱世武老师的《SAS编程技术与金融数据处理》</a> </p>
<p> </p>
<p>其他 <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!339.entry" target="_blank">BNF<br />
标记法：简介</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!338.entry" target="_blank">SQL——在Oracle SQL*Plus里工作（1）：基础篇</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!144.entry" target="_blank">Windows下运用Linux工具（一）：G++/Cyguns</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!142.entry" target="_blank">Excel-备忘录</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!141.entry" target="_blank">在UltraEdit中配置Java编译器</a> <br /><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!115.entry" target="_blank">写在前面——我要经营的技术博客</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/02/26/%e6%89%80%e6%9c%89%e6%8a%80%e6%9c%af%e5%8d%9a%e5%ae%a2%ef%bc%9a%e6%88%aa%e6%ad%a208-02-25/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SAS与Perl正则表达式（1）：元字符</title>
		<link>http://www.jiangtanghu.com/cn/2008/02/24/sas%e4%b8%8eperl%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%ef%bc%881%ef%bc%89%ef%bc%9a%e5%85%83%e5%ad%97%e7%ac%a6/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/02/24/sas%e4%b8%8eperl%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%ef%bc%881%ef%bc%89%ef%bc%9a%e5%85%83%e5%ad%97%e7%ac%a6/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9968</guid>
		<description><![CDATA[基本元字符 元字符 含义 举例 /. . ./ 一个正则表达式的起止 position=prxMatch(&#8216;/world/&#8216;,&#8217;Hello World&#8217;) &#124; 数项之间的一个选择，“或”运算 x&#124;y匹配x或者y () 匹配组。标记一个子表达式的开始和结束位置。相关匹配将被缓存，供以后使用 比如，输入字符串为  abc1 dce2 fg，则 ([a-z]{3}\d) 将产生两次匹配，abc1和dce2   匹配字符 元字符 匹配的字符 举例 备注 . 除换行符(newline)以外的任一字符   要匹配包括换行符的任一字符，使用模式[.\n] \w 任一单词字符，包括A-Z,a-z,0-9和下划线(underscore,_)   在英语中，等价于[A-Za-z0-9_] \W 任一非单词字符 \W可以匹配@ 在英语中，等价于[^A-Za-z0-9_] \s 任一空白字符，包括空格(space)、制表符(tab)、换行符、回车符、中文全角空格等   等价于[\f\n\r\t\v] \S 任一非空白字符   等价于[^\f\n\r\t\v] \d 0-9任一数字 \d\d可以匹配34 等价于[0-9] \D 任一非数字字符 \D\D\D可以匹配abc 等价于[^0-9]]]></description>
			<content:encoded><![CDATA[<p>基本元字符<br />
<table border="0" cellpadding="2" cellspacing="0" width="620">
<tbody>
<tr>
<td valign="top" width="112">元字符 </td>
<td valign="top" width="222">含义 </td>
<td valign="top" width="284">举例 </td>
</tr>
<tr>
<td valign="top" width="111">/. . ./ </td>
<td valign="top" width="221">一个正则表达式的起止 </td>
<td valign="top" width="284">position=prxMatch(&#8216;<font color="#ff0000">/</font>world<font color="#ff0000">/</font>&#8216;,&#8217;Hello World&#8217;) </td>
</tr>
<tr>
<td valign="top" width="111">| </td>
<td valign="top" width="220">数项之间的一个选择，“或”运算 </td>
<td valign="top" width="284">x<font color="#ff0000">|</font>y匹配x或者y </td>
</tr>
<tr>
<td valign="top" width="111">() </td>
<td valign="top" width="219">匹配组。标记一个子表达式的开始和结束位置。相关匹配将被缓存，供以后使用 </td>
<td valign="top" width="284">比如，输入字符串为  abc1 dce2 fg，则 <font color="#ff0000">(</font>[a-z]{3}\d<font color="#ff0000">)</font> 将产生两次匹配，abc1和dce2 </td>
</tr>
</tbody>
</table>
<p>  </p>
<p>匹配字符<br />
<table border="0" cellpadding="2" cellspacing="0" width="638">
<tbody>
<tr>
<td valign="top" width="76">元字符 </td>
<td valign="top" width="222">匹配的字符 </td>
<td valign="top" width="110">举例 </td>
<td valign="top" width="231">备注 </td>
</tr>
<tr>
<td valign="top" width="76">. </td>
<td valign="top" width="221">除换行符(newline)以外的任一字符 </td>
<td valign="top" width="110">  </td>
<td valign="top" width="231">要匹配包括换行符的任一字符，使用模式[<font color="#ff0000">.</font>\n] </td>
</tr>
<tr>
<td valign="top" width="76">\w </td>
<td valign="top" width="220">任一单词字符，包括A-Z,a-z,0-9和下划线(underscore,_) </td>
<td valign="top" width="110">  </td>
<td valign="top" width="231">在英语中，等价于[A-Za-z0-9_] </td>
</tr>
<tr>
<td valign="top" width="75">\W </td>
<td valign="top" width="219">任一非单词字符 </td>
<td valign="top" width="110">\W可以匹配@  </td>
<td valign="top" width="231">在英语中，等价于[^A-Za-z0-9_] </td>
</tr>
<tr>
<td valign="top" width="74">\s </td>
<td valign="top" width="219">任一空白字符，包括空格(space)、制表符(tab)、换行符、回车符、中文全角空格等 </td>
<td valign="top" width="110">  </td>
<td valign="top" width="231">等价于[\f\n\r\t\v] </td>
</tr>
<tr>
<td valign="top" width="74">\S </td>
<td valign="top" width="218">任一非空白字符 </td>
<td valign="top" width="110">  </td>
<td valign="top" width="231">等价于[^\f\n\r\t\v] </td>
</tr>
<tr>
<td valign="top" width="74">\d </td>
<td valign="top" width="217">0-9任一数字 </td>
<td valign="top" width="110">\d\d可以匹配34 </td>
<td valign="top" width="231">等价于[0-9] </td>
</tr>
<tr>
<td valign="top" width="74">\D </td>
<td valign="top" width="218">任一非数字字符 </td>
<td valign="top" width="110">\D\D\D可以匹配abc  </td>
<td valign="top" width="231">等价于[^0-9]</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/02/24/sas%e4%b8%8eperl%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%ef%bc%881%ef%bc%89%ef%bc%9a%e5%85%83%e5%ad%97%e7%ac%a6/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>洗衣机，数据挖掘的物理模型</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/28/%e6%b4%97%e8%a1%a3%e6%9c%ba%ef%bc%8c%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e7%9a%84%e7%89%a9%e7%90%86%e6%a8%a1%e5%9e%8b/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/28/%e6%b4%97%e8%a1%a3%e6%9c%ba%ef%bc%8c%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e7%9a%84%e7%89%a9%e7%90%86%e6%a8%a1%e5%9e%8b/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9967</guid>
		<description><![CDATA[昨天整洗衣机。看着大大小小新新旧旧，机身多赫然印一大字：         Fuzzy Fuzzy Logic，模糊逻辑控制， 大概说&#34;只需按下启动键，从选择程序到漂洗、脱水，实现了全自动的控制。这种模糊逻辑控制的洗衣机可以自动检测洗衣内的衣物重量，从而自动选择水位和洗涤程序，这样不但大大简化了操作步骤，而且可以比较准确的配置水位和洗涤时间，节约了能源。&#34; 看了这些就乐了。原来洗衣机还是这么一个机器学习/数据挖掘的物理模型，一个分类模型吧，输入是一大堆衣物和污渍。一个好的分类模型（洗衣机）要把衣服和污渍尽可能地分离出来，这样洗衣机的输出就是一个二分类变量，比如1代表没有污渍的衣物，0代表污渍。对照洗衣机这么个物理模型，很多问题就可以说开去了。 比如数据挖掘的流程。先从客户手里拿来数据，他们说这衣服你要洗成什么样什么样，如果他们没有见解，我们就说我们能把你们的衣服洗成如何如何。定义好问题，就得准备洗衣粉、脸盆之类的吧。衣服也要进行些预处理，比如一个小物件不适合放进洗衣机，就直接剔掉了。清洗数据，把衣服口袋里的钥匙、小纸条都掏出来，进行分组，比如牛仔裤放一起，床单被罩搁一块。还有一些肉眼就能识别的模式，比如那件裤子上粘的一块大口香糖，用手拨出来就是。诸如此类，数据可以丢进我们的洗衣机了。选用哪个模型？决策树？神经网络？手洗模式？儿童模式？还是Logistic回归？选上一个，我们来设置参数，洗衣机控制面板上那些按钮狂摁一通就是。有时还需要设置阀值，规定模型停止计算的条件，选&#34;洗衣定时&#34;就可以。不管了，把电脑合上，让它跑就是。一个小时后过去看看，电脑屏幕刷出一大块结果，说衣服洗好了。不满意，再加水添洗衣粉。如此反复，期限也快到了，衣服怎么着也得拿出来晾了。衣服洗好了，但还是乱七八糟地躺在洗衣机里，整理一下结果喽，以清晰的方式摆在衣架上，就等着人家来评估实施了。还拿洗衣机说事，为什么有些人那么相信挖掘模型？这个问题还可以这么表述，为什么我那么相信洗衣机，即使是我以前那台老破旧笨？ 数据量庞大，衣服床单一大堆，手工计算几乎不可能。要手洗，耗水耗时间，对我而言，洗干净也几乎不可能。还有，看大伙都用上数据挖掘了，我的衣服还手洗就显得落伍了； 洗衣机自称&#34;模糊控制&#34;，挺咋呼的听着。决策树、神经网络、最大熵、支持向量机，一个个听着也是能耐大，衣服放进去，有指望； 洗衣机跟所有算法一样，都是一个黑箱，把衣服丢进去，设好参数，就等着结果了。要是不满意，再把衣服丢到模型里跑。既然决定不手洗了，而且结果也一定要在某日赶出来，那么你总要把衣服拿出来晾，那时自己也会觉得这模型是好用啊。洗衣店为什么都用洗衣机？似乎手洗的客户不放心，不代表先进生产力。 这样的附会可以一直说开去，大伙可以补充，懒得发挥了，随手记一些： 一些小件衣物不适合放洗衣机，羽绒服最好也不要机洗，说明数据挖掘也不是什么都能对付； 以前听一个商业案例，说某家的某款洗衣机可以洗土豆。好东西。 Fuzzy听着挺厉害，现在还有厂家推出NEURO&#38;FUZZY的概念，好像是三洋吧，据说更加智能更加精确。然后LG也有CHAOS&#38;FUZZY，不知道是炒概念还是真有用。这些我是在说BI界的事，潮流瞬息万变。 …… 吃饭去了。这篇随感写得挺顺，就是老把&#34;洗衣机&#34;敲成&#34;冰箱&#34;。一会想想冰箱像什么。 ********这篇小随感刚发布在TTNN，留在这里做个备份。***************]]></description>
			<content:encoded><![CDATA[<p>昨天整洗衣机。看着大大小小新新旧旧，机身多赫然印一大字：<br />         <strong>Fuzzy</strong></p>
<p>Fuzzy Logic，模糊逻辑控制， 大概说&quot;只需按下启动键，从选择程序到漂洗、脱水，实现了全自动的控制。这种模糊逻辑控制的洗衣机可以自动检测洗衣内的衣物重量，从而自动选择水位和洗涤程序，这样不但大大简化了操作步骤，而且可以比较准确的配置水位和洗涤时间，节约了能源。&quot;</p>
<p>看了这些就乐了。原来洗衣机还是这么一个机器学习/数据挖掘的物理模型，一个分类模型吧，输入是一大堆衣物和污渍。一个好的分类模型（洗衣机）要把衣服和污渍尽可能地分离出来，这样洗衣机的输出就是一个二分类变量，比如1代表没有污渍的衣物，0代表污渍。对照洗衣机这么个物理模型，很多问题就可以说开去了。</p>
<p>比如数据挖掘的流程。先从客户手里拿来数据，他们说这衣服你要洗成什么样什么样，如果他们没有见解，我们就说我们能把你们的衣服洗成如何如何。定义好问题，就得准备洗衣粉、脸盆之类的吧。衣服也要进行些预处理，比如一个小物件不适合放进洗衣机，就直接剔掉了。清洗数据，把衣服口袋里的钥匙、小纸条都掏出来，进行分组，比如牛仔裤放一起，床单被罩搁一块。还有一些肉眼就能识别的模式，比如那件裤子上粘的一块大口香糖，用手拨出来就是。诸如此类，数据可以丢进我们的洗衣机了。选用哪个模型？决策树？神经网络？手洗模式？儿童模式？还是Logistic回归？选上一个，我们来设置参数，洗衣机控制面板上那些按钮狂摁一通就是。有时还需要设置阀值，规定模型停止计算的条件，选&quot;洗衣定时&quot;就可以。不管了，把电脑合上，让它跑就是。一个小时后过去看看，电脑屏幕刷出一大块结果，说衣服洗好了。不满意，再加水添洗衣粉。如此反复，期限也快到了，衣服怎么着也得拿出来晾了。衣服洗好了，但还是乱七八糟地躺在洗衣机里，整理一下结果喽，以清晰的方式摆在衣架上，就等着人家来评估实施了。<br />还拿洗衣机说事，为什么有些人那么相信挖掘模型？这个问题还可以这么表述，为什么我那么相信洗衣机，即使是我以前那台老破旧笨？</p>
<ol>
<li>数据量庞大，衣服床单一大堆，手工计算几乎不可能。要手洗，耗水耗时间，对我而言，洗干净也几乎不可能。还有，看大伙都用上数据挖掘了，我的衣服还手洗就显得落伍了；  </li>
<li>洗衣机自称&quot;模糊控制&quot;，挺咋呼的听着。决策树、神经网络、最大熵、支持向量机，一个个听着也是能耐大，衣服放进去，有指望；  </li>
<li>洗衣机跟所有算法一样，都是一个黑箱，把衣服丢进去，设好参数，就等着结果了。要是不满意，再把衣服丢到模型里跑。既然决定不手洗了，而且结果也一定要在某日赶出来，那么你总要把衣服拿出来晾，那时自己也会觉得这模型是好用啊。洗衣店为什么都用洗衣机？似乎手洗的客户不放心，不代表先进生产力。</li>
</ol>
<p>这样的附会可以一直说开去，大伙可以补充，懒得发挥了，随手记一些：
<ol>
<li>一些小件衣物不适合放洗衣机，羽绒服最好也不要机洗，说明数据挖掘也不是什么都能对付；  </li>
<li>以前听一个商业案例，说某家的某款洗衣机可以洗土豆。好东西。  </li>
<li>Fuzzy听着挺厉害，现在还有厂家推出NEURO&amp;FUZZY的概念，好像是三洋吧，据说更加智能更加精确。然后LG也有CHAOS&amp;FUZZY，不知道是炒概念还是真有用。这些我是在说BI界的事，潮流瞬息万变。  </li>
<li>……</li>
</ol>
<p>吃饭去了。这篇随感写得挺顺，就是老把&quot;洗衣机&quot;敲成&quot;冰箱&quot;。一会想想冰箱像什么。</p>
<p>********这篇小随感刚发布在<a href="http://groups.google.com/group/ttnn" target="_blank">TTNN</a>，留在这里做个备份。***************</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/28/%e6%b4%97%e8%a1%a3%e6%9c%ba%ef%bc%8c%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e7%9a%84%e7%89%a9%e7%90%86%e6%a8%a1%e5%9e%8b/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>几个SAS编辑器里的快捷键</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/26/%e5%87%a0%e4%b8%aasas%e7%bc%96%e8%be%91%e5%99%a8%e9%87%8c%e7%9a%84%e5%bf%ab%e6%8d%b7%e9%94%ae/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/26/%e5%87%a0%e4%b8%aasas%e7%bc%96%e8%be%91%e5%99%a8%e9%87%8c%e7%9a%84%e5%bf%ab%e6%8d%b7%e9%94%ae/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9966</guid>
		<description><![CDATA[快捷键这东西，一次不能学太多，每次记住一个，每个试上五遍就手熟了。先说几个有用的： 把代码注释掉，CTL+/ 取消注释，CTL+SHIFT+/ 大小写切换，CTL+SHIFT+L 、CTL+SHIFT+U 缩进，TAB DO/END的匹配，ALT+[、ALT+] ***********下期预告，《SAS与Perl正则表达式》****************]]></description>
			<content:encoded><![CDATA[<p>快捷键这东西，一次不能学太多，每次记住一个，每个试上五遍就手熟了。先说几个有用的：</p>
<ol>
<li>把代码注释掉，CTL+/</li>
<li>取消注释，CTL+SHIFT+/</li>
<li>大小写切换，CTL+SHIFT+L 、CTL+SHIFT+U</li>
<li>缩进，TAB</li>
<li>DO/END的匹配，ALT+[、ALT+]</li>
</ol>
<p>***********下期预告，《SAS与Perl正则表达式》****************</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/26/%e5%87%a0%e4%b8%aasas%e7%bc%96%e8%be%91%e5%99%a8%e9%87%8c%e7%9a%84%e5%bf%ab%e6%8d%b7%e9%94%ae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用SAS读入原始数据（2）：PC文件</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/22/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%882%ef%bc%89%ef%bc%9apc%e6%96%87%e4%bb%b6/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/22/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%882%ef%bc%89%ef%bc%9apc%e6%96%87%e4%bb%b6/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9965</guid>
		<description><![CDATA[***************************************************** 用SAS读入原始数据（1）：文本文件 用SAS读入原始数据（1）：文本文件（续） **************************************************** 引例：读入.csv文件（带逗号分隔的文本文件） 在用SAS读入原始数据（1）：文本文件提到过后缀名为.csv的文件（带逗号分隔的文本文件），可以采用列举输入模式读入。比如下面的数据，第一行是变量名，另两行是记录，你把它贴到记事本，然后另存为.csv格式，比如叫a.csv，就存于C:\： Name,Job,Department,PhoneNum&#34;Brown, Ann&#34;,112,Publications,2587&#34;Krueger, John&#34;,,Sales,3456 利用带修饰的列举输入模式，可以这么读入： data a1;    infile &#8216;C:\a.csv&#8217; firstobs=2 dsd;    input Name:$ 12. Job Department:$12. PhoneNum;run; 由于源文件是以逗号为分割符，但逗号同时是Name这一字段的分隔符，所以infile语句后面加了一个dsd，见《用SAS读入原始数据（1）：文本文件（续）》。 幸运的是，.csv同时也是SAS支持的所谓PC Files之一。对所有的PC数据文件，读入语句看上去是这样的： proc import     datafile=&#8217;C\a.csv&#8217;    out=a2    dbms=csv replace;run; 上面两段脚本具有同样的功效。 PC文件及其DBMS标识 proc import的一般语句为： proc import    datafile=&#8217;文件名及盘符&#8217;    out=自定义的数据集名    dbms=DBMS标识符 replase;    &#60;其他可选项&#62;;run; 上面dbms标识符就是SAS系统能识别的PC文件标志。你可以在SAS-File-Import Data-Standard Data Sourse中找到PC文件的下拉列表。几个常用的有： DBMS标识符 后缀 描述 Excel2000 .xls Microsoft Excel 97, [...]]]></description>
			<content:encoded><![CDATA[<p>***************************************************** </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!376.entry" target="_blank">用SAS读入原始数据（1）：文本文件</a> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!378.entry" target="_blank">用SAS读入原始数据（1）：文本文件（续）</a> </p>
<p>**************************************************** </p>
<p><strong>引例：读入.csv文件（带逗号分隔的文本文件）</strong> </p>
<p>在<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!376.entry" target="_blank">用SAS读入原始数据（1）：文本文件</a>提到过后缀名为.csv的文件（带逗号分隔的文本文件），可以采用列举输入模式读入。比如下面的数据，第一行是变量名，另两行是记录，你把它贴到记事本，然后另存为.csv格式，比如叫a.csv，就存于C:\：<br />
<blockquote>
<p>Name,Job,Department,PhoneNum<br />&quot;Brown, Ann&quot;,112,Publications,2587<br />&quot;Krueger, John&quot;,,Sales,3456 </p>
</blockquote>
<p>利用带修饰的列举输入模式，可以这么读入：<br />
<blockquote>
<p>data a1;<br />    infile &#8216;C:\a.csv&#8217; firstobs=2 <font color="#ff0000">dsd</font>;<br />    input Name:$ 12. Job Department:$12. PhoneNum;<br />run;</p>
</blockquote>
<p>由于源文件是以逗号为分割符，但逗号同时是Name这一字段的分隔符，所以infile语句后面加了一个<font color="#ff0000">dsd</font><font color="#000000">，见</font><font color="#000000"><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!378.entry" target="_blank">《用SAS读入原始数据（1）：文本文件（续）》</a>。</font> </p>
<p>幸运的是，.csv同时也是SAS支持的所谓PC Files之一。对所有的PC数据文件，读入语句看上去是这样的：<br />
<blockquote>
<p>proc import <br />    datafile=&#8217;C\a.csv&#8217;<br />    out=a2<br />    dbms=csv replace<font color="#ff0000">;</font><br />run;</p>
</blockquote>
<p>上面两段脚本具有同样的功效。  </p>
<p><strong>PC文件及其DBMS标识</strong> </p>
<p>proc import的一般语句为：<br />
<blockquote>
<p>proc import<br />    datafile=&#8217;文件名及盘符&#8217;<br />    out=自定义的数据集名<br />    dbms=DBMS标识符 replase<font color="#ff0000">;<br /></font>    &lt;其他可选项&gt;;<br />run;</p>
</blockquote>
<p>上面dbms标识符就是SAS系统能识别的PC文件标志。你可以在SAS-File-Import Data-Standard Data Sourse中找到PC文件的下拉列表。几个常用的有：<br />
<blockquote>
<table border="0" cellpadding="2" cellspacing="0" width="587">
<tbody>
<tr>
<td valign="top" width="134">DBMS标识符 </td>
<td valign="top" width="132">后缀 </td>
<td valign="top" width="319">描述 </td>
</tr>
<tr>
<td valign="top" width="135">Excel2000 </td>
<td valign="top" width="133">.xls </td>
<td valign="top" width="319">Microsoft Excel 97, 2000 or 2002 Workbook </td>
</tr>
<tr>
<td valign="top" width="135">csv </td>
<td valign="top" width="134">.csv </td>
<td valign="top" width="319">Comma Separated Values (*.csv)，分隔符为逗号 </td>
</tr>
<tr>
<td valign="top" width="136">Access </td>
<td valign="top" width="134">.mdb </td>
<td valign="top" width="319">Microsoft Access 97 Database</td>
</tr>
</tbody>
</table>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/22/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%882%ef%bc%89%ef%bc%9apc%e6%96%87%e4%bb%b6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SAS和蒙特卡罗模拟（3）：SAS随机数函数及CALL子程序</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/22/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%883%ef%bc%89%ef%bc%9asas%e9%9a%8f%e6%9c%ba%e6%95%b0%e5%87%bd%e6%95%b0%e5%8f%8acall%e5%ad%90%e7%a8%8b%e5%ba%8f/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/22/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%883%ef%bc%89%ef%bc%9asas%e9%9a%8f%e6%9c%ba%e6%95%b0%e5%87%bd%e6%95%b0%e5%8f%8acall%e5%ad%90%e7%a8%8b%e5%ba%8f/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9964</guid>
		<description><![CDATA[************************************************************************************************************************** 《SAS和蒙特卡罗模拟（1）：开篇》——简介，通过例子建立起蒙卡的直观概念；参考软件包及书目 《SAS和蒙特卡罗模拟（2）：随机数基础》——随机数入门；参考书目 ************************************************************************************************************************************************** 一、SAS随机数函数和CALL子程序  SAS系统产生随机数，两种方式，利用SAS函数(Functions)或者CALL子程序(CALL Routines)，它们的语法格式是（具体的区别容后讨论）：           方式           代码                         说明 函数 var=name(seed,&#60;arg&#62;) var为存储随机数列的变量，name为特定的分布函数形式，seed为随机数种子，&#60;arg&#62;为特定分布要求的参数（可选） CALL子程序 call name(seed,&#60;arg&#62;,var) 同上,记得seed=0, ±1,±2, , ± (2**31-2)]]></description>
			<content:encoded><![CDATA[<h4>**************************************************************************************************************************</h4>
<blockquote><p>《<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!362.entry" target="_blank">SAS和蒙特卡罗模拟（1）：开篇</a>》——简介，通过例子建立起蒙卡的直观概念；参考软件包及书目 </p>
<p>《<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!369.entry" target="_blank">SAS和蒙特卡罗模拟（2）：随机数基础</a>》——随机数入门；参考书目</p>
</blockquote>
<p>************************************************************************************************************************************************** </p>
<p><strong>一、SAS随机数函数和CALL子程序</strong>  </p>
<p>SAS系统产生随机数，两种方式，利用SAS函数(Functions)或者CALL子程序(CALL Routines)，它们的语法格式是（具体的区别容后讨论）：<br />
<blockquote>
<table border="1" cellpadding="2" cellspacing="0" width="597">
<tbody>
<tr>
<td valign="top" width="130">          方式 </td>
<td valign="top" width="186">          代码 </td>
<td valign="top" width="279">                        说明 </td>
</tr>
<tr>
<td valign="top" width="131">函数 </td>
<td valign="top" width="188"> var=<em>name</em>(seed,&lt;arg&gt;) </td>
<td valign="top" width="277"> var为存储随机数列的变量，<em>name</em>为特定的分布函数形式，seed为随机数种子，&lt;arg&gt;为特定分布要求的参数（可选） </td>
</tr>
<tr>
<td valign="top" width="132">CALL子程序 </td>
<td valign="top" width="189">call <em>name</em>(seed,&lt;arg&gt;,var) </td>
<td valign="top" width="276"> 同上,记得seed=0, ±1,±2, , ± (2**31-2)</td>
</tr>
</tbody>
</table>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/22/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%883%ef%bc%89%ef%bc%9asas%e9%9a%8f%e6%9c%ba%e6%95%b0%e5%87%bd%e6%95%b0%e5%8f%8acall%e5%ad%90%e7%a8%8b%e5%ba%8f/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>用SAS读入原始数据（1）：文本文件（续）</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/21/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%881%ef%bc%89%ef%bc%9a%e6%96%87%e6%9c%ac%e6%96%87%e4%bb%b6%ef%bc%88%e7%bb%ad%ef%bc%89/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/21/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%881%ef%bc%89%ef%bc%9a%e6%96%87%e6%9c%ac%e6%96%87%e4%bb%b6%ef%bc%88%e7%bb%ad%ef%bc%89/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9963</guid>
		<description><![CDATA[***************************************************** 用SAS读入原始数据（1）：文本文件 **************************************************** 总结一下，有两种文本文件，及其对应的读入方法： 字段固定(Fixed Filed)——列输入模式(Column)、格式化输入模式(Formatted) 分隔符固定(Delimited Data)——列举输入模式(List) 对字段固定的文本文件，列输入模式： 对数值变量，只能读入标准数据，包括正负号、小数点、数字、和由E构成的科学计数； 不能够读入日期时间，以及包含美元符号、逗号等字符的数值； 对字段的选择非常灵活，可以任意选择字段和读入的次序。 格式化输入模式： 由指针控制读入的列数； 可以设定输入格式。 对分隔符固定的文本文件，列举输入模式： 对分隔符固定的文本文件，系统根据分隔符就能区分各个变量，对系统默认的以空格为分隔符的数据文件，列举输入模式的input语句最为简单： input 变量名&#60;s&#62;; 以下是一些扩展： 如果源文件不是以空格为分隔符，比如是用逗号做分隔符，那么需要在infile语句后面加上 dlm=&#34;,&#34;     ； 如果要读入超过8个字节的字符型变量，可以在数据步中加上一个length语句； 如果要使用输入格式，可以采用带修饰的列举模式，它的input语句类似input a $:12.; 在源数据文件中，比如是以逗号为分隔符，但文件中逗号还可能作为其中字符串的分隔符，这样就需要在infile语句中加上 dsd    ； 最后，在实际工作中，可能需要混合使用以上几种输入模式，见汪嘉冈（2001，P.111）。 参考资料： 汪嘉冈《SAS V8基础教程》，北京：中国统计出版社，2001 SAS OnlineTutor: Basic and Intermediate SAS Technorati Tags: SAS]]></description>
			<content:encoded><![CDATA[<p>***************************************************** </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!376.entry" target="_blank">用SAS读入原始数据（1）：文本文件</a> </p>
<p>**************************************************** </p>
<p>总结一下，有两种文本文件，及其对应的读入方法：
<ol>
<li>字段固定(Fixed Filed)——列输入模式(Column)、格式化输入模式(Formatted)  </li>
<li>分隔符固定(Delimited Data)——列举输入模式(List)</li>
</ol>
<p>对<strong>字段固定</strong>的文本文件，<strong>列输入模式</strong>：
<ol>
<li>对数值变量，只能读入标准数据，包括正负号、小数点、数字、和由E构成的科学计数；  </li>
<li>不能够读入日期时间，以及包含美元符号、逗号等字符的数值；  </li>
<li>对字段的选择非常灵活，可以任意选择字段和读入的次序。</li>
</ol>
<p><strong>格式化输入模式</strong>：
<ol>
<li>由指针控制读入的列数；  </li>
<li>可以设定输入格式。</li>
</ol>
<p>对<strong>分隔符固定</strong>的文本文件，<strong>列举输入模式</strong>： </p>
<p>对分隔符固定的文本文件，系统根据分隔符就能区分各个变量，对系统默认的以<strong>空格</strong>为分隔符的数据文件，列举输入模式的input语句最为简单：<br />
<blockquote>
<p>input 变量名&lt;s&gt;;</p>
</blockquote>
<p>以下是一些扩展：
<ol>
<li>如果源文件不是以空格为分隔符，比如是用逗号做分隔符，那么需要在infile语句后面加上 <em>dlm=&quot;,&quot;</em>     ；  </li>
<li>如果要读入超过8个字节的字符型变量，可以在数据步中加上一个length语句；  </li>
<li>如果要使用输入格式，可以采用带修饰的列举模式，它的input语句类似<em>input a $<font color="#ff0000">:</font>12.;</em> </li>
<li>在源数据文件中，比如是以逗号为分隔符，但文件中逗号还可能作为其中字符串的分隔符，这样就需要在infile语句中加上 <em>dsd</em>    ；</li>
</ol>
<p>最后，<strong>在实际工作中，可能需要混合使用以上几种输入模式，</strong>见汪嘉冈（2001，P.111）。 </p>
<p>参考资料：
<ol>
<li>汪嘉冈《SAS V8基础教程》，北京：中国统计出版社，2001  </li>
<li>SAS OnlineTutor: Basic and Intermediate SAS</li>
</ol>
<div style="margin:0px;padding:0px;display:inline">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/21/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%881%ef%bc%89%ef%bc%9a%e6%96%87%e6%9c%ac%e6%96%87%e4%bb%b6%ef%bc%88%e7%bb%ad%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>白话统计（2）：中心极限定理</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/21/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%882%ef%bc%89%ef%bc%9a%e4%b8%ad%e5%bf%83%e6%9e%81%e9%99%90%e5%ae%9a%e7%90%86/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/21/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%882%ef%bc%89%ef%bc%9a%e4%b8%ad%e5%bf%83%e6%9e%81%e9%99%90%e5%ae%9a%e7%90%86/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[统计备忘录]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9962</guid>
		<description><![CDATA[*************本书给你数理统计的直观**************************** 资料来自美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986） 《白话统计（1）：平均数、中位数、众数》 ************************************************************************* 定理1：（中心极限定理）假定大量的等容量随机样本都是从同一无限总体采样的，算出每个样本的和，并把不同样本的和放在一起以形成一个新的分布，于是这个新的分布就是渐近正态的（其中要假定产生这些和的随机样本每个容量是足够大）。 在传统概率论教科书上，一般会这么陈述这个定理： 定理1`：（独立同分布的中心极限定理）设随机变量X1，…Xn，…相互独立，服从同一分布，且具有相同的数学期望和方差，则随机变量之和ΣXi的标准化变量服从标准正态分布。 演示性例子 想像一个很大的箱子，装满了小纸条，可供我们无穷无尽地抽取，每张纸条上写有一个数字。为简单起见，假定只有0、1、2三个数字，且每个数字出现在每张纸条上的可能性都是1/3。记住，这个箱子里的纸条如此之多，以致我们可以抽取任一数目的任一种纸条，而不必担心会改变箱中剩下的各种纸条之间的比例。 箱子有一个小口，通过它，每次可以释放出一张纸条。箱子还有一个洗牌装置，这种装置会把纸条洗得这样得均匀，以至当我们决定抽取一张时，每张纸条有同样的被释放出来的机会。因此，我们的观察室独立的，而且我们的样本是随机的。 现在我们就来抽取等容量的随机样本，假设每个样本都包含200张纸条。 我们一张一张地抽取200张纸条。比如头一张纸条上的数字是2，第二张纸条的数字是0，第三张纸条是2，如此等等。假设构成这个第一份样本的200张纸条上的数字总和是210，这个和成为所产生的新的分布的第一项。 第二个样本的200张纸条上的数字之和比如是194.对大量的样本，每个样本都包含200张纸条，重复这个过程。定理1告诉我们，这种样本和数越来越多时，样本和的分布近似于正态分布。 如何实际运用定理1 关于定理1，对被抽取样本的那个总体没有要求任何限制。不管被抽取样本的那个总体，其分布的形状如何，样本和的分布都是正态的。 定理1说明，为什么正态分布出现在如此多的不同的问题之中。我们用于纸条取样的那种方法，看来是实际中特别喜欢使用的一种方法。在每次情况中出现的、构成一个正态分布的那些数，都可以看作独立观察资料的等容量样本的和。 例子1。考察射击时围绕靶子构成正态分布的子弹。每一颗子弹击中的位置实际上是许多随机影响的和，比如姿势、风向、光线、心理等等。这些因素和诸如此类因素的影响，同时在一位特定射手的身上起作用；且对于不同的射手，它们是不同的。一个射手的得分，表明他的子弹最终射到何处去了，这个得分是那些随机影响的样本之和。具体地，比如每一个射手的分布式70项主要影响之和，因而每一发子弹的得分，都可以看作是70项的一个样本和（与70张纸条上的那些数字的和相对应）。这样一来，不同射手的得分，就可以看作是不同的等容量样本的和。根据定理1，子弹得分的分布式正态的。 例子2。考察每个人的智力水平，也可以当作出自不同根源的小影响的和来看待，包括营养、机会、性格、遗传等等等等。这么看来，大量的人的智力水平的分布式正态的。 定理2：（定义1的一个变形，平均数的中心极限定理）假定，大量的等容量随机样本是从同一无限总体中采集的，算出每一个样本的平均数，并把不同样本的平均数放到一起形成一个新的分布，于是这个新的分布就是渐近分布的（假定产生这些平均数的随机样本容量是足够大的）。 样本平均数的集合可以通过样本和集合直接得到，因此平均数的分布就是和的分布的一个小比例的变形。样本平均数的分布用两个有用的性质： 假定无穷多个等容量随机样本是从同一无限总体中抽取的，而且把这些样本的平均数放到一起，以构成一个新的分布，那么这个新分布（样本平均数构成的）的均值与原总体的均值相同。 假定无穷多个等容量随机样本是从同一无限总体中抽取的，以n表示每一个样本的容量，这些样本的平均数的分布有一个标准差，它等于原总体的标准差除以n的平方根。 定理2及其两个性质就是我们熟悉的mean(X)~N(μ,σ**2/n)。]]></description>
			<content:encoded><![CDATA[<p>*************本书给你数理统计的直观**************************** </p>
<p>资料来自美国G.H.维恩堡等著的《数理统计初级教程》（常学将等译，太原：山西人民出版社，1986） </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!375.entry" target="_blank">《白话统计（1）：平均数、中位数、众数》</a> </p>
<p>*************************************************************************<br />
<blockquote>
<p><strong>定理1：（中心极限定理）假定大量的等容量随机样本都是从同一无限总体采样的，算出每个样本的和，并把不同样本的和放在一起以形成一个新的分布，于是这个新的分布就是渐近正态的（其中要假定产生这些和的随机样本每个容量是足够大）。</strong></p>
</blockquote>
<p>在传统概率论教科书上，一般会这么陈述这个定理：<br />
<blockquote>
<p>定理1`：（独立同分布的中心极限定理）设随机变量X1，…Xn，…相互独立，服从同一分布，且具有相同的数学期望和方差，则随机变量之和ΣXi的标准化变量服从标准正态分布。</p>
</blockquote>
<blockquote><p>演示性例子</p>
</blockquote>
<p>想像一个很大的箱子，装满了小纸条，可供我们无穷无尽地抽取，每张纸条上写有一个数字。为简单起见，假定只有0、1、2三个数字，且每个数字出现在每张纸条上的可能性都是1/3。记住，这个箱子里的纸条如此之多，以致我们可以抽取任一数目的任一种纸条，而不必担心会改变箱中剩下的各种纸条之间的比例。 </p>
<p>箱子有一个小口，通过它，每次可以释放出一张纸条。箱子还有一个洗牌装置，这种装置会把纸条洗得这样得均匀，以至当我们决定抽取一张时，每张纸条有同样的被释放出来的机会。因此，我们的观察室独立的，而且我们的样本是随机的。 </p>
<p>现在我们就来抽取等容量的随机样本，假设每个样本都包含200张纸条。 </p>
<p>我们一张一张地抽取200张纸条。比如头一张纸条上的数字是2，第二张纸条的数字是0，第三张纸条是2，如此等等。假设构成这个第一份样本的200张纸条上的数字总和是210，这个和成为所产生的新的分布的第一项。 </p>
<p>第二个样本的200张纸条上的数字之和比如是194.对大量的样本，每个样本都包含200张纸条，重复这个过程。定理1告诉我们，这种样本和数越来越多时，样本和的分布近似于正态分布。<br />
<blockquote>
<p>如何实际运用定理1</p>
</blockquote>
<p>关于定理1，对被抽取样本的那个总体没有要求任何限制。不管被抽取样本的那个总体，其分布的形状如何，样本和的分布都是正态的。 </p>
<p>定理1说明，为什么正态分布出现在如此多的不同的问题之中。我们用于纸条取样的那种方法，看来是实际中特别喜欢使用的一种方法。<strong>在每次情况中出现的、构成一个正态分布的那些数，都可以看作独立观察资料的等容量样本的和</strong>。 </p>
<p>例子1。考察射击时围绕靶子构成正态分布的子弹。每一颗子弹击中的位置实际上是许多随机影响的和，比如姿势、风向、光线、心理等等。这些因素和诸如此类因素的影响，同时在一位特定射手的身上起作用；且对于不同的射手，它们是不同的。一个射手的得分，表明他的子弹最终射到何处去了，这个得分是那些随机影响的样本之和。具体地，比如每一个射手的分布式70项主要影响之和，因而每一发子弹的得分，都可以看作是70项的一个样本和（与70张纸条上的那些数字的和相对应）。这样一来，不同射手的得分，就可以看作是不同的等容量样本的和。根据定理1，子弹得分的分布式正态的。 </p>
<p>例子2。考察每个人的智力水平，也可以当作出自不同根源的小影响的和来看待，包括营养、机会、性格、遗传等等等等。这么看来，大量的人的智力水平的分布式正态的。<br />
<blockquote>
<p><strong>定理2：（定义1的一个变形，平均数的中心极限定理）假定，大量的等容量随机样本是从同一无限总体中采集的，算出每一个样本的平均数，并把不同样本的平均数放到一起形成一个新的分布，于是这个新的分布就是渐近分布的（假定产生这些平均数的随机样本容量是足够大的）。</strong></p>
</blockquote>
<p>样本平均数的集合可以通过样本和集合直接得到，因此平均数的分布就是和的分布的一个小比例的变形。样本平均数的分布用两个有用的性质：
<ol>
<li>假定无穷多个等容量随机样本是从同一无限总体中抽取的，而且把这些样本的平均数放到一起，以构成一个新的分布，那么这个新分布（样本平均数构成的）的均值与原总体的均值相同。  </li>
<li>假定无穷多个等容量随机样本是从同一无限总体中抽取的，以n表示每一个样本的容量，这些样本的平均数的分布有一个标准差，它等于原总体的标准差除以n的平方根。</li>
</ol>
<p>定理2及其两个性质就是我们熟悉的mean(X)~N(μ,σ**2/n)。 </p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/21/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%882%ef%bc%89%ef%bc%9a%e4%b8%ad%e5%bf%83%e6%9e%81%e9%99%90%e5%ae%9a%e7%90%86/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>用SAS读入原始数据（1）：文本文件</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/20/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%881%ef%bc%89%ef%bc%9a%e6%96%87%e6%9c%ac%e6%96%87%e4%bb%b6/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/20/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%881%ef%bc%89%ef%bc%9a%e6%96%87%e6%9c%ac%e6%96%87%e4%bb%b6/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9961</guid>
		<description><![CDATA[文本文件多以.txt、.dat以及.csv为后缀（在Unix/Linux世界，还可能出现.data数据甚至没有后缀的情况）。一般分两种，其一看起来跟下面一样——如果用UltraEdit等编辑器打开，你能看到指示列数的标尺，而且每个字段的列数是固定的，称为字段固定(Fixed Fields)的文本文件： 2810 61 MOD  F2804 38 HIGH F 下面的数据中，每个字段的列数不必相同，但都由同一样个的分隔符（这里是逗号）分开，所以称为分隔符固定(Delimited Data)或者自由格式(Free-format)的文件文件。如果分隔符为逗号（通常以.csv为后缀），干脆就叫做“用逗号分隔的文本文件”： 1-Mar-90,LON,19813-Mar-90,FRA,2073 对以上两种文本格式的数据，SAS提供了以下四种基本的输入模式： 列输入模式(Column) ——应用于字段固定的文本文件 格式化输入模式(Formatted) ——应用于字段固定的文本文件 列举输入模式(List) ——应用于分隔符固定的文本文件 命名输入模式(Named) 对以上几种输入模式，基本的语句如下，区别就在于input语句的具体设定： data 你对导入数据的命名;    infile  源文件名,加上具体的盘符位置;    input 变量输入设定；run; 1.列输入模式(Column)&#8211;应用于字段固定的文本文件 对字段固定的源文件，input语句的形式是 input 变量名1&#60;s&#62;开始列数-结束列数 变量名2&#60;s&#62;开始列数-结束列数 …; 一个能工作的列输入模式语句看起来就像下面展示的： data work.example1;    infile &#8216;C:\data\example1.dat&#8217;  firstobs=2 obs=100;    input ID 1-3 Name $ 5-10;run; 优点： 对字段的选择非常灵活，可以任意选择字段，以及安排读入的次序； 整个字段或其部分可以重复读入； 字段间不一定要有空格或者其他分隔符来分隔； 字符变量最多可含32K个字符，并可以包含空格符； 对缺失数据没有特殊占位符的要求。一个空格字段就读为一个缺失值，也不会引起其他字段读入的错误。 局限： 可以设定输入长度，但不可以设定输入格式。对数值型变量，只能读入标准数据值(Standard Numeric [...]]]></description>
			<content:encoded><![CDATA[<p>文本文件多以.txt、.dat以及.csv为后缀（在Unix/Linux世界，还可能出现.data数据甚至没有后缀的情况）。一般分两种，其一看起来跟下面一样——<strong>如果用UltraEdit等编辑器打开，你能看到指示列数的标尺</strong>，而且每个字段的列数是固定的，称为<strong>字段固定(Fixed Fields)</strong>的文本文件：<br />
<blockquote>
<p>2810 61 MOD  F<br />2804 38 HIGH F </p>
</blockquote>
<p>下面的数据中，每个字段的列数不必相同，但都由同一样个的分隔符（这里是逗号）分开，所以称为<strong>分隔符固定(Delimited Data</strong>)或者自由格式(Free-format)的文件文件。如果分隔符为逗号（通常以.csv为后缀），干脆就叫做“用逗号分隔的文本文件”：<br />
<blockquote>
<p>1-Mar-90,LON,198<br />13-Mar-90,FRA,2073</p>
</blockquote>
<p>对以上两种文本格式的数据，SAS提供了以下四种基本的输入模式：
<ol>
<li>列输入模式(Column) ——应用于字段固定的文本文件 </li>
<li>格式化输入模式(Formatted) ——应用于字段固定的文本文件 </li>
<li>列举输入模式(List) ——应用于分隔符固定的文本文件 </li>
<li>命名输入模式(Named)</li>
</ol>
<p>对以上几种输入模式，基本的语句如下，区别就在于input语句的具体设定：<br />
<blockquote>
<p>data 你对导入数据的命名;<br />    infile  源文件名,加上具体的盘符位置;<br />    input 变量输入设定；<br />run;</p>
</blockquote>
<p><strong>1.列输入模式(Column)</strong>&#8211;应用于字段固定的文本文件 </p>
<p>对字段固定的源文件，input语句的形式是<br />
<blockquote>
<p>input 变量名1&lt;s&gt;开始列数-结束列数 变量名2&lt;s&gt;开始列数-结束列数 …;</p>
</blockquote>
<p>一个能工作的列输入模式语句看起来就像下面展示的：<br />
<blockquote>
<p>data work.example1;<br />    infile &#8216;C:\data\example1.dat&#8217;  firstobs=2 obs=100;<br />    input ID 1-3 Name $ 5-10;<br />run;</p>
</blockquote>
<p>优点：
<ol>
<li>对字段的选择非常灵活，可以任意选择字段，以及安排读入的次序；  </li>
<li>整个字段或其部分可以重复读入；  </li>
<li>字段间不一定要有空格或者其他分隔符来分隔；  </li>
<li>字符变量最多可含32K个字符，并可以包含空格符；  </li>
<li>对缺失数据没有特殊占位符的要求。一个空格字段就读为一个缺失值，也不会引起其他字段读入的错误。</li>
</ol>
<p>局限：
<ol>
<li>可以设定输入长度，但不可以设定输入格式。对数值型变量，只能读入标准数据值(Standard Numeric Data Value)，即只包括数字、正负号、小数点和科学计数符号E构成的数，对日期型数据，以及包含美元符号、逗号等其他符号的数值，因为需要设定输入格式并按格式读入，列输入模式就无法正确读取。</li>
</ol>
<p><strong>2.格式化输入模式(Formatted)</strong>&#8211;应用于字段固定的文本文件 </p>
<p>格式化输入模式类似于列模式：
<ol>
<li>它适用于字段固定格式的数据文件；  </li>
<li>它也给出字段开始的列数，但不直接给出结束列数，而是通过输入格式给出读入长度；  </li>
<li>它可以设定输入格式。</li>
</ol>
<p>它的input语句的格式为：<br />
<blockquote>
<p>input &lt;指针控制&gt; 变量名 输入格式 …;</p>
</blockquote>
<p>注1：指针控制，就是将输入列指针控制在某个位置，作为读入字段的开始列号，它有 @n 或者 +n 的形式：
<ul>
<li>@n表示从第n列开始读入（指示开始列数的绝对位置）；  </li>
<li>+n表示将列控制指针增加n列侯读入（指示相对位置）。</li>
</ul>
<p>一个能工作的格式化输入模式语句看起来就像下面展示的：<br />
<blockquote>
<p>data work.example2;<br />    infile &#8216;C:\data\example2.dat&#8217;;<br />    input Name $ 2. @3 Job $5. +7 Place $8.;<br />run;</p>
</blockquote>
<p><strong>3.列举输入模式(List)</strong>&#8211;应用于分隔符固定的文本文件 </p>
<p>因为分隔符固定的数据可以用分隔符来确定字段，input语句特别简单：<br />
<blockquote>
<p>input 变量名&lt;s&gt;…;</p>
</blockquote>
<p>如果要读入非空格分隔符的数据，就需要在infile语句中指明（默认为空格）：<br />
<blockquote>
<p>infile 文件盘符 &lt;dlm=&quot;分隔符&quot;&gt;;</p>
</blockquote>
<p>在列举模式下，变量长度的缺省值为8，长度超过8的字符变量在读入时会被截断，这时可以用lenght语句来设定长度：<br />
<blockquote>
<p>length 变量名&lt;s&gt; 长度;</p>
</blockquote>
<p>列举模式也可以设定输入格式，这只需要在输入变量设定时附加上相关修饰：<br />
<blockquote>
<p>input 变量名&lt;s&gt;: 输入格式 …;</p>
</blockquote>
<p>一个能工作的列举输入模式语句看起来就像下面展示的：<br />
<blockquote>
<p>data work.example3;<br />    infile &#8216;C:\data\example3.dat&#8217; dlm=&#8217;,';<br />    length item $ 10.;<br />    input ID Name $ item $   income:comma9.;<br />run;</p>
</blockquote>
<p><strong>4.命名输入模式(Named)</strong> </p>
<p>命名输入模式很少见到，因为很难得见到这种格式的原数据，其中三个变量是ID、Name和Score：<br />
<blockquote>
<p>1 Name=Tom Score=A<br />2 Name=Jim  Score=C</p>
</blockquote>
<p>相应的input语句为:<br />
<blockquote>
<p>input  ID Name=$3. Score=$1.</p>
</blockquote>
<p>参考资料：
<ol>
<li>汪嘉冈《SAS V8基础教程》，北京：中国统计出版社，2001 </li>
<li>SAS OnlineTutor: Basic and Intermediate SAS</li>
</ol>
<div style="margin:0px;padding:0px;display:inline">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/20/%e7%94%a8sas%e8%af%bb%e5%85%a5%e5%8e%9f%e5%a7%8b%e6%95%b0%e6%8d%ae%ef%bc%881%ef%bc%89%ef%bc%9a%e6%96%87%e6%9c%ac%e6%96%87%e4%bb%b6/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>白话统计（1）：平均数、中位数、众数</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/18/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%881%ef%bc%89%ef%bc%9a%e5%b9%b3%e5%9d%87%e6%95%b0%e3%80%81%e4%b8%ad%e4%bd%8d%e6%95%b0%e3%80%81%e4%bc%97%e6%95%b0/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/18/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%881%ef%bc%89%ef%bc%9a%e5%b9%b3%e5%9d%87%e6%95%b0%e3%80%81%e4%b8%ad%e4%bd%8d%e6%95%b0%e3%80%81%e4%bc%97%e6%95%b0/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[统计备忘录]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9960</guid>
		<description><![CDATA[********************示例数列为4、4、5、7、10******************** 定义1. 各项累加之和除以项数，所得之数值，叫做平均数（6）。 定义2. 众数是出现次数最多的那一项的数值（4）。 定义3. 中位数是这样一个项的数值（或两项之平均数）：它（或该两项）的数值大于或等于其余一半项的数值，而小于或等于另外一半项的数值（5）。 注1：平均数受每个改变的牵动，中位数和众数却只受某些改变的牵动。由于这个原因，平均数常常被认为是“敏感的”，是“反映整个分布的”。 注2：当分布含有少数在一端远离的极端项时，平均数的敏感性，对它的代表性反而可能是不利的。 注3：中位数不受少数极端值的影响。 注4：众数显示最大频率，而最大频率是最普遍化的同义语。 一、平均数的两个性质 物理模型：设想一块实验板，其上有4至10的等距刻度。假定5个一磅重的砝码置于板上，砝码的位置为4、4、5、7、10。现在假设有一支点，令该实验板连同其上的砝码在支点上保持平衡，并设该实验板本身无重量。几经失败之后，我们设想找到了平衡点。           结果，支点在各项的平均数之下。任何项的集合的平均数都是那些项的平衡点，而且平均数是唯一的平衡点。 考虑支点左边每个砝码与支点（平均数）的距离。最左端的两个砝码与平均数相距2个单位，第三个相距1个单位，总和是5个单位。同样，支点右边的砝码与支点的距离也是5个单位。正是这个等量平衡了实验板。左右两边砝码与平均数的距离之和总是相同的，也即平均数两边的距离“相抵”。 为了得到上面的距离，从各项减去平均数。有负号的是平均数左边砝码得到的结果，有正号的是右边砝码得到的结果。前面提到，把负号抹去，左边各项的和等于右边各项的和（距离“相抵”）。留住负号，则所有项的和等于0 ,Σ[x-mean(x)]=0，即，与平均数之差的和恒等于0。总结一下： 定理1：在任何分布中，各项对平均数的差之和等于0。反之，若分布中各项对某数的差数之和等于0时，该数即为此分布的平均数。 又考虑对平均数的差数平方： 各项 平均数6做参考点 差数 差数平方 4 6 -2 4 4 6 -2 4 5 6 -1 1 7 6 1 1 10 6 4 16     总和 26]]></description>
			<content:encoded><![CDATA[<p><em>********************示例数列为4、4、5、7、10********************</em> </p>
<p>定义1. 各项累加之和除以项数，所得之数值，叫做平均数（<em>6</em>）。 </p>
<p>定义2. 众数是出现次数最多的那一项的数值（<em>4</em>）。 </p>
<p>定义3. 中位数是这样一个项的数值（或两项之平均数）：它（或该两项）的数值大于或等于其余一半项的数值，而小于或等于另外一半项的数值（<em>5</em>）。 </p>
<p>注1：平均数受每个改变的牵动，中位数和众数却只受某些改变的牵动。由于这个原因，平均数常常被认为是“敏感的”，是“反映整个分布的”。 </p>
<p>注2：当分布含有少数在一端远离的极端项时，平均数的敏感性，对它的代表性反而可能是不利的。 </p>
<p>注3：中位数不受少数极端值的影响。 </p>
<p>注4：众数显示最大频率，而最大频率是最普遍化的同义语。<br />
<blockquote>
<p>一、平均数的两个性质</p>
</blockquote>
<p>物理模型：设想一块实验板，其上有4至10的等距刻度。假定5个一磅重的砝码置于板上，砝码的位置为4、4、5、7、10。现在假设有一支点，令该实验板连同其上的砝码在支点上保持平衡，并设该实验板本身无重量。几经失败之后，我们设想找到了平衡点。 </p>
<p>  </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLw06q-e8AN-99W5h1JdqZCovq9veVifzFs6elXrlzhlVfqdcpmD2Fmn7Av2wT_zrXw?PARTNER=WRITER"><img style="border-width:0px" alt="image" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLxvdDT389rksZQOubp5ShNAKvDBT3iUPpA1pNpBVX4cA6HGpklJ3GFX9THVuW7jeJg?PARTNER=WRITER" align="left" border="0" height="93" width="244" /></a> </p>
<p>  </p>
<p>  </p>
<p>  </p>
<p>  </p>
<p>结果，支点在各项的平均数之下。<strong>任何项的集合的平均数都是那些项的平衡点，而且平均数是唯一的平衡点。</strong> </p>
<p>考虑支点左边每个砝码与支点（平均数）的距离。最左端的两个砝码与平均数相距2个单位，第三个相距1个单位，总和是5个单位。同样，支点右边的砝码与支点的距离也是5个单位。正是这个等量平衡了实验板。<strong>左右两边砝码与平均数的距离之和总是相同的，也即平均数两边的距离“相抵”。</strong> </p>
<p>为了得到上面的距离，从各项减去平均数。有负号的是平均数左边砝码得到的结果，有正号的是右边砝码得到的结果。前面提到，把负号抹去，左边各项的和等于右边各项的和（距离“相抵”）。留住负号，则所有项的和等于0 ,Σ[x-mean(x)]=0，即，<strong>与平均数之差的和恒等于0</strong>。总结一下：<br />
<blockquote>
<p><strong>定理1：在任何分布中，各项对平均数的差之和等于0。反之，若分布中各项对某数的差数之和等于0时，该数即为此分布的平均数。</strong></p>
</blockquote>
<p>又考虑对平均数的差数平方：<br />
<table border="0" cellpadding="2" cellspacing="0" width="400">
<tbody>
<tr>
<td valign="top" width="100">各项 </td>
<td valign="top" width="116">平均数6做参考点 </td>
<td valign="top" width="83">差数 </td>
<td valign="top" width="99">差数平方 </td>
</tr>
<tr>
<td valign="top" width="100">4 </td>
<td valign="top" width="116">6 </td>
<td valign="top" width="83">-2 </td>
<td valign="top" width="99">4 </td>
</tr>
<tr>
<td valign="top" width="100">4 </td>
<td valign="top" width="116">6 </td>
<td valign="top" width="83">-2 </td>
<td valign="top" width="99">4 </td>
</tr>
<tr>
<td valign="top" width="100">5 </td>
<td valign="top" width="116">6 </td>
<td valign="top" width="83">-1 </td>
<td valign="top" width="99">1 </td>
</tr>
<tr>
<td valign="top" width="100">7 </td>
<td valign="top" width="116">6 </td>
<td valign="top" width="83">1 </td>
<td valign="top" width="99">1 </td>
</tr>
<tr>
<td valign="top" width="100">10 </td>
<td valign="top" width="116">6 </td>
<td valign="top" width="83">4 </td>
<td valign="top" width="99">16 </td>
</tr>
<tr>
<td valign="top" width="100">  </td>
<td valign="top" width="116">  </td>
<td valign="top" width="83"><em>总和</em> </td>
<td valign="top" width="100"><strong><em>26</em></strong></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/18/%e7%99%bd%e8%af%9d%e7%bb%9f%e8%ae%a1%ef%bc%881%ef%bc%89%ef%bc%9a%e5%b9%b3%e5%9d%87%e6%95%b0%e3%80%81%e4%b8%ad%e4%bd%8d%e6%95%b0%e3%80%81%e4%bc%97%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>我所有的（所谓）技术文章，从2007年3月15到2008年1月14</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/14/%e6%88%91%e6%89%80%e6%9c%89%e7%9a%84%ef%bc%88%e6%89%80%e8%b0%93%ef%bc%89%e6%8a%80%e6%9c%af%e6%96%87%e7%ab%a0%ef%bc%8c%e4%bb%8e2007%e5%b9%b43%e6%9c%8815%e5%88%b02008%e5%b9%b41%e6%9c%8814/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/14/%e6%88%91%e6%89%80%e6%9c%89%e7%9a%84%ef%bc%88%e6%89%80%e8%b0%93%ef%bc%89%e6%8a%80%e6%9c%af%e6%96%87%e7%ab%a0%ef%bc%8c%e4%bb%8e2007%e5%b9%b43%e6%9c%8815%e5%88%b02008%e5%b9%b41%e6%9c%8814/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[胡说]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9959</guid>
		<description><![CDATA[这样子的整理，本该是07年末的事，以后也这样随手摆出来了： ************************“技止于此”文章目录，从2007年3月15到2008年1月14************************ 46-  SAS和蒙特卡罗模拟（2）：随机数基础 45-  SAS Tips &#38;Tricks：按组求累加值 44-  SAS和蒙特卡罗模拟（1）：开篇 43-  SAS程序员必备的十大技巧 42-  Excel债券计算函数 41-  金融随机过程：备忘录 40-  Paul Wilmott&#8217;s Books on Quantitative Finance 39-  BNF标记法：简介 38-  SQL——在Oracle SQL*Plus里工作（1）：基础篇 37-  常见数据挖掘错误：识别和纠正（译稿） 36-  SAS Base 金融函数 35-  答客问：SAS对列求和 34-  SAS备忘录：format和informat 33-  Ryszard Michalski 32-  How to pronounce SAS ? 31-  概率、信息和熵 30-  三个有名的决策树算法和它们的叶子 29-  提升指数、提升表和提升图 28-  SAS [...]]]></description>
			<content:encoded><![CDATA[<p>这样子的整理，本该是07年末的事，以后也这样随手摆出来了： </p>
<p>************************“技止于此”文章目录，从2007年3月15到2008年1月14************************<br />
<blockquote>
<p>46-  SAS和蒙特卡罗模拟（2）：随机数基础 <br />45-  SAS Tips &amp;Tricks：按组求累加值 <br />44-  SAS和蒙特卡罗模拟（1）：开篇 <br />43-  SAS程序员必备的十大技巧 <br />42-  Excel债券计算函数 <br />41-  金融随机过程：备忘录 <br />40-  Paul Wilmott&#8217;s Books on Quantitative Finance <br />39-  BNF标记法：简介 <br />38-  SQL——在Oracle SQL*Plus里工作（1）：基础篇 <br />37-  常见数据挖掘错误：识别和纠正（译稿） <br />36-  SAS Base 金融函数 <br />35-  答客问：SAS对列求和 <br />34-  SAS备忘录：format和informat <br />33-  Ryszard Michalski <br />32-  How to pronounce SAS ? <br />31-  概率、信息和熵 <br />30-  三个有名的决策树算法和它们的叶子 <br />29-  提升指数、提升表和提升图 <br />28-  SAS Macro的面对对象解释-一个附会 <br />27-  SAS学习笔记（4）:Editing and Debugging SAS Programs <br />26-  数据采集策略：数据挖掘与统计学的一个区别 <br />25-  SAS学习笔记（3）:Referencing Files and Setting Options <br />24-  计算股票的贝塔值β <br />23-  KDNuggets调查2007：数据挖掘方法论 <br />22-  SAS学习笔记（2）：Using the Programming Workspace <br />21-  神经网络：学习笔记（1）：神经元 <br />20-  SAS学习笔记（1）：Basic Concepts <br />19-  SAS学习笔记：开篇 <br />18-  KDnuggets调查：数据挖掘方法和工具 <br />17-  备忘录之主成分分析 <br />16- 下载yahoo finance和雅虎财经数据 <br />15-  S语言:棕皮书、蓝皮书、白皮书和绿皮书 <br />14-  一款像模像样的数据挖掘软件—AlphaMiner <br />13-  最大熵模型：读书笔记 <br />12-  SAS Logistic回归：一个完整例子 <br />11-  三个有名的决策树算法：CHAID、CART和C4.5 <br />10-  数据挖掘——我们能从股市数据得出什么，以及一些算法 <br />9-  Windows下运用Linux工具（一）：G++/Cyguns <br />8-  一组常用的SAS快捷键和命令（一）：入门阶段 <br />7-  Excel-备忘录 <br />6-  在UltraEdit中配置Java编译器 <br />5-  推荐书：朱世武老师的《SAS编程技术与金融数据处理》 <br />4-  决策树的构造——一个手工例子 <br />3-  几个有名的数据挖掘与机器学习的练习数据集（一） <br />2-  数据挖掘入门书：Roiger&amp;Geatz《数据挖掘教程》清华版2003 <br />1- 写在前面——我要经营的技术博客 </p>
</blockquote>
<p>*************************************************************************************************** </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/14/%e6%88%91%e6%89%80%e6%9c%89%e7%9a%84%ef%bc%88%e6%89%80%e8%b0%93%ef%bc%89%e6%8a%80%e6%9c%af%e6%96%87%e7%ab%a0%ef%bc%8c%e4%bb%8e2007%e5%b9%b43%e6%9c%8815%e5%88%b02008%e5%b9%b41%e6%9c%8814/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SAS和蒙特卡罗模拟（2）：随机数基础</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/12/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%882%ef%bc%89%ef%bc%9a%e9%9a%8f%e6%9c%ba%e6%95%b0%e5%9f%ba%e7%a1%80/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/12/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%882%ef%bc%89%ef%bc%9a%e9%9a%8f%e6%9c%ba%e6%95%b0%e5%9f%ba%e7%a1%80/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9958</guid>
		<description><![CDATA[************************************************************************************************************************** 《SAS和蒙特卡罗模拟（1）：开篇》——简介，通过例子建立起蒙卡的直观概念；参考软件包及书目 ************************************************************************************************************************************************** SAS for Monte Carlo Simulations (2): Random Numbers 最简单、最基本、最重要的随机变量是在[0,1]上均匀分布的随机变量。一般地，我们把[0,1]上均匀分布随机变量的抽样值称为随机数，其他分布随机变量的抽样都是借助于随机数来实现的。以下谈的都是所谓“伪随机数”(Pseudo Random Numbers)。产生随机数，可以通过物理方法取得（很久很久以前，兰德公司就曾以随机脉冲源做信息源，利用电子旋转轮来产生随机数表），但当今最为普遍的乃是在计算机上利用数学方法产生随机数。这种随机数根据特定的迭代公式计算出来，初值确定后，序列就可以预测出来，所以不能算是真正的随机数（就成为“伪随机数”）。不过，在应用中，只要产生的伪随机数列能通过一系列统计检验，就可以把它们当成“真”随机数来用。 现在大多软件包内置的随机数产生程序，都是使用同余法(Congruential Random Numbers Generators)。“同余”是数论中的概念。 0.预备知识：同余 捡回小学一年级的东西：&#34;4/2=2&#34;读作“4除以2等于2”，或者，“2除4等于2”。还有求模的符号mod(number,divisor)，其中，number是被除数（在上式中，为4），divisor是除数（上式中的2）。这样的约定对SAS和Excel都通用，如mod(4,13)=4，mod(13,4)=1。 现在我们可以开讲“同余”了。设m是正整数，用m去除整数a、b，得到的余数相同，则称“a与b关于模m同余”。上面的定义可以读写成，对整数a、b和正整数m，若mod(a,m)=mod(b,m)，则称“a与b关于模m有相同的余数（同余）”，记做a≡b(mod m)（这就是同余式）。举个例子，mod(13,4)=1，mod(1,4)=1，则读成13和1关于模4同余，记做13≡1(mod 4)。当然，同余具有对称性，上式还可以写成1=13(mod 4)。 a≡b(mod m)的一个充要条件是a=b+mt，t是整数，比如13=1+3*4。a=b+mt可以写成(a-b)/m=t，即m能整除(a-b)。 这些就够了。更多基础性的介绍，可以参考《同余（数据基础）》。 1.乘同余法 同余法是一大类方法的统称，包括加同余法、乘同余法等。因为这些方法中的迭代公式都可以写成上面我们见过的同余式形式，故统称同余法。常用的就是下面的乘同余法(Multiplicative Congruential Generator.)。符号不好敲，做些约定，如R(i)就是R加一个下标i。 乘同余法随机数生成器的同余形式如下：R(i+1)=a*R(i) (mod m)。这个迭代式可以写成更直观的形式，R(i+1)=mod[a*R(i),m]，其中初值R(0)称为随机数种子。因为mod(x,m)总是等于0到m-1的一个整数，所以最后把R(i+1)这个随机序列都除以m，就可以得到在[0,1]上均匀分布的随机数。下面用电子表格演示一遍，假设随机数种子R(0)=1，a=4，m=13：   A B C D E 1 i R(i) a*R(i) mod[a*R(i),m] mod[a*R(i),m]/m 2 0 1 =B2*4 =mod(C2,13) =D2/13 3 1 =D2 [...]]]></description>
			<content:encoded><![CDATA[<h4>**************************************************************************************************************************</h4>
<blockquote><p>《<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!362.entry" target="_blank">SAS和蒙特卡罗模拟（1）：开篇</a>》——简介，通过例子建立起蒙卡的直观概念；参考软件包及书目</p>
</blockquote>
<p>**************************************************************************************************************************************************<br />
<h4>SAS for Monte Carlo Simulations (2): Random Numbers</h4>
</p>
<p>最简单、最基本、最重要的随机变量是在[0,1]上均匀分布的随机变量。一般地，我们把[0,1]上均匀分布随机变量的抽样值称为随机数，其他分布随机变量的抽样都是借助于随机数来实现的。以下谈的都是所谓“伪随机数”(Pseudo Random Numbers)。产生随机数，可以通过物理方法取得（很久很久以前，兰德公司就曾以随机脉冲源做信息源，利用电子旋转轮来产生随机数表），但当今最为普遍的乃是在计算机上利用数学方法产生随机数。这种随机数根据特定的迭代公式计算出来，初值确定后，序列就可以预测出来，所以不能算是真正的随机数（就成为“伪随机数”）。不过，在应用中，只要产生的伪随机数列能通过一系列统计检验，就可以把它们当成“真”随机数来用。 </p>
<p>现在大多软件包内置的随机数产生程序，都是使用同余法(Congruential Random Numbers Generators)。“同余”是数论中的概念。<br />
<blockquote>
<p>0.预备知识：同余</p>
</blockquote>
<p>捡回小学一年级的东西：&quot;4/2=2&quot;读作“4<strong>除以</strong>2等于2”，或者，“2<strong>除</strong>4等于2”。还有求模的符号mod(number,divisor)，其中，number是被除数（在上式中，为4），divisor是除数（上式中的2）。这样的约定对SAS和Excel都通用，如mod(4,13)=4，mod(13,4)=1。 </p>
<p>现在我们可以开讲“同余”了。设m是正整数，用m去<strong>除</strong>整数a、b，得到的余数相同，则称“a与b关于模m同余”。上面的定义可以读写成，对整数a、b和正整数m，若mod(a,m)=mod(b,m)，则称“a与b关于模m有相同的余数（同余）”，记做a≡b(mod m)（这就是同余式）。举个例子，mod(13,4)=1，mod(1,4)=1，则读成13和1关于模4同余，记做13≡1(mod 4)。当然，同余具有对称性，上式还可以写成1=13(mod 4)。 </p>
<p>a≡b(mod m)的一个充要条件是a=b+mt，t是整数，比如13=1+3*4。a=b+mt可以写成(a-b)/m=t，即m能整除(a-b)。 </p>
<p>这些就够了。更多基础性的介绍，可以参考《<a href="http://blog.csdn.net/oopos/archive/2007/10/15/1826103.aspx" target="_blank">同余（数据基础）</a>》。<br />
<blockquote>
<p>1.乘同余法</p>
</blockquote>
<p>同余法是一大类方法的统称，包括加同余法、乘同余法等。因为这些方法中的迭代公式都可以写成上面我们见过的同余式形式，故统称同余法。常用的就是下面的乘同余法(Multiplicative Congruential Generator.)。符号不好敲，做些约定，如R(i)就是R加一个下标i。 </p>
<p>乘同余法随机数生成器的同余形式如下：R(i+1)=a*R(i) (mod m)。这个迭代式可以写成更直观的形式，R(i+1)=mod[a*R(i),m]，其中初值R(0)称为随机数种子。因为mod(x,m)总是等于0到m-1的一个整数，所以最后把R(i+1)这个随机序列都除以m，就可以得到在[0,1]上均匀分布的随机数。下面用电子表格演示一遍，假设随机数种子R(0)=1，a=4，m=13：<br />
<table border="1" cellpadding="2" cellspacing="0" width="491">
<tbody>
<tr>
<td valign="top" width="59">  </td>
<td valign="top" width="65">A </td>
<td valign="top" width="67">B </td>
<td valign="top" width="71">C </td>
<td valign="top" width="97">D </td>
<td valign="top" width="130">E </td>
</tr>
<tr>
<td valign="top" width="59">1 </td>
<td valign="top" width="64">i </td>
<td valign="top" width="68">R(i) </td>
<td valign="top" width="72">a*R(i) </td>
<td valign="top" width="97">mod[a*R(i),m] </td>
<td valign="top" width="130">mod[a*R(i),m]/m </td>
</tr>
<tr>
<td valign="top" width="59">2 </td>
<td valign="top" width="64">0 </td>
<td valign="top" width="68"><font color="#ff0000">1</font> </td>
<td valign="top" width="73">=B2*4 </td>
<td valign="top" width="97">=mod(C2,13) </td>
<td valign="top" width="130">=D2/13 </td>
</tr>
<tr>
<td valign="top" width="58">3 </td>
<td valign="top" width="64">1 </td>
<td valign="top" width="68">=D2 </td>
<td valign="top" width="74">=B3*4 </td>
<td valign="top" width="97">=mod(C3,13) </td>
<td valign="top" width="129">=D3/13 </td>
</tr>
<tr>
<td valign="top" width="58">4 </td>
<td valign="top" width="64">2 </td>
<td valign="top" width="68">=D3 </td>
<td valign="top" width="75">=B4*4 </td>
<td valign="top" width="97">=mod(C4,13) </td>
<td valign="top" width="129">=D4/13</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/12/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%882%ef%bc%89%ef%bc%9a%e9%9a%8f%e6%9c%ba%e6%95%b0%e5%9f%ba%e7%a1%80/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SAS Tips &amp;Tricks：按组求累加值</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/12/sas-tips-tricks%ef%bc%9a%e6%8c%89%e7%bb%84%e6%b1%82%e7%b4%af%e5%8a%a0%e5%80%bc/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/12/sas-tips-tricks%ef%bc%9a%e6%8c%89%e7%bb%84%e6%b1%82%e7%b4%af%e5%8a%a0%e5%80%bc/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9957</guid>
		<description><![CDATA[按组求累加值：原数据由下面给出： data a;    input id sum;cards;1 41 32 52 72 93 63 6; 上面id分为1、2、3，要求按每组求累加值，即生成一个新变量cum，它看起来是这样的： id    sum    cum1     4       41     3       72     5       52     7      122     9      213     6       63     6      12 方案一： proc sort data=a;    by id;run; data b;    set a;    by id; retain cum;if first.id then cum=sum ;        else cum=cum+sum;run; 方案二（方案一的小改进）： proc sort data=a;    [...]]]></description>
			<content:encoded><![CDATA[<p>按组求累加值：原数据由下面给出：<br />
<blockquote>
<p>data a;<br />    input id sum;<br />cards;<br />1 4<br />1 3<br />2 5<br />2 7<br />2 9<br />3 6<br />3 6<br />;</p>
</blockquote>
<p>上面id分为1、2、3，要求按每组求累加值，即生成一个新变量cum，它看起来是这样的：<br />
<blockquote>
<p>id    sum    cum<br />1     4       4<br />1     3       7<br />2     5       5<br />2     7      12<br />2     9      21<br />3     6       6<br />3     6      12 </p>
</blockquote>
<p>方案一：<br />
<blockquote>
<p>proc sort data=a;<br />    by id;<br />run; </p>
<p>data b;<br />    set a;<br />    by id; </p>
<p><font color="#ff0000">retain</font> cum;<br />if first.id then cum=sum ;<br />        else cum=cum+sum;<br />run;</p>
</blockquote>
<p>方案二（方案一的小改进）：<br />
<blockquote>
<p>proc sort data=a;<br />    by id;<br />run; </p>
<p>data b;<br />    set a;<br />    by id;<br />    if first.id then cum=sum ;<br />        else <font color="#ff0000">cum+sum</font>;<br />run;</p>
</blockquote>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/12/sas-tips-tricks%ef%bc%9a%e6%8c%89%e7%bb%84%e6%b1%82%e7%b4%af%e5%8a%a0%e5%80%bc/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SAS和蒙特卡罗模拟（1）：开篇</title>
		<link>http://www.jiangtanghu.com/cn/2008/01/09/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%881%ef%bc%89%ef%bc%9a%e5%bc%80%e7%af%87/</link>
		<comments>http://www.jiangtanghu.com/cn/2008/01/09/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%881%ef%bc%89%ef%bc%9a%e5%bc%80%e7%af%87/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9956</guid>
		<description><![CDATA[SAS for Monte Carlo Simulations (1): Introduction 一、为什么选择SAS做蒙特卡罗模拟？ 为什么要用SAS做蒙卡？首先，对我来说，我只会用SAS，而且打算用SAS完成我所有的工作。当然，其他一些通用的理由有(Fan, etc.,2002)： 蒙卡是个计算密集的活，而SAS Base、SAS Macro、SAS/IML强大而灵活的编程能力能满足这一要求； 做蒙卡时要用到大量的统计/数学技术，而SAS就内置了大量的统计/数学函数(在 SAS/Stat和SAS/ETS)；用Fortran或C++当然也是非常好的主意，只是他们缺少内置的统计函数，代码就要冗长复杂很多。 二、什么是蒙卡？一个启发性例子 好，开始，什么是蒙卡？了解它背景知识的最好办法当然是wiki-Monte_Carlo_method。蒙特卡罗是位于摩洛哥的一家赌场，二战时，美国Los Alamos国家实验室把它作为核裂变计算机模拟的代码名称。作为模拟方法，蒙卡以前就叫统计抽样(statistical sampling)，我们感兴趣的结果因为输入变量的不确定而不可知，但如果能依概率产生输入变量的样本，我们就可以估计到结果变量的分布。跟蒙卡对应的，还有一种模拟技术叫系统模拟，包括排队、库存等模型，这些模型都跟随时间推移而出现的事件序列有关。下面举个蒙卡的例子，来自Evans, etc.( 2001)的超级简化版。 假设一家企业，利润是其需求量的函数，需求是随机变量。为了简化讨论，假定利润就是需求的两倍。这里输入变量就是不可控的需求，结果变量就是我们感兴趣的利润。假设需求以相同的概率取10、20、30、40、50、60这六种情况。在这样的简化下，我们就可以投一枚均匀的骰子来产生需求的样本，如果点数为1，对应得需求就是10，点数为2，需求就是20，以下类推。这样，我们的模拟过程就是： 投骰子； 根据骰子的点数确定需求量； 根据需求量，求利润。 掷10次骰子，假设我们的模拟结果如下： 重复次数 骰子点数 需求量 利润 1 5 50 100 2 3 30 60 3 3 30 60 4 6 60 120 5 1 10 20 6 3 30 60 7 [...]]]></description>
			<content:encoded><![CDATA[<blockquote><h4>SAS for Monte Carlo Simulations (1): Introduction</h4>
</blockquote>
<p>一、为什么选择SAS做蒙特卡罗模拟？ </p>
<p>为什么要用SAS做蒙卡？首先，对我来说，我只会用SAS，而且打算用SAS完成我所有的工作。当然，其他一些通用的理由有(Fan, etc.,2002)：
<ol>
<li>蒙卡是个计算密集的活，而SAS Base、SAS Macro、SAS/IML强大而灵活的编程能力能满足这一要求；  </li>
<li>做蒙卡时要用到大量的统计/数学技术，而SAS就内置了大量的统计/数学函数(在 SAS/Stat和SAS/ETS)；用Fortran或C++当然也是非常好的主意，只是他们缺少内置的统计函数，代码就要冗长复杂很多。</li>
</ol>
<p>二、什么是蒙卡？一个启发性例子 </p>
<p>好，开始，什么是蒙卡？了解它背景知识的最好办法当然是<a title="http://en.wikipedia.org/wiki/Monte_Carlo_method" href="http://en.wikipedia.org/wiki/Monte_Carlo_method" target="_blank">wiki-Monte_Carlo_method</a>。蒙特卡罗是位于摩洛哥的一家赌场，二战时，美国Los Alamos国家实验室把它作为核裂变计算机模拟的代码名称。作为模拟方法，蒙卡以前就叫统计抽样(statistical sampling)，我们感兴趣的结果因为输入变量的不确定而不可知，但如果能依概率产生输入变量的样本，我们就可以估计到结果变量的分布。跟蒙卡对应的，还有一种模拟技术叫系统模拟，包括排队、库存等模型，这些模型都跟随时间推移而出现的事件序列有关。下面举个蒙卡的例子，来自Evans, etc.( 2001)的超级简化版。 </p>
<p>假设一家企业，利润是其需求量的函数，需求是随机变量。为了简化讨论，假定利润就是需求的两倍。这里输入变量就是不可控的需求，结果变量就是我们感兴趣的利润。假设需求以相同的概率取10、20、30、40、50、60这六种情况。在这样的简化下，我们就可以投一枚<strong>均匀的</strong>骰子来产生需求的样本，如果点数为1，对应得需求就是10，点数为2，需求就是20，以下类推。这样，我们的模拟过程就是：
<ol>
<li>投骰子；  </li>
<li>根据骰子的点数确定需求量；  </li>
<li>根据需求量，求利润。</li>
</ol>
<p>掷10次骰子，假设我们的模拟结果如下：<br />
<table border="0" cellpadding="2" cellspacing="0" width="400">
<tbody>
<tr>
<td valign="top" width="100">重复次数 </td>
<td valign="top" width="100">骰子点数 </td>
<td valign="top" width="100">需求量 </td>
<td valign="top" width="100">利润 </td>
</tr>
<tr>
<td valign="top" width="100">1 </td>
<td valign="top" width="100">5 </td>
<td valign="top" width="100">50 </td>
<td valign="top" width="100">100 </td>
</tr>
<tr>
<td valign="top" width="100">2 </td>
<td valign="top" width="100">3 </td>
<td valign="top" width="100">30 </td>
<td valign="top" width="100">60 </td>
</tr>
<tr>
<td valign="top" width="100">3 </td>
<td valign="top" width="100">3 </td>
<td valign="top" width="100">30 </td>
<td valign="top" width="100">60 </td>
</tr>
<tr>
<td valign="top" width="100">4 </td>
<td valign="top" width="100">6 </td>
<td valign="top" width="100">60 </td>
<td valign="top" width="100">120 </td>
</tr>
<tr>
<td valign="top" width="100">5 </td>
<td valign="top" width="100">1 </td>
<td valign="top" width="100">10 </td>
<td valign="top" width="100">20 </td>
</tr>
<tr>
<td valign="top" width="100">6 </td>
<td valign="top" width="100">3 </td>
<td valign="top" width="100">30 </td>
<td valign="top" width="100">60 </td>
</tr>
<tr>
<td valign="top" width="100">7 </td>
<td valign="top" width="100">4 </td>
<td valign="top" width="100">40 </td>
<td valign="top" width="100">40 </td>
</tr>
<tr>
<td valign="top" width="100">8 </td>
<td valign="top" width="100">5 </td>
<td valign="top" width="100">50 </td>
<td valign="top" width="100">100 </td>
</tr>
<tr>
<td valign="top" width="100">9 </td>
<td valign="top" width="100">2 </td>
<td valign="top" width="100">20 </td>
<td valign="top" width="100">20 </td>
</tr>
<tr>
<td valign="top" width="100">10 </td>
<td valign="top" width="100">5 </td>
<td valign="top" width="100">50 </td>
<td valign="top" width="100">50</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2008/01/09/sas%e5%92%8c%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%a8%a1%e6%8b%9f%ef%bc%881%ef%bc%89%ef%bc%9a%e5%bc%80%e7%af%87/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>SAS程序员必备的十大技巧</title>
		<link>http://www.jiangtanghu.com/cn/2007/12/29/sas%e7%a8%8b%e5%ba%8f%e5%91%98%e5%bf%85%e5%a4%87%e7%9a%84%e5%8d%81%e5%a4%a7%e6%8a%80%e5%b7%a7/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/12/29/sas%e7%a8%8b%e5%ba%8f%e5%91%98%e5%bf%85%e5%a4%87%e7%9a%84%e5%8d%81%e5%a4%a7%e6%8a%80%e5%b7%a7/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9955</guid>
		<description><![CDATA[SUGI27(2002)有一篇被广泛引用的文章，就两页纸，Doug Zirbel的10 Things Experienced SAS® Programmers Don’t Know – But Should(“SAS程序员不知道但必须知道的10件事”)，题目挺拉风，讲的是对有经验的SAS程序员的一次非正式调查，要他们列出SAS程序员需要的一些技巧。其实一共列出了22条，当然前10条是最重要的： Macros—basic knowledge of macro language——对SAS宏语言的基本了解。这里作者推荐的主打文档当然是SAS Manuals中的SAS Macro language，以及SAS Guide to Macro Processing，然后还有Little SAS Book和Carpenter&#8217;s Complete Guide to the SAS Macro Language Data Step—basic knowledge of data step——对SAS数据步的基本了解，参见一篇SUGI21的文章，Thomas Miron的The Secret Lift of the Data Step Data file manipulation—INFILE, UPDATE, SET intricacies etc ——数据文件操作语句，如infile、update、set等 ODS——SAS输出传送系统(Output Delivery [...]]]></description>
			<content:encoded><![CDATA[<p>SUGI27(2002)有一篇被广泛引用的文章，就两页纸，Doug Zirbel的<a href="http://www2.sas.com/proceedings/sugi27/p240-27.pdf" target="_blank">10 Things Experienced SAS® Programmers Don’t Know – But Should</a>(“SAS程序员不知道但必须知道的10件事”)，题目挺拉风，讲的是对有经验的SAS程序员的一次非正式调查，要他们列出SAS程序员需要的一些技巧。其实一共列出了22条，当然前10条是最重要的：
<ol>
<li>Macros—basic knowledge of macro language——对SAS宏语言的基本了解。这里作者推荐的主打文档当然是SAS Manuals中的<em>SAS Macro language，</em>以及SAS Guide to Macro Processing，然后还有Little SAS Book和Carpenter&#8217;s Complete Guide to the SAS Macro Language  </li>
<li>Data Step—basic knowledge of data step——对SAS数据步的基本了解，参见一篇SUGI21的文章，Thomas Miron的<a href="http://www.lexjansen.com/sugi/sugi21/at/026-21.pdf" target="_blank">The Secret Lift of the Data Step</a> </li>
<li>Data file manipulation—INFILE, UPDATE, SET intricacies etc ——数据文件操作语句，如infile、update、set等 </li>
<li>ODS——SAS输出传送系统(Output Delivery System)  </li>
<li>Efficiency——编程效率  </li>
<li>Data Step Vector—How it works——理解数据步的运行原理，参见2  </li>
<li>Macros—Knowing how to write macros that write SAS programs——如何写宏语句  </li>
<li>System Development Life Cycle process——这里讲软件开发流程了，作者甚至列出了Steve McConnell的代码大全(Code Complete)，在程序员中流传甚广。  </li>
<li>SAS Help—How to get it——利用SAS的联机帮助文档  </li>
<li>Proc Report——程序步，设计报表  </li>
<li>SQL Dictionary tables—basic of retrieving SAS metadata— 用SQL语句管理数据词典（原数据，metadata），可以参见Frank C. DiIorio 和Nancy J. Michal的<a href="http://www.lexjansen.com/sugi/sugi21/at/032-21.pdf">Data about Data: An Introduction to Dictionary Tables</a> </li>
<li>Proc Summary/Means——程序步，汇总和均值  </li>
<li>Debugging Techniques-DEBUG facility and other techniques——程序调试  </li>
<li>Proc SQL——SQL语句  </li>
<li>Structured programming concepts——结构化编程  </li>
<li>Proc Format——格式输入语句  </li>
<li>Relational Database Design——数据库设计  </li>
<li>Web technology—HTML, JavaScript, SAS IntrNet, ect——网络技术，一些脚本语言  </li>
<li>Your Operating System native (and other) languages—REXX, Unix scripts, VBScript, syncsort——跟操作系统相关的一些脚本语句  </li>
<li>Proc Transpose——数据转置  </li>
<li>Data step reports—&quot;Data _null_&quot; report writing——  </li>
<li>SCL—SCL Functions usable in e.g.,Base SAS data steps——屏幕控制语句</li>
</ol>
<p>上面10，或者22条，要强调的都是，SAS Base是一个好的SAS程序员需要掌握的几乎所有的东西。
<div style="margin:0px;padding:0px;display:inline">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/12/29/sas%e7%a8%8b%e5%ba%8f%e5%91%98%e5%bf%85%e5%a4%87%e7%9a%84%e5%8d%81%e5%a4%a7%e6%8a%80%e5%b7%a7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Excel债券计算函数</title>
		<link>http://www.jiangtanghu.com/cn/2007/12/28/excel%e5%80%ba%e5%88%b8%e8%ae%a1%e7%ae%97%e5%87%bd%e6%95%b0/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/12/28/excel%e5%80%ba%e5%88%b8%e8%ae%a1%e7%ae%97%e5%87%bd%e6%95%b0/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9954</guid>
		<description><![CDATA[26个（参考王小民，2003），见下： 计算指标 定期付息债券 到期付息债券 其他债券种类 价格 price priceMat oddfPrice,oddlPrice, tbillPrice, priceDisc 收益率 yield yieldMat oddfYield, oddlYield, tbillYield, yieldDisc 利息 accrint accrintM   天数 coupDayBs, coupDaySnc, coupDayS     日期 coupPcd, coupNcd     期数 coupNum     其他 duration, mDuration intRate, received disc, tbillEq 其中，在“其他债券种类”一栏中， oddf表示odd (short or long) first period，即首期付息日不固定 oddl表示odd (short or long) [...]]]></description>
			<content:encoded><![CDATA[<p>26个（参考王小民，2003），见下：<br />
<table border="0" cellpadding="2" cellspacing="0" width="527">
<tbody>
<tr>
<td valign="top" width="65">计算指标 </td>
<td valign="top" width="119">定期付息债券 </td>
<td valign="top" width="134">到期付息债券 </td>
<td valign="top" width="207">其他债券种类 </td>
</tr>
<tr>
<td valign="top" width="63">价格 </td>
<td valign="top" width="121">price </td>
<td valign="top" width="133">priceMat </td>
<td valign="top" width="207">oddfPrice,oddlPrice, tbillPrice, priceDisc </td>
</tr>
<tr>
<td valign="top" width="64">收益率 </td>
<td valign="top" width="122">yield </td>
<td valign="top" width="133">yieldMat </td>
<td valign="top" width="207">oddfYield, oddlYield, tbillYield, yieldDisc </td>
</tr>
<tr>
<td valign="top" width="63">利息 </td>
<td valign="top" width="123">accrint </td>
<td valign="top" width="133">accrintM </td>
<td valign="top" width="207">  </td>
</tr>
<tr>
<td valign="top" width="63">天数 </td>
<td valign="top" width="124">coupDayBs, coupDaySnc, coupDayS </td>
<td valign="top" width="132">  </td>
<td valign="top" width="207">  </td>
</tr>
<tr>
<td valign="top" width="64">日期 </td>
<td valign="top" width="124">coupPcd, coupNcd </td>
<td valign="top" width="132">  </td>
<td valign="top" width="207">  </td>
</tr>
<tr>
<td valign="top" width="64">期数 </td>
<td valign="top" width="124">coupNum </td>
<td valign="top" width="132">  </td>
<td valign="top" width="207">  </td>
</tr>
<tr>
<td valign="top" width="64">其他 </td>
<td valign="top" width="124">duration, mDuration </td>
<td valign="top" width="132">intRate, received </td>
<td valign="top" width="207">disc, tbillEq</td>
</tr>
</tbody>
</table>
<p>其中，在“其他债券种类”一栏中，
<ol>
<li>oddf表示odd (short or long) first period，即首期付息日不固定  </li>
<li>oddl表示odd (short or long) last coupon period，即末期付息日不固定  </li>
<li>tbill是Treasury bill，即国库券 </li>
</ol>
<p>附：关于金融函数的参数(argument)，如disc(settlement,maturity,pr,redemption,basis)，大致可以分为以下三类：<br />
<blockquote>
<p>价格、收益率和利率
<ol>
<li>价格(pr)  </li>
<li>面值(par)  </li>
<li>清偿价值(redemption)—债券到期后兑付的价格  </li>
<li>收益率(yld)  </li>
<li>利率(rate)</li>
</ol>
<p>日期
<ol>
<li>发行日(issue)  </li>
<li>交易日(settlement)  </li>
<li>到期日(maturity)  </li>
<li>首期付息日(first_coupon)  </li>
<li>末期付息日(last_coupon)</li>
</ol>
<p>日期基准
<ol>
<li>计息次数(frequency)—按年支付，1；半年，2；季度，4  </li>
<li>日计数基准(basis)—美国基准（默认），30/360，0；每月实际天数/每年实际天数，1；每月实际天数/360，2；每月实际天数/365，3；欧洲基准，30/360，4，它将31日计入下一月</li>
</ol>
</blockquote>
<p>更多可以参考：
<ol>
<li>Excel联机帮助：函数参考—财务  </li>
<li>Microsoft Office Online: Microsoft Office Excel—<a href="http://office.microsoft.com/en-us/excel/CH062528251033.aspx?stt=1" target="_blank">Financial Functions</a> </li>
<li>王小民编著《Excel 2002高级应用——金融财务》，机工，2003</li>
</ol>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/12/28/excel%e5%80%ba%e5%88%b8%e8%ae%a1%e7%ae%97%e5%87%bd%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>金融随机过程：备忘录</title>
		<link>http://www.jiangtanghu.com/cn/2007/12/20/%e9%87%91%e8%9e%8d%e9%9a%8f%e6%9c%ba%e8%bf%87%e7%a8%8b%ef%bc%9a%e5%a4%87%e5%bf%98%e5%bd%95/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/12/20/%e9%87%91%e8%9e%8d%e9%9a%8f%e6%9c%ba%e8%bf%87%e7%a8%8b%ef%bc%9a%e5%a4%87%e5%bf%98%e5%bd%95/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9953</guid>
		<description><![CDATA[All the stochastic calculus you need to know and no more… 如果有兴趣，你当然可以把Neftci(2000)从头到尾读下来，对金融数学要求的随机微积分了解个通透。这本书会从导数的定义开始，一直讲到我们需要的Itō积分、鞅还有PDE，它是Wilmott(2006)还有Hull(2006)都推荐的书（Wilmott看着就是追随这本）。当然，Hull的相关章节（加上附录）也是我们初步了解随机微积分的极好途径，其他的书大都藏头藏尾，遮遮掩掩。有本中文书，台湾陈松男(2002)，不回避大多数学问题，读着也是痛快淋漓，而且提供了大多数教科书不曾见到的数学细节。以下这个读书笔记，参照的就是Hull和陈松男（下面当然不好显示数学符号，你可以在我的Google Page找到下文详细的pdf版本，一个叫FinancialStochasticCalculus.pdf    的文件）： 马尔科夫过程(Markov Stochastic Process) 维纳过程(Wiener Process) Delta(z)的概率分布性质 把时段的长度放大至T 一般化的维纳过程 伊藤过程(Itō Process) 伊藤引理(Itō&#8217;s Lemma) 伊藤引理(Itō&#8217;s Lemma)的扩展 股票价格的变动过程 伊藤引理应用于股价的变动过程 参考文献 Paul Wilmott. Paul Wilmott on Quantitative Finance (Volume One, 2nd Ed.).John Wiley &#38;Sons, 2006 Salih N. Neftci. An Introduction to the Mathematics of Financial Derivatives [...]]]></description>
			<content:encoded><![CDATA[<h1>All the stochastic calculus you need to know and no more…<br />
</h1>
<p>如果有兴趣，你当然可以把Neftci(2000)从头到尾读下来，对金融数学要求的随机微积分了解个通透。这本书会从导数的定义开始，一直讲到我们需要的Itō积分、鞅还有PDE，它是Wilmott(2006)还有Hull(2006)都推荐的书（Wilmott看着就是追随这本）。当然，Hull的相关章节（加上附录）也是我们初步了解随机微积分的极好途径，其他的书大都藏头藏尾，遮遮掩掩。有本中文书，台湾<a href="http://www.banking.nccu.edu.tw/staff/teacher/csn/index.htm">陈松男</a>(2002)，不回避大多数学问题，读着也是痛快淋漓，而且提供了大多数教科书不曾见到的数学细节。以下这个读书笔记，参照的就是Hull和陈松男（下面当然不好显示数学符号，你可以在<a href="http://jiangtanghu.googlepages.com/filesshared">我的Google Page</a>找到下文详细的pdf版本，一个叫<a href="http://pages.google.com/edit/JiangtangHu/FinancialStochasticCalculus.pdf">FinancialStochasticCalculus.pdf    </a>的文件）：</p>
<ol>
<li>马尔科夫过程(Markov Stochastic Process)
</li>
<li>维纳过程(Wiener Process)
</li>
<li>Delta(z)的概率分布性质
</li>
<li>把时段的长度放大至T
</li>
<li>一般化的维纳过程
</li>
<li>伊藤过程(Itō Process)
</li>
<li>伊藤引理(Itō&#8217;s Lemma)
</li>
<li>伊藤引理(Itō&#8217;s Lemma)的扩展
</li>
<li>股票价格的变动过程
</li>
<li>
<div style="text-align:justify">伊藤引理应用于股价的变动过程
</div>
</li>
</ol>
<p style="text-align:justify">参考文献</p>
<ol>
<li>Paul Wilmott. Paul Wilmott on Quantitative Finance (Volume One, 2<sup>nd</sup> Ed.).John Wiley &amp;Sons, 2006
</li>
<li>Salih N. Neftci. An Introduction to the Mathematics of Financial Derivatives (2<sup>nd</sup> Ed., 2000). 武汉大学出版社影印版，2007
</li>
<li>John C. Hull. Options, Futures and Other Derivatives (6<sup>th</sup> Ed.). Prentice Hall, 2006
</li>
<li>
<div style="text-align:justify"> 陈松男《金融工程学——金融商品创新选择权理论》，复旦大学出版社，2002</div>
</li>
</ol>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/12/20/%e9%87%91%e8%9e%8d%e9%9a%8f%e6%9c%ba%e8%bf%87%e7%a8%8b%ef%bc%9a%e5%a4%87%e5%bf%98%e5%bd%95/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Paul Wilmott&#8217;s Books on Quantitative Finance</title>
		<link>http://www.jiangtanghu.com/cn/2007/12/05/paul-wilmotts-books-on-quantitative-finance/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/12/05/paul-wilmotts-books-on-quantitative-finance/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9952</guid>
		<description><![CDATA[Paul Wilmott在数量金融(Quantitative Finance)方面的书，跟Fabozzi（发包子）在固定收益(Fixed Income)方面的书一样有名，一样充满重复，不过捡来的声誉要高得多。现在有朋友问，他哪些书值得买（或者复印、打印），其实这个问题Paul写书之前——我看——就给出了答案。他最有名的书，Paul Wilmott on Quantitative Finance，以前是两卷本（2000，1064页），现在是三卷（2006，1500页），手头备一份就可以了。如果还嫌贵，Paul还准备了一册Paul Wilmott Introduces Quantitative Finance（2007，722页），是上面三卷本的精简版。 是已经够了。不过在国内，还偶尔能看到Paul的另一本Derivatives: the Theory and Practice of Financial Engineering（1998，768页），或者一册更薄的，The Mathematics of Financial Derivatives: A Student Introduction（1995，330页），这本小书又是他的Option Pricing: mathematical Methods and Computation（1994，457页）的缩写。 这些书章节惊人的重复，大概看看下面的几个目录就可以决定取舍了： Paul Wilmott on Quantitative Finance三卷本（2006，1500页） 第一卷 1. Products and Markets 2. Derivatives 3. The Random Behavior of Assets 4. Elementary Stochastic Calculus [...]]]></description>
			<content:encoded><![CDATA[<p>Paul Wilmott在数量金融(Quantitative Finance)方面的书，跟Fabozzi（发包子）在固定收益(Fixed Income)方面的书一样有名，一样充满重复，不过捡来的声誉要高得多。现在有朋友问，他哪些书值得买（或者复印、打印），其实这个问题Paul写书之前——我看——就给出了答案。他最有名的书，<em>Paul Wilmott on Quantitative Finance</em>，以前是<a href="http://www.amazon.com/Paul-Wilmott-Quantitative-Finance-Set/dp/0471874388/ref=pd_bbs_sr_8?ie=UTF8&amp;s=books&amp;qid=1196843214&amp;sr=8-8" target="_blank">两卷本</a>（2000，1064页），现在是<a href="http://www.amazon.com/Paul-Wilmott-Quantitative-Finance-Set/dp/0470018704/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1196843214&amp;sr=8-1" target="_blank">三卷</a>（2006，1500页），手头备一份就可以了。如果还嫌贵，Paul还准备了一册<em>Paul Wilmott Introduces Quantitative Finance</em>（2007，722页），是上面三卷本的<a href="http://www.amazon.com/Paul-Wilmott-Introduces-Quantitative-Finance/dp/0470319585/ref=pd_bbs_sr_2?ie=UTF8&amp;s=books&amp;qid=1196843214&amp;sr=8-2" target="_blank">精简版</a>。 </p>
<p>是已经够了。不过在国内，还偶尔能看到Paul的另一本<em>Derivatives: the Theory and Practice of Financial Engineering</em>（1998，768页），或者一册更薄的，<em>The Mathematics of Financial Derivatives: A Student Introduction</em>（1995，330页），这本小书又是他的Option Pricing: mathematical Methods and Computation（1994，457页）的缩写。 </p>
<p>这些书章节惊人的重复，大概看看下面的几个目录就可以决定取舍了：<br />
<table border="0" cellpadding="2" cellspacing="0" width="815">
<tbody>
<tr>
<td valign="top" width="465">
<p><em>Paul Wilmott on Quantitative Finance</em>三卷本（2006，1500页） </p>
<p>第一卷 </p>
<p>1. Products and Markets <br />2. Derivatives <br />3. The Random Behavior of Assets <br />4. Elementary Stochastic Calculus <br />5. The Black-Scholes Model <br />6. Partial Differential Equations <br />7. The Black-Scholes Formulae and the &#8216;Greeks&#8217; <br />8. Simple Generalizations of the Black-Scholes World <br />9. Early Exercise and American Options <br />10. Probability Density Functions and First Exit Times <br />11. Multi-asset Options <br />12. How to Delta Hedge <br />13. Fixed-income Products and Analysis: Yield, Duration and Convexity <br />14. Swaps <br />15. The Binomial Model <br />16. How Accurate is the Normal Approximation? <br />17. Investment Lessons from Blackjack and Gambling <br />18. Portfolio Management <br />19. Value at Risk <br />20. Forecasting the Markets? <br />21. A Trading Game </p>
<p>第二卷  </p>
<p>22. An Introduction to Exotic and Path-dependent Options <br />23. Barrier Options <br />24. Strongly Path-dependent Options <br />25. Asian Options <br />26. Lookback Options <br />27. Derivatives and Stochastic Control <br />28. Miscellaneous Exotics <br />29. Equity and FX Term Sheets <br />30. One-factor Interest Rate Modeling <br />31. Yield Curve Fitting <br />32. Interest Rate Derivatives <br />33. Convertible Bonds <br />34. Mortgage-backed Securities <br />35. Multi-factor Interest Rate Modeling <br />36. Empirical Behavior of the Spot Interest Rate <br />37. The Heath, Jarrow &amp; Morton and Brace, Gatarek &amp; Musiela Models <br />38. Fixed Income Term Sheets <br />39. Value of the Firm and the Risk of Default <br />40. Credit Risk <br />41. Credit Derivatives <br />42. RiskMetrics and CreditMetrics <br />43. CrashMetrics <br />44. Derivatives **** Ups  </p>
<p>第三卷 </p>
<p>45. Financial Modeling <br />46. Defects in the Black-Scholes Model <br />47. Discrete Hedging <br />48. Transaction Costs <br />49. Overview of Volatility Modeling <br />50. Volatility Smiles and Surfaces <br />51. Stochastic Volatility <br />52. Uncertain Parameters <br />53. Empirical Analysis of Volatility <br />54. Stochastic Volatility and Mean-variance Analysis <br />55. Asymptotic Analysis of Volatility <br />56. Volatility Case Study: The Cliquet Option <br />57. Jump Diffusion <br />58. Crash Modeling <br />59. Speculating with Options <br />60. Static Hedging <br />61. The Feedback Effect of Hedging in Illiquid Markets <br />62. Utility Theory <br />63. More About American Options and Related Matters <br />64. Advanced Dividend Modeling <br />65. Serial Autocorrelation in Returns <br />66. Asset Allocation in Continuous Time <br />67. Asset Allocation Under Threat Of A Crash <br />68. Interest-rate Modeling Without Probabilities <br />69. Pricing and Optimal Hedging of Derivatives, the Non-probabilistic Model Cont&#8217;d <br />70. Extensions to the Non-probabilistic Interest-rate Model <br />71. Modeling Inflation <br />72. Energy Derivatives <br />73. Real Options <br />74. Life Settlements and Viaticals <br />75. Bonus Time <br />76. Overview of Numerical Methods <br />77. Finite-difference Methods for One-factor Models <br />78. Further Finite-difference Methods for One-factor Models <br />79. Finite-difference Methods for Two-factor Models <br />80. Monte Carlo Simulation and Related Methods <br />81. Numerical Integration and Simulation Methods <br />82. Finite-difference Programs <br />83. Monte Carlo Programs <br />A. All the Math You Need… and No More (An Executive Summary) </p>
</td>
<td valign="top" width="349">
<p><em>Paul Wilmott Introduces Quantitative Finance</em> </p>
<p>1 Products and Markets: Equities, Commodities, Exchange Rates, Forwards and Futures </p>
<p>2 Derivatives </p>
<p>3 The Binomial Model </p>
<p>4 The Random Behavior of Assets </p>
<p>5 Elementary Stochastic Calculus  </p>
<p>6 The Black-Scholes Model </p>
<p>7 Partial Differential Equations </p>
<p>8 The Black-Scholes Formula and the &#8216;Greeks&#8217; </p>
<p>9 Overview of Volatility Modeling </p>
<p>10 How to Delta Hedge </p>
<p>11 An Introduction to Exotic and Path-dependent Options </p>
<p>12 Multi-asset Options </p>
<p>13 Barrier Options </p>
<p>14 Fixed-income Products and Analysis: Yield, Duration and Convexity </p>
<p>15 Swaps </p>
<p>16 One-factor Interest Rate Modeling </p>
<p>17 Yield Curve Fitting </p>
<p>18 Interest Rate Derivatives </p>
<p>19 The Heath, Jarrow &amp; Morton and Brace, Gatarek &amp; Musiela Models </p>
<p>20 Investment Lessons from Blackjack and Gambling </p>
<p>21 Portfolio Management </p>
<p>22 Value at Risk </p>
<p>23 Credit Risk </p>
<p>24 RiskMetrics and CreditMetrics </p>
<p>25 CrashMetrics </p>
<p>26 Derivatives **** Ups </p>
<p>27 Overview of Numerical Methods </p>
<p>28 Finite-difference Methods for One-factor Models </p>
<p>29 Monte Carlo Simulation </p>
<p>30 Numerical Integration </p>
<p>A All the Math You Need. . . and No More (An Executive Summary) </p>
<p>B Forecasting the Markets? A Small Digression </p>
<p>C A Trading Game </p>
<p>D Contents of CD accompanying Paul Wilmott Introduces Quantitative Finance, second edition </p>
<p>E What you get if (when) you upgrade to PWOQF2 </p>
<p>Bibliography </p>
<p>Index </p>
<p>  </p>
<p><em>The Mathematics of Financial Derivatives: A Student Introduction</em> </p>
<p>PART I: Basic Option Theory <br />1. An Introduction to Options and Markets <br />2. Asset Price Random Walks <br />3. The Black-Scholes Model <br />4. Partial Differential Equations <br />5. The Black-Scholes Formulae <br />6. Variations on the Black-Scholes Model <br />7. American Options <br />PART II: Numerical Methods <br />8. Finite-Difference Methods <br />9. Methods for American Options <br />10. Binomial Methods <br />PART III: Further Option Theory <br />11. Exotic and Path-Dependent Options <br />12. Barrier Options <br />13. A Unifying Framework for Path-Dependent Options <br />14. Asian Options <br />15. Lookback Options <br />16. Options with Transaction Costs <br />PART IV: Interest Rate Derivative Products <br />17. Interest rate Derivatives <br />18. Convertible Bonds <br />Hints to Selected Exercises <br />Bibliography <br />Index</p>
</td>
</tr>
</tbody>
</table>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/12/05/paul-wilmotts-books-on-quantitative-finance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BNF标记法：简介</title>
		<link>http://www.jiangtanghu.com/cn/2007/11/23/bnf%e6%a0%87%e8%ae%b0%e6%b3%95%ef%bc%9a%e7%ae%80%e4%bb%8b/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/11/23/bnf%e6%a0%87%e8%ae%b0%e6%b3%95%ef%bc%9a%e7%ae%80%e4%bb%8b/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Computers and Internet]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9951</guid>
		<description><![CDATA[Backus-Naur Form，巴克斯-诺尔形式 你经常看到类似下面的语法说明： PROC FREQ &#60; options &#62; ; BY variables ; EXACT statistic-options &#60; / computation-options &#62; ; OUTPUT &#60; OUT=SAS-data-set &#62; options ; TABLES requests &#60; / options &#62; ; TEST options ; WEIGHT variable &#60; / option &#62; ; 这些类似的标记就称作Fackus-Naur Form，简称BNF，是John Backus和Peter Naur为每一种编程语言设计的语法规则标记符号。 这套标记法非常复杂，一般掌握下面的一个超级简化版本就可以了：   符号 含义 &#60;&#62; 包含术语，必选项 &#124; 分隔可选项（互斥OR） [] 可选项 [...]]]></description>
			<content:encoded><![CDATA[<h5>Backus-Naur Form，巴克斯-诺尔形式</h5>
<p>你经常看到类似下面的语法说明：</p>
<p>
<dt>PROC FREQ &lt; options &gt; <b>;</b>
<dd>BY variables <b>;</b>
<dd>EXACT statistic-options &lt; <b>/</b> computation-options &gt; <b>;</b>
<dd>OUTPUT &lt; OUT<strong>=</strong>SAS-data-set &gt; options <b>;</b>
<dd>TABLES requests &lt; <b>/</b> options &gt; <b>;</b>
<dd>TEST options <b>;</b>
<dd>WEIGHT variable &lt; <b>/</b> option &gt; <b>;</b></dd>
<p>这些类似的标记就称作<a href="http://baike.baidu.com/view/1137652.htm" target="_blank">Fackus-Naur Form</a>，简称BNF，是John Backus和Peter Naur为每一种编程语言设计的语法规则标记符号。 这套标记法非常复杂，一般掌握下面的一个超级简化版本就可以了：</p>
<p> </p>
<table cellspacing="0" cellpadding="2" width="400" border="0">
<tbody>
<tr>
<td valign="top" width="70">符号</td>
<td valign="top" width="328">含义</td>
</tr>
<tr>
<td valign="top" width="70">&lt;&gt;</td>
<td valign="top" width="328">包含术语，必选项</td>
</tr>
<tr>
<td valign="top" width="70">|</td>
<td valign="top" width="328">分隔可选项（互斥OR）</td>
</tr>
<tr>
<td valign="top" width="70">[]</td>
<td valign="top" width="328">可选项</td>
</tr>
<tr>
<td valign="top" width="70">{}</td>
<td valign="top" width="328">指出至少需要一个必须项</td>
</tr>
<tr>
<td valign="top" width="70">,&#8230;</td>
<td valign="top" width="328">指出可以可选地被重复多次的项目</td>
</tr>
</tbody>
</table>
<p> </p>
<p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/BNF" rel="tag">BNF</a>, <a href="http://technorati.com/tags/Backus-Naur Form" rel="tag">Backus-Naur Form</a>, <a href="http://technorati.com/tags/%e6%a0%87%e8%ae%b0%e7%ac%a6%e5%8f%b7" rel="tag">标记符号</a></div>
</p>
</dd>
</dd>
</dd>
</dd>
</dd>
</dt>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/11/23/bnf%e6%a0%87%e8%ae%b0%e6%b3%95%ef%bc%9a%e7%ae%80%e4%bb%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL——在Oracle SQL*Plus里工作（1）：基础篇</title>
		<link>http://www.jiangtanghu.com/cn/2007/11/22/sql%e2%80%94%e2%80%94%e5%9c%a8oracle-sqlplus%e9%87%8c%e5%b7%a5%e4%bd%9c%ef%bc%881%ef%bc%89%ef%bc%9a%e5%9f%ba%e7%a1%80%e7%af%87/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/11/22/sql%e2%80%94%e2%80%94%e5%9c%a8oracle-sqlplus%e9%87%8c%e5%b7%a5%e4%bd%9c%ef%bc%881%ef%bc%89%ef%bc%9a%e5%9f%ba%e7%a1%80%e7%af%87/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[数据库和数据仓库]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9950</guid>
		<description><![CDATA[自己整理出来的东西，做备忘最好。他人的东西，无论多详整，都不会像下面的东西让我记起更多。 1.使用演示帐号scott进入SQL*Plus，密码是tiger，这里帐号和密码不区分大小写。或者，你用其他任何一个账户登录SQL*Plus，再敲入连接scott的命令 connect scott/tiger 。scott账户下有一些简单的练习数据，在oracle的安装路径里，你找到一个叫adminscott.sql的脚本，可以查看端倪。这里面有三张常用的表：员工表emp、部门表dept和工资表salgrade。 2.一个最简洁的sql语句由select*  from  表的名字  组成，即，sql至少要包括select和from两个字句。有时你要在sql下演示，比如说只是把大写字母A转化成小写a（函数lower(&#8216;A&#8217;)），你看上去不需要数据库提供的任何表，但语法还需要一个from字句。此时可以用Oracle提供的一张虚表dual，如select  lower(&#8216;A&#8217;)  from dual。 3.改变系统默认格式——日期：alter session set nls_date_language=&#8217;american&#8217; 。 4.显示变量标签：select empno as &#34;emp number&#34;,ename name from emp。两种方式，用空格隔开方便些，加as好读些。 5.连接运算符&#124;&#124;和distinct关键字。 6.限制性查询where：比较运算符between and 、in、 like。 7.like运算符的通配符：%代表零个或多个字符，_代表一个（只是一个）字符（_不是-）。 8.定义转义符（escape）：where ename like &#8216;IT\_%&#8217; escape &#8216;\&#8217;。&#8217;\'是c语言中的转义符。_本是通配符。 9.如果使用order by排序语句，要把它放在sql的最后。默认是按升序。 10.desc[ribe],描述表的结构。 11.set line[size]调整显示屏的显示宽度，默认是80。同样有set pagee[size]。 12.行编辑命令：  　　A[PPEND] text : 在缓冲区行的末尾加上text的文本。 　　C[HANGE]/old/new：将当前行中old替换为new 　　C[HANGE]/text: 从行中删除text文本 　　CL[EAR] BUFF[ER]：清除缓冲区里所有的行 　　DEL ： 删除当前行 [...]]]></description>
			<content:encoded><![CDATA[<h5>自己整理出来的东西，做备忘最好。他人的东西，无论多详整，都不会像下面的东西让我记起更多。</h5>
<p>1.使用演示帐号scott进入SQL*Plus，密码是tiger，这里帐号和密码不区分大小写。或者，你用其他任何一个账户登录SQL*Plus，再敲入连接scott的命令<strong> </strong>connect scott/tiger<em> 。</em>scott账户下有一些简单的练习数据，在oracle的安装路径里，你找到一个叫adminscott.sql的脚本，可以查看端倪。这里面有三张常用的表：员工表emp、部门表dept和工资表salgrade。 </p>
<p>2.一个最简洁的sql语句由select*  from  表的名字  组成，即，sql至少要包括select和from两个字句。有时你要在sql下演示，比如说只是把大写字母A转化成小写a（函数lower(&#8216;A&#8217;)），你看上去不需要数据库提供的任何表，但语法还需要一个from字句。此时可以用Oracle提供的一张虚表dual，如select  lower(&#8216;A&#8217;)  from dual。 </p>
<p>3.改变系统默认格式——日期：alter session set nls_date_language=&#8217;american&#8217; 。 </p>
<p>4.显示变量标签：select empno <em>as &quot;emp number&quot;</em>,ename <em>name</em> from emp。两种方式，用空格隔开方便些，加as好读些。 </p>
<p>5.连接运算符||和distinct关键字。 </p>
<p>6.限制性查询where：比较运算符between and 、in、 like。 </p>
<p>7.like运算符的通配符：%代表零个或多个字符，_代表一个（只是一个）字符（_不是-）。 </p>
<p>8.定义转义符（escape）：where ename like &#8216;IT\_%&#8217; escape &#8216;\&#8217;。&#8217;\'是c语言中的转义符。_本是通配符。 </p>
<p>9.如果使用order by排序语句，要把它放在sql的最后。默认是按升序。 </p>
<p>10.desc[ribe],描述表的结构。 </p>
<p>11.set line[size]调整显示屏的显示宽度，默认是80。同样有set pagee[size]。 </p>
<p>12.行编辑命令： <br />
<h5>　　A[PPEND] text : 在缓冲区行的末尾加上text的文本。  </h5>
<h5></h5>
<p>　　C[HANGE]/old/new：将当前行中old替换为new<br />
<h5></h5>
<p>　　C[HANGE]/text: 从行中删除text文本<br />
<h5></h5>
<p>　　CL[EAR] BUFF[ER]：清除缓冲区里所有的行<br />
<h5></h5>
<p>　　DEL ： 删除当前行<br />
<h5></h5>
<p>　　DEL *：删除当前行<br />
<h5></h5>
<p>　　DEL n * : 删除从n行到当前行。<br />
<h5></h5>
<p>　　DEL LAST：删除最后一行。<br />
<h5></h5>
<p>　　DEL m n：删除范围为：m到n行。<br />
<h5></h5>
<p>　　DEL * N：从当前行向后删除到n行。<br />
<h5></h5>
<p>　　I[NPUT]：在当前行后插入任意数量的命令行；添加一或者多行到缓冲区<br />
<h5></h5>
<p>　　INPUT text ：添加包含的文本。<br />
<h5></h5>
<p>　　L[IST]：列出缓冲区里所有的行。<br />
<h5></h5>
<p>　　LIST n ：列出第n行。<br />
<h5></h5>
<p>　　LIST * :列出当前行。<br />
<h5></h5>
<p>　　LIST LAST ：列出最后一行。<br />
<h5></h5>
<p>　　LIST m n LIST * n: </p>
<p>      n:指定第n行为当前行 </p>
<p>      n text：用text的文本的内容替代第n行 </p>
<p>      o text：在第一行之前插入text指定的文本 </p>
<p>13.保存脚本：save d:\…，保存结果spool d:\… spool off，载入：get d:\…，编辑：ed d:\…，运行：@ d:\…。
<div style="margin:0px;padding:0px;display:inline">Technorati Tags: <a href="http://technorati.com/tags/Oracle" rel="tag">Oracle</a>, <a href="http://technorati.com/tags/SQL" rel="tag">SQL</a>, <a href="http://technorati.com/tags/SQL*Plus" rel="tag">SQL*Plus</a></div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/11/22/sql%e2%80%94%e2%80%94%e5%9c%a8oracle-sqlplus%e9%87%8c%e5%b7%a5%e4%bd%9c%ef%bc%881%ef%bc%89%ef%bc%9a%e5%9f%ba%e7%a1%80%e7%af%87/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>常见数据挖掘错误：识别和纠正（译稿）</title>
		<link>http://www.jiangtanghu.com/cn/2007/11/21/%e5%b8%b8%e8%a7%81%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e9%94%99%e8%af%af%ef%bc%9a%e8%af%86%e5%88%ab%e5%92%8c%e7%ba%a0%e6%ad%a3%ef%bc%88%e8%af%91%e7%a8%bf%ef%bc%89/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/11/21/%e5%b8%b8%e8%a7%81%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e9%94%99%e8%af%af%ef%bc%9a%e8%af%86%e5%88%ab%e5%92%8c%e7%ba%a0%e6%ad%a3%ef%bc%88%e8%af%91%e7%a8%bf%ef%bc%89/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9949</guid>
		<description><![CDATA[与ttnn的几个朋友一起翻译的一篇稿子，是SAS公司Doug Wielenga在今年SAS全球论坛的一篇会议论文，Identifying and Overcoming Common Data Mining Mistakes.翻译这篇文章得到了SAS公司与作者本人的许可，并许诺不做于商业用途。 你可以自由散发这个译本，并保证不用做商业用途，引用时请注明“《ttnn BI 观点》集体翻译”。有任何问题可以与译者联系，联系信息在文档的末尾。 翻译这篇文字的过程，见《常见数据挖掘错误：识别和纠正》翻译告捷！》; 译稿下载，在http://groups.google.com/group/ttnn/web/kuihuabaodian.pdf； 原稿，在http://www.iapa.org.au/Environments/edoras/Resources/IAPA/SAS%20Global%20Forum%200732007.pdf. 附，这篇文章的结构如下： AbstractIntroduction 1.          Preparing The Data 1.1           Failing To Consider Enough Variables 1.2           Incorrectly Preparing Or Failing To Prepare Categorical Predictors 1.2.1      Too Many Overall Levels 1.2.2      Levels That Rarely Occur 1.2.3      One Level That Almost Always Occurs 1.3           Incorrectly Preparing [...]]]></description>
			<content:encoded><![CDATA[<p>与ttnn的几个朋友一起翻译的一篇稿子，是SAS公司Doug Wielenga在今年SAS全球论坛的一篇会议论文，<em>Identifying and Overcoming Common Data Mining Mistakes</em>.翻译这篇文章得到了SAS公司与作者本人的许可，并许诺不做于商业用途。</p>
<p>你可以自由散发这个译本，并保证不用做商业用途，引用时请注明“《ttnn BI 观点》集体翻译”。有任何问题可以与译者联系，联系信息在文档的末尾。</p>
<blockquote><p>翻译这篇文字的过程，见《<a href="http://groups.google.com/group/ttnn/browse_thread/thread/dfe0d0b8ecc10723#03526570c7966ba3" target="_blank">常见数据挖掘错误：识别和纠正》翻译告捷！</a>》;</p>
<p>译稿下载，在<a href="http://groups.google.com/group/ttnn/web/kuihuabaodian.pdf">http://groups.google.com/group/ttnn/web/kuihuabaodian.pdf</a>；</p>
<p>原稿，在<a title="http://www.iapa.org.au/Environments/edoras/Resources/IAPA/SAS%20Global%20Forum%200732007.pdf" href="http://www.iapa.org.au/Environments/edoras/Resources/IAPA/SAS Global Forum 0732007.pdf">http://www.iapa.org.au/Environments/edoras/Resources/IAPA/SAS%20Global%20Forum%200732007.pdf</a>.</p>
</blockquote>
<p>附，这篇文章的结构如下：</p>
<p>Abstract<br />Introduction  </p>
<p>1.          Preparing The Data  </p>
<p>1.1           Failing To Consider Enough Variables  </p>
<p>1.2           Incorrectly Preparing Or Failing To Prepare Categorical Predictors  </p>
<p>1.2.1      Too Many Overall Levels  </p>
<p>1.2.2      Levels That Rarely Occur  </p>
<p>1.2.3      One Level That Almost Always Occurs  </p>
<p>1.3           Incorrectly Preparing Or Failing To Prepare Continuous Predictors  </p>
<p>1.3.1      Extremely Skewed Predictors  </p>
<p>1.3.2      A Spike And A Distribution  </p>
<p>1.3.3      One Level That Almost Always Occurs  </p>
<p>1.3.4      Ignoring Or Misusing Time-Dependent Information  </p>
<p>2            Defining Roles, Performing Sampling, And Defining Target Profiles  </p>
<p>2.1           Inappropriate Metadata  </p>
<p>2.2           Inadequate Or Excessive Input Data  </p>
<p>2.3           Inappropriate Or Missing Target Profile For Categorical Target  </p>
<p>2.4           Target Variable Event Levels Occurring In Different Proportions  </p>
<p>2.5           Differences In Misclassification Costs  </p>
<p>3            Partitioning The Data  </p>
<p>3.1           Misunderstanding The Roles Of The Partitioned Data Sets  </p>
<p>3.2           Failing To Consider Changing The Default Partition  </p>
<p>4            Choosing The Variables  </p>
<p>4.1           Failing To Evaluate The Variables Before Selection  </p>
<p>4.2           Using Only One Selection Method  </p>
<p>4.3           Misunderstanding Or Ignoring Variable Selection Options  </p>
<p>4.3.1      Choosing Settings In The ??2 Mode  </p>
<p>4.3.2      Choosing Settings In The R2 Mode  </p>
<p>5            Replacing Missing Data  </p>
<p>5.1           Failing To Evaluate Imputation Method  </p>
<p>5.2           Overlooking Missing Value Indicators  </p>
<p>6            Fitting Linear Regression Models  </p>
<p>6.1           Overusing Stepwise Regression  </p>
<p>6.2           Inaccurately Interpreting The Results  </p>
<p>7            Fitting Decision Tree Models  </p>
<p>7.1           Ignoring Tree Instability  </p>
<p>7.2           Ignoring Tree Limitations  </p>
<p>8            Fitting Neural Network Models  </p>
<p>8.1           Failing To Do Variable Selection  </p>
<p>8.2           Failing To Consider Neural Networks  </p>
<p>9            Comparing Fitted Models  </p>
<p>9.1           Misinterpreting Lift  </p>
<p>9.2           Choosing The Wrong Assessment Statistic  </p>
<p>10        Scoring New Data  </p>
<p>10.1        Generating Inefficient Score Code  </p>
<p>10.2        Ignoring The Model Performance  </p>
<p>11        Clustering Your Data  </p>
<p>11.1        Building One Cluster Solution  </p>
<p>11.2        Including (Many) Categorical Variables  </p>
<p>12        Performing Association And Sequence Analysis  </p>
<p>12.1        Failing To Sort The Data Set  </p>
<p>12.2        Failing To Manage The Number Of Outcomes  </p>
<p>Conclusion  </p>
<p>References  </p>
<p>Acknowledgments  </p>
<p>Contact Information </p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a>, <a href="http://technorati.com/tags/%e9%94%99%e8%af%af%e4%b8%8e%e8%af%86%e5%88%ab" rel="tag">错误与识别</a>, <a href="http://technorati.com/tags/ttnn BI%e8%a7%82%e7%82%b9" rel="tag">ttnn BI观点</a>, <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/Data mining" rel="tag">Data mining</a>, <a href="http://technorati.com/tags/Doug Wielenga" rel="tag">Doug Wielenga</a>, <a href="http://technorati.com/tags/Identifying and Overcoming Common Data Mining Mistakes" rel="tag">Identifying and Overcoming Common Data Mining Mistakes</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/11/21/%e5%b8%b8%e8%a7%81%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e9%94%99%e8%af%af%ef%bc%9a%e8%af%86%e5%88%ab%e5%92%8c%e7%ba%a0%e6%ad%a3%ef%bc%88%e8%af%91%e7%a8%bf%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SAS Base 金融函数</title>
		<link>http://www.jiangtanghu.com/cn/2007/11/10/sas-base-%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/11/10/sas-base-%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9948</guid>
		<description><![CDATA[SAS Base一共有23个金融函数，直接转过来没了表格的样子，索性贴图：   Technorati Tags: SAS Base, 金融函数, Financial Functions]]></description>
			<content:encoded><![CDATA[<p>SAS Base一共有23个金融函数，直接转过来没了表格的样子，索性贴图：</p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLxRtoefyCTTGYrwioP4IeukIa7wDa_FdLVd8ouDp9bDtB82lVddxhlr2tvGjMyR4aU"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height="471" alt="base" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLyU5Wp7tWY1jTbimEwsGpnLMrWVhTByk4cmp40CM004g5OUsMbU2IgoYUtH4aWn-x8" width="650" border="0" /></a> </p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS Base" rel="tag">SAS Base</a>, <a href="http://technorati.com/tags/%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0" rel="tag">金融函数</a>, <a href="http://technorati.com/tags/Financial Functions" rel="tag">Financial Functions</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/11/10/sas-base-%e9%87%91%e8%9e%8d%e5%87%bd%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>答客问：SAS对列求和</title>
		<link>http://www.jiangtanghu.com/cn/2007/11/07/%e7%ad%94%e5%ae%a2%e9%97%ae%ef%bc%9asas%e5%af%b9%e5%88%97%e6%b1%82%e5%92%8c/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/11/07/%e7%ad%94%e5%ae%a2%e9%97%ae%ef%bc%9asas%e5%af%b9%e5%88%97%e6%b1%82%e5%92%8c/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9947</guid>
		<description><![CDATA[SAS Base自带的累加函数SUM，虽然有漂亮的缩写方式如SUM(of x1-x100000)，但几乎没有什么应用价值（除了在数组array下），因为SUM函数是对行求和，而在通常的二维表中，我们经常需要对列求和。这个问题用proc SQL过程最为方便，还有一个简单的替代方案就是在proc print步下使用SUM选项。比如，对count求和: data a;    input ID sex $ count;cards;1 M 32 F 43 M 54 F 5;proc print data=a;    sum count;run; 结果显示： Obs    ID    sex    count  1      1     M        3 2      2     F        4 3      3     M        5 4      4     F        5                    =====                      17 如果想按sex分组显示，则先对sex排序： proc sort data=a;    by sex;run;proc print data=a;    sum count;    by [...]]]></description>
			<content:encoded><![CDATA[<p>SAS Base自带的累加函数SUM，虽然有漂亮的缩写方式如SUM(of x1-x100000)，但几乎没有什么应用价值（除了在数组array下），因为SUM函数是对行求和，而在通常的二维表中，我们经常需要对列求和。这个问题用proc SQL过程最为方便，还有一个简单的替代方案就是在proc print步下使用SUM选项。比如，对count求和:</p>
<blockquote><p>data a;<br />    input ID sex $ count;<br />cards;<br />1 M 3<br />2 F 4<br />3 M 5<br />4 F 5<br />;<br />proc print data=a;<br />    sum count;<br />run; </p>
</blockquote>
<p>结果显示：</p>
<blockquote><p>Obs    ID    sex    count  </p>
<p> 1      1     M        3<br /> 2      2     F        4<br /> 3      3     M        5<br /> 4      4     F        5<br />                    =====<br />                      17 </p>
</blockquote>
<p>如果想按sex分组显示，则先对sex排序：<br />
<blockquote>
<p>proc sort data=a;<br />    by sex;<br />run;<br />proc print data=a;<br />    sum count;<br />    by sex;<br />run;</p>
</blockquote>
<p>结果显示：<br />
<blockquote>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; sex=F &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  </p>
<p>                                         Obs    ID    count  </p>
<p>                                           1     2      4<br />                                           2     4      5<br />                                         &#8212;          &#8212;&#8211;<br />                                         sex            9  </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- sex=M &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  </p>
<p>                                         Obs    ID    count  </p>
<p>                                           3     1       3<br />                                           4     3       5<br />                                         &#8212;          &#8212;&#8211;<br />                                         sex             8<br />                                                      =====<br />                                                        17 </p>
</blockquote>
<p>当然，你可以让结果更紧凑些，比如在proc print中的by sex下面再加一个id sex，看起来就是这样：<br />
<blockquote>
<p>sex    ID    count  </p>
<p> F      2       4<br />        4       5<br />&#8212;          &#8212;&#8211;<br /> F              9  </p>
<p> M      1       3<br />        3       5<br />&#8212;          &#8212;&#8211;<br /> M              8<br />             =====<br />               17 </p>
</blockquote>
<div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/SUM" rel="tag">SUM</a>, <a href="http://technorati.com/tags/SQL" rel="tag">SQL</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/11/07/%e7%ad%94%e5%ae%a2%e9%97%ae%ef%bc%9asas%e5%af%b9%e5%88%97%e6%b1%82%e5%92%8c/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SAS备忘录：format和informat</title>
		<link>http://www.jiangtanghu.com/cn/2007/10/30/sas%e5%a4%87%e5%bf%98%e5%bd%95%ef%bc%9aformat%e5%92%8cinformat/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/10/30/sas%e5%a4%87%e5%bf%98%e5%bd%95%ef%bc%9aformat%e5%92%8cinformat/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9946</guid>
		<description><![CDATA[       被问到informat和format的用法和区别。都是关于变量属性的，以前讲过informat影响到SAS输入数据的格式，而format影响到数据的输出格式。还是不直观，说个能操作的简单例子。        先说format。format影响到SAS的数据输出格式，这个我们举了个例子，输出当前时间： data time;x=date();format x yymmdd8.2;put x=;run;       如果没有format那行，那么SAS系统就会把当前时间输出为一个数字（因为SAS就是用数字存储日期的），format就是指定x的输出格式，以便于我们阅读。       format是改变输出格式，而informat则是关于SAS的读入格式。举个例子，假如你的D盘有个文本数据文件informat.txt，存的是一个时间变量time，有两个观测值： time1998-7-10 1998-7-11       你要是这么读入它，就会出错： data a;infile &#34;d:\informat.txt&#34; firstobs=2;  input time;run;        先解释一下这段。这是一个标准的读入数据的程序，infile &#34;d:\informat.txt&#34;指明文件路径，后面的firstobs=2表明数据从第二行开始读入（因为第一行是变量名time）。如果是数值型的变量，这一定没问题，但这个time的格式是1998-7-11，SAS就读不了，如果不指定time的读入格式。        规定读入格式，就要用到informat了，下面的程序就能正确读入informat.txt了： data aa;infile &#34;d:\informat.txt&#34; firstobs=2;input time;informat time yymmdd10.;run;         informat time yymmdd10.就规定了time的读入格式，SAS系统就知道它存的是时间，就读进来了。读是读进来了，但这是SAS显示的却也是数字。为了让输出我们能明白，就要用到format，改变输出格式，完整的程序如下：  data aaa;infile &#34;d:\informat.txt&#34; firstobs=2;input time;informat time yymmdd10.;format time yymmdd10.;run; Technorati Tags: SAS, informat, format]]></description>
			<content:encoded><![CDATA[<p>       被问到informat和format的用法和区别。都是关于变量属性的，<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!276.entry">以前讲</a>过informat影响到SAS输入数据的格式，而format影响到数据的输出格式。还是不直观，说个能操作的简单例子。</p>
<p>       先说format。format影响到SAS的数据输出格式，这个我们举了个例子，输出当前时间：</p>
<blockquote><p>data time;<br />x=date();<br />format x yymmdd8.2;<br />put x=;<br />run;</p>
</blockquote>
<p>      如果没有format那行，那么SAS系统就会把当前时间输出为一个数字（因为SAS就是用数字存储日期的），format就是指定x的输出格式，以便于我们阅读。</p>
<p>      format是改变输出格式，而informat则是关于SAS的读入格式。举个例子，假如你的D盘有个文本数据文件informat.txt，存的是一个时间变量time，有两个观测值：</p>
<blockquote><p>time<br />1998-7-10 <br />1998-7-11</p>
</blockquote>
<p>      你要是这么读入它，就会出错：</p>
<blockquote><p>data a;<br />infile &quot;d:\informat.txt&quot; firstobs=2;  <br />input time;<br />run;</p>
</blockquote>
<p>       先解释一下这段。这是一个标准的读入数据的程序，infile &quot;d:\informat.txt&quot;指明文件路径，后面的firstobs=2表明数据从第二行开始读入（因为第一行是变量名time）。如果是数值型的变量，这一定没问题，但这个time的格式是1998-7-11，SAS就读不了，如果不指定time的读入格式。 <br />       规定读入格式，就要用到informat了，下面的程序就能正确读入informat.txt了：</p>
<blockquote><p>data aa;<br />infile &quot;d:\informat.txt&quot; firstobs=2;<br />input time;<br />informat time yymmdd10.;<br />run;</p>
</blockquote>
<p>        informat time yymmdd10.就规定了time的读入格式，SAS系统就知道它存的是时间，就读进来了。读是读进来了，但这是SAS显示的却也是数字。为了让输出我们能明白，就要用到format，改变输出格式，完整的程序如下：</p>
<blockquote><p> <br />data aaa;<br />infile &quot;d:\informat.txt&quot; firstobs=2;<br />input time;<br />informat time yymmdd10.;<br />format time yymmdd10.;<br />run;</p>
</blockquote>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/informat" rel="tag">informat</a>, <a href="http://technorati.com/tags/format" rel="tag">format</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/10/30/sas%e5%a4%87%e5%bf%98%e5%bd%95%ef%bc%9aformat%e5%92%8cinformat/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ryszard Michalski</title>
		<link>http://www.jiangtanghu.com/cn/2007/10/23/ryszard-michalski/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/10/23/ryszard-michalski/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[人物]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9945</guid>
		<description><![CDATA[刚从kdnuggets看到的消息，机器学习/数据挖掘领域的领军人物之一，美国乔治马森大学（George Mason University ,GMU）教授，Ryszard S. Michalski（中译名迈克尔斯基），于2007年9月20号死于癌症，享年70岁。 看到这个消息有些触动，是因为手头就有他与人合著的《机器学习与数据挖掘：方法和应用》（Machine Learning and Data Mining Methods an Applications, John Wiley &#38; Sons Ltd.,1998。朱明等译，北京：电子工业出版社,2004，“数据仓库与数据挖掘技术应用丛书”）。这本书的计算机气息比较浓。学校图书馆还有他编的《机器学习：实现人工智能的途径》（王树林等译，北京：科学出版社，1992），英文名叫Machine learning : an artificial intelligence approach(Berlin : Springer, 1984)。 Michalski生于波兰，在波兰和俄罗斯接受大学与博士教育，1970年定居美国。 Technorati Tags: Michalski, kdnuggets, data mining, machine learning, 数据挖掘, 机器学习]]></description>
			<content:encoded><![CDATA[<p>刚从<a href="http://www.kdnuggets.com/news/2007/n20/6i.html">kdnuggets</a>看到的消息，机器学习/数据挖掘领域的领军人物之一，美国乔治马森大学（George Mason University ,GMU）教授，<a href="http://www.mli.gmu.edu/michalski/">Ryszard S. Michalski</a>（中译名迈克尔斯基），于2007年9月20号死于癌症，享年70岁。</p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLzsrYShg1Fgr7cvDsfWixKjh5YytBHSkd6L8lItJuzTHZFE7BguKc7W_QYhh2ItI2o"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" alt="ME/OBIT-MICHALSKI" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLwG-aEsfBAfRN_u7XorTIHKZAs8RfdPkJK1j8dJPTsb1ONAG29zh0R7N_JXCLFDa_A" align="right" border="0" /></a> 看到这个消息有些触动，是因为手头就有他与人合著的《机器学习与数据挖掘：方法和应用》（Machine Learning and Data Mining Methods an Applications, John Wiley &amp; Sons Ltd.,1998。朱明等译，北京：电子工业出版社,2004，“数据仓库与数据挖掘技术应用丛书”）。这本书的计算机气息比较浓。学校图书馆还有他编的《机器学习：实现人工智能的途径》（王树林等译，北京：科学出版社，1992），英文名叫Machine learning : an artificial intelligence approach(Berlin : Springer, 1984)。</p>
<p>Michalski生于波兰，在波兰和俄罗斯接受大学与博士教育，1970年定居美国。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/Michalski" rel="tag">Michalski</a>, <a href="http://technorati.com/tags/kdnuggets" rel="tag">kdnuggets</a>, <a href="http://technorati.com/tags/data mining" rel="tag">data mining</a>, <a href="http://technorati.com/tags/machine learning" rel="tag">machine learning</a>, <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a>, <a href="http://technorati.com/tags/%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0" rel="tag">机器学习</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/10/23/ryszard-michalski/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to pronounce SAS ?</title>
		<link>http://www.jiangtanghu.com/cn/2007/10/19/how-to-pronounce-sas/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/10/19/how-to-pronounce-sas/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9944</guid>
		<description><![CDATA[一直用SAS，一直公开把它念成煞斯，旁边的朋友都这么念了。当然，一般看到a,最好都念成“贰”，而不是“啊”，有个讲究，美国一些教授好像有个“刻版印象”（偏见），比如说Harvard的第一个ar，不要念成“啊”，而要念为“贰”，这样据说显得高雅。SAS这个a似乎是念成“贰”而不是“啊”，它的老板 “晚安”（Jim Goodnight）在一次视频上读过，注意了一下，那个a好像是念成“贰。 刚不小心进入了一个佐治亚大学(the University of Georgia)的SAS邮件组，1997年初的帖子，看着也有不少人对SAS的发音感兴趣，挺好玩的，贴出来，把名字隐去，以前我们也在人大“统计之都”论坛讨论过stata和SAS的发音：  Hi, A simple question: How should I pronounce SAS: is it Es-A-ES of just SAS ? 提问：SAS是把它拆成三个字母单独念，还是连在一起念SAS？ It's pronounced as a single word, &#34;sass&#34; (rhymes with mass, pass, lass, gas, etc.). This goes along with the official SAS Institute position that (for legal reasons) SAS is not an [...]]]></description>
			<content:encoded><![CDATA[<p>一直用SAS，一直公开把它念成煞斯，旁边的朋友都这么念了。当然，一般看到a,最好都念成“贰”，而不是“啊”，有个讲究，美国一些教授好像有个“刻版印象”（偏见），比如说Harvard的第一个ar，不要念成“啊”，而要念为“贰”，这样据说显得高雅。SAS这个a似乎是念成“贰”而不是“啊”，它的老板 “晚安”（Jim Goodnight）在一次视频上读过，注意了一下，那个a好像是念成“贰。</p>
<p>刚不小心进入了一个佐治亚大学(the University of Georgia)的<a href="http://www.listserv.uga.edu/cgi-bin/wa?A1=ind9702c&amp;L=sas-l#39">SAS邮件组</a>，1997年初的帖子，看着也有不少人对SAS的发音感兴趣，挺好玩的，贴出来，把名字隐去，以前我们也在人大“统计之都”论坛讨论过<a href="http://www.cos.name/bbs/read.php?tid=5872&amp;fpage=3">stata和SAS的发音</a>： </p>
<p>
<pre>Hi, A simple question: How should I pronounce SAS: is
it Es-A-ES of just SAS ?</pre>
<pre>提问：SAS是把它拆成三个字母单独念，还是连在一起念SAS？</pre>
<pre>It's pronounced as a single word, &quot;sass&quot; (rhymes with mass, pass, lass,
gas, etc.).  This goes along with the official SAS Institute position that (for
legal reasons) SAS is not an abbreviation or acronym for anything.</pre>
<pre>回帖1：认为SAS要连在一起念，念起来跟sass（顶嘴）、mass（大众）、lass（女佣）差不多。</pre>
<pre>这是因为现在SAS已经不是statistics analysis system的缩写，本身就是一个商标。</pre>
<pre>There is an economist here that always refers to SAS as Es-A-ES.
He doesn't use it -- just makes derogatory comments about it.
We kid him about his statistical package: &quot;Yeah, but can
S-T-A-T-A do this?!?&quot;</pre>
<pre>回帖2：讲了一个笑话。一个损贬SAS的经济学家，把SAS拆开来读成Es-A-Es。</pre>
<pre>就打趣把他用的stata（斯得他）也分开念成s-t-a-t-a</pre>
<pre>Apart from which, a British person might get confused if you used S-A-S
with a military unit of the same pronunciation! Use SASS.</pre>
<pre>回帖3：英国的SAS是皇家空军特勤处(Special Air Service)的缩写。</pre>
<pre>

One syllable.  Rhymes with........mass.
Just SAS.
Most people I know pronounce it as &quot;sass&quot;.  A few say &quot;saz&quot;.
Nobody would know what the heck I was talking about if I
spelled out S-A-S.

</pre>
<pre>Might suggest to the erudite economist that if he doesn't know how to
pronounce it then he must not know much else about it.</pre>
</p>
<p><div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/how to pronounce SAS" rel="tag">how to pronounce SAS</a></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/10/19/how-to-pronounce-sas/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>概率、信息和熵</title>
		<link>http://www.jiangtanghu.com/cn/2007/10/18/%e6%a6%82%e7%8e%87%e3%80%81%e4%bf%a1%e6%81%af%e5%92%8c%e7%86%b5/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/10/18/%e6%a6%82%e7%8e%87%e3%80%81%e4%bf%a1%e6%81%af%e5%92%8c%e7%86%b5/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9943</guid>
		<description><![CDATA[以前写过一篇关于最大熵模型的读书笔记。刚翻陈家鼎和郑忠国两位老师合编的教材《概率与统计》（北大出版社，2007），看到关于信息熵的详细数学表述，不妨转述一下，算是不在场的课堂笔记。 概率与信息 事件A的概率P(A)是A发生可能性的大小的度量。 问题：A的发生带给我们多大的信息呢？ 结论 P(A)越大，则A发生带来的信息越少；反之，P(A)越小，则A的发生带来的信息越大。 例子 有人对你说“某日巴西足球队战胜了中国队”，你觉得他没有给你多少信息，因为这件事发生的概率非常大，结果几乎在预料当中。但如果他说巴西负于某个亚洲队，你会感觉得到的信息不少。 猜想 事件A发生所带来的信息量H(A)应该是它发生的概率P(A)的严格减函数，而且A是必然事件时H(A)=0（“巴西队战胜中国队”）。 若事件A与事件B相互独立，则A与B都发生带来的信息量应该是H(A)与H(B)之和，即H(AB)=H(A)+H(B)。 引理1—H(u)=-clnu 设H(u)是(0,1]上的严格减函数，H(1)=0，则为了满足H(uv)=H(u)+H(v)，对一切0&#60;u,v&#60;1,必须且只需存在c&#62;0，使得H(u)=-clnu,写得更清楚些是—c*ln(u)。 （这里c是一个正的常数，它的大小涉及信息量的单位。为简单起见，一般取c=1） 定义1—信息量的表示 设事件A的概率是P(A)，P(A)&#62;0,则称H(A)=-lnP(A)为A带来的信息量。 定义2—完备事件组的熵 设A1到An(n&#62;=2)是条件S下的完备事件组，P(Ai)&#62;0,对i=1，…n，则称P(A1…An)=-sumP(Ai)lnP(Ai)，为完备事件组A1…An的熵。 定理1—事件有相等的概率时结果的不确定性最大 设A1到An(n&#62;=2)是完备事件组，则当且仅当P(A1)=…P(An)时熵最大。 即，若条件S下可能发生的互不相容的事件至少有两个，则当且仅当这些事件有相等的概率时结果的不确定性最大。 Technorati Tags: 陈家鼎, 郑忠国, 概率, 统计, 信息, 熵]]></description>
			<content:encoded><![CDATA[<p>以前写过一篇关于<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!246.entry">最大熵模型的读书笔记</a>。刚翻陈家鼎和郑忠国两位老师合编的教材《概率与统计》（北大出版社，2007），看到关于信息熵的详细数学表述，不妨转述一下，算是不在场的课堂笔记。</p>
<blockquote><p>概率与信息</p>
</blockquote>
<p>事件A的概率P(A)是A发生可能性的大小的度量。</p>
<p>问题：A的发生带给我们多大的信息呢？</p>
<blockquote><p>结论</p>
</blockquote>
<p>P(A)越大，则A发生带来的信息越少；反之，P(A)越小，则A的发生带来的信息越大。</p>
<blockquote><p>例子</p>
</blockquote>
<p>有人对你说“某日巴西足球队战胜了中国队”，你觉得他没有给你多少信息，因为这件事发生的概率非常大，结果几乎在预料当中。但如果他说巴西负于某个亚洲队，你会感觉得到的信息不少。</p>
<blockquote><p>猜想</p>
</blockquote>
<ol>
<li>事件A发生所带来的信息量H(A)应该是它发生的概率P(A)的严格减函数，而且A是必然事件时H(A)=0（“巴西队战胜中国队”）。</li>
<li>若事件A与事件B相互独立，则A与B都发生带来的信息量应该是H(A)与H(B)之和，即H(AB)=H(A)+H(B)。</li>
</ol>
<blockquote><p>引理1—H(u)=-clnu</p>
</blockquote>
<p>设H(u)是(0,1]上的严格减函数，H(1)=0，则为了满足H(uv)=H(u)+H(v)，对一切0&lt;u,v&lt;1,必须且只需存在c&gt;0，使得H(u)=-clnu,写得更清楚些是—c*ln(u)。</p>
<p>（这里c是一个正的常数，它的大小涉及信息量的单位。为简单起见，一般取c=1）</p>
<blockquote><p>定义1—信息量的表示</p>
</blockquote>
<p>设事件A的概率是P(A)，P(A)&gt;0,则称H(A)=-lnP(A)为A带来的信息量。</p>
<blockquote><p>定义2—完备事件组的熵</p>
</blockquote>
<p>设A1到An(n&gt;=2)是条件S下的完备事件组，P(Ai)&gt;0,对i=1，…n，则称P(A1…An)=-sumP(Ai)lnP(Ai)，为完备事件组A1…An的熵。</p>
<blockquote><p>定理1—事件有相等的概率时结果的不确定性最大</p>
</blockquote>
<p>设A1到An(n&gt;=2)是完备事件组，则当且仅当P(A1)=…P(An)时熵最大。</p>
<p>即，若条件S下可能发生的互不相容的事件至少有两个，则当且仅当这些事件有相等的概率时结果的不确定性最大。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e9%99%88%e5%ae%b6%e9%bc%8e" rel="tag">陈家鼎</a>, <a href="http://technorati.com/tags/%e9%83%91%e5%bf%a0%e5%9b%bd" rel="tag">郑忠国</a>, <a href="http://technorati.com/tags/%e6%a6%82%e7%8e%87" rel="tag">概率</a>, <a href="http://technorati.com/tags/%e7%bb%9f%e8%ae%a1" rel="tag">统计</a>, <a href="http://technorati.com/tags/%e4%bf%a1%e6%81%af" rel="tag">信息</a>, <a href="http://technorati.com/tags/%e7%86%b5" rel="tag">熵</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/10/18/%e6%a6%82%e7%8e%87%e3%80%81%e4%bf%a1%e6%81%af%e5%92%8c%e7%86%b5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>三个有名的决策树算法和它们的叶子</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/20/%e4%b8%89%e4%b8%aa%e6%9c%89%e5%90%8d%e7%9a%84%e5%86%b3%e7%ad%96%e6%a0%91%e7%ae%97%e6%b3%95%e5%92%8c%e5%ae%83%e4%bb%ac%e7%9a%84%e5%8f%b6%e5%ad%90/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/20/%e4%b8%89%e4%b8%aa%e6%9c%89%e5%90%8d%e7%9a%84%e5%86%b3%e7%ad%96%e6%a0%91%e7%ae%97%e6%b3%95%e5%92%8c%e5%ae%83%e4%bb%ac%e7%9a%84%e5%8f%b6%e5%ad%90/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9942</guid>
		<description><![CDATA[以前写过一个小笔记，《三个有名的决策树算法：CHAID、CART和C4.5》,说些它们的区别，刚找到一些树叶，可以辅助理解。曰：  CHAID (chi-squared automatic interaction detection，卡方自动交互检测)的前身是AID，主要特征是多向分叉，前向修剪，其标准如名所示，就是卡方检测；另外，CHAID只能处理类别型的输入变量，因此连续型的输入变量首先要进行离散处理。 标准的CARTclassification and regression trees)又不一样，它只能进行二部分叉，后向修剪，分割标准用的是基尼系数(Gini Index)；  C4.5源自有名的ID3，它只能进行L型分叉，后向修剪，标准乃是基于信息论的“熵”(Entropy)。 Technorati Tags: 决策树, CHAID, CART, C4.5, ID3]]></description>
			<content:encoded><![CDATA[<p>以前写过一个小笔记，《<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!148.entry" target="_blank">三个有名的决策树算法：CHAID、CART和C4.5</a>》,说些它们的区别，刚找到一些树叶，可以辅助理解。曰： </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLyS9kgb_v-yFWkHInGev7H0hBK1arKHXri1YGCIxzJ_7i5pQ6lXec8Xoayurnjsx0M"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="134" alt="未命名" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLxRSqkPDaBKd0wirL5T1ho5kzzav9vGj3g3FLI3YtBiPmtJ5FyX5JHUJNaWwfilCdI" width="136" border="0" /></a> <a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLyYx7Rr4kYInRRXwUlmoIWXKJIYrwGMvogi7P4nwvbPjYiiEXTjDfzN4m703U0HIYo"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="136" alt="未命名" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLx9qfTC9oYm5GW9-5nn8ibd9mf4QDL2UE-OFrsf9IkjUgn009I80WkqHnv306bPxB4" width="123" border="0" /></a><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLzv7iX8ZcXpc3Mf4FgUEL5JWl6pv3R-iM8rJoVbOhLENm6KRfKPp3OMVWee-TqWm4s"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="135" alt="未命名" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLwnplT5H2f3u1THqnTBvmipynWDVcHhIWsiuaB-miGlnmKPEHLRP6b2EQa9u5NCVkI" width="128" border="0" /></a></p>
<p>CHAID (chi-squared automatic interaction detection，卡方自动交互检测)的前身是AID，主要特征是多向分叉，前向修剪，其标准如名所示，就是卡方检测；另外，CHAID只能处理类别型的输入变量，因此连续型的输入变量首先要进行离散处理。</p>
<p>标准的CARTclassification and regression trees)又不一样，它只能进行二部分叉，后向修剪，分割标准用的是基尼系数(Gini Index)； </p>
<p>C4.5源自有名的ID3，它只能进行L型分叉，后向修剪，标准乃是基于信息论的“熵”(Entropy)。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e5%86%b3%e7%ad%96%e6%a0%91" rel="tag">决策树</a>, <a href="http://technorati.com/tags/CHAID" rel="tag">CHAID</a>, <a href="http://technorati.com/tags/CART" rel="tag">CART</a>, <a href="http://technorati.com/tags/C4.5" rel="tag">C4.5</a>, <a href="http://technorati.com/tags/ID3" rel="tag">ID3</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/20/%e4%b8%89%e4%b8%aa%e6%9c%89%e5%90%8d%e7%9a%84%e5%86%b3%e7%ad%96%e6%a0%91%e7%ae%97%e6%b3%95%e5%92%8c%e5%ae%83%e4%bb%ac%e7%9a%84%e5%8f%b6%e5%ad%90/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>提升指数、提升表和提升图</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/19/%e6%8f%90%e5%8d%87%e6%8c%87%e6%95%b0%e3%80%81%e6%8f%90%e5%8d%87%e8%a1%a8%e5%92%8c%e6%8f%90%e5%8d%87%e5%9b%be/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/19/%e6%8f%90%e5%8d%87%e6%8c%87%e6%95%b0%e3%80%81%e6%8f%90%e5%8d%87%e8%a1%a8%e5%92%8c%e6%8f%90%e5%8d%87%e5%9b%be/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9941</guid>
		<description><![CDATA[&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 这篇去年在我的生活博客出现过，题目叫《贴一篇读书报告：Lift,Lift Table, and Lift Chart》。不想年代久远，里面的一个表格不知道怎么没有了，现挪到自己这个（所谓）技术博客，除了补全，也算是回到正确的地方了。从本机文档中直接COPY过来，删掉一些废话。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Lift, Lift Table, and Lift Chart 提升指数、提升表和提升图（草稿） 胡江堂，北京大学软件与微电子学院 2006-11-5   1. 什么是Lift？ I) Lift（提升指数）是评估一个预测模型是否有效的一个度量；这个比值由运用和不运用这个模型所得来的结果计算而来。 II) 一个简单的数字例子： i. 比如说你要向选定的1000人邮寄调查问卷。以往的经验告诉你大概20%的人会把填好的问卷寄回给你，即1000人中有200人会对你的问卷作出回应（response），用统计学的术语，我们说baseline response rate是20%； ii. 如果你现在就邮寄问卷，1000份你期望能收回200份，这可能达不到一次问卷调查所要求的回收率，比如说工作手册规定邮寄问卷回收率要在25%以上； iii. 通过以前的问卷调查，你收集了关于问卷采访对象的相关资料，比如说年龄、教育程度之类。利用这些数据，你确定了哪类被访问者对问卷反应积极。假设你已经利用这些过去的数据建立了模型，这个模型把这1000人分了类，现在你可以从你的千人名单中挑选出反应最积极的100人来，这10%的人的反应率(response rate)为60%。那么，对这100人的群体（我们称之为Top 10%），通过运用我们的模型，相对的提升(gain or lift value)就为60%/20%=3；换句话说，与不运用模型而随机选择相比，运用模型而挑选有3倍的好处； iv. 类似地，对占总样本的任何比例的人群，我们都可以计算出相应的提升指数，比如说我们可以计算Top 20%的群体的提升指数。 III) 一个结论就是，提升指数越大，模型的运行效果越好。   2. 建立Lift Table 的步骤（并画出Lift Chart），以验证信用评分模型为例： I) 利用已经建立的评分模型，对我们要验证的样本进行评分。样本下的每一个个体都将得到一个分数，或者是违约概率，或者是一个分值； II) 对样本按照上面计算好的分数进行降序排序； III) 把已经排好序的样本依次分成10个数量相同的群体，我们就建立了一个叫decile的变量，它依次取10个值，1、2、3、4、5、6、7、8、9、10，diclie1包括违约概率值最高的10%的个体，diclie2包括下一个10%的群体，以此类推； IV) 帐户总数是每个decile下的样本数，它是整个样本数的10%； [...]]]></description>
			<content:encoded><![CDATA[<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; </p>
<p>这篇去年在<a href="http://panshanghu.spaces.live.com/" target="_blank">我的生活博客</a>出现过，题目叫《<a href="http://panshanghu.spaces.live.com/blog/cns!48FF0CB3CA580A89!992.entry" target="_blank">贴一篇读书报告：Lift,Lift Table, and Lift Chart</a>》。不想年代久远，里面的一个表格不知道怎么没有了，现挪到<a href="http://johnthu.spaces.live.com/" target="_blank">自己这个（所谓）技术博客</a>，除了补全，也算是回到正确的地方了。从本机文档中直接COPY过来，删掉一些废话。 </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; </p>
<p>Lift, Lift Table, and Lift Chart  </p>
<p>提升指数、提升表和提升图（草稿）  </p>
<p>胡江堂，北京大学软件与微电子学院  </p>
<p>2006-11-5  </p>
<p>   </p>
<p>1. 什么是Lift？  </p>
<p>I) Lift（提升指数）是评估一个预测模型是否有效的一个度量；这个比值由运用和不运用这个模型所得来的结果计算而来。  </p>
<p>II) 一个简单的数字例子：  </p>
<p>i. 比如说你要向选定的1000人邮寄调查问卷。以往的经验告诉你大概20%的人会把填好的问卷寄回给你，即1000人中有200人会对你的问卷作出回应（response），用统计学的术语，我们说baseline response rate是20%；  </p>
<p>ii. 如果你现在就邮寄问卷，1000份你期望能收回200份，这可能达不到一次问卷调查所要求的回收率，比如说工作手册规定邮寄问卷回收率要在25%以上；  </p>
<p>iii. 通过以前的问卷调查，你收集了关于问卷采访对象的相关资料，比如说年龄、教育程度之类。利用这些数据，你确定了哪类被访问者对问卷反应积极。假设你已经利用这些过去的数据建立了模型，这个模型把这1000人分了类，现在你可以从你的千人名单中挑选出反应最积极的100人来，这10%的人的反应率(response rate)为60%。那么，对这100人的群体（我们称之为Top 10%），通过运用我们的模型，相对的提升(gain or lift value)就为60%/20%=3；换句话说，与不运用模型而随机选择相比，运用模型而挑选有3倍的好处；  </p>
<p>iv. 类似地，对占总样本的任何比例的人群，我们都可以计算出相应的提升指数，比如说我们可以计算Top 20%的群体的提升指数。  </p>
<p>III) 一个结论就是，提升指数越大，模型的运行效果越好。  </p>
<p>   </p>
<p>2. 建立Lift Table 的步骤（并画出Lift Chart），以验证信用评分模型为例：  </p>
<p>I) 利用已经建立的评分模型，对我们要验证的样本进行评分。样本下的每一个个体都将得到一个分数，或者是违约概率，或者是一个分值；  </p>
<p>II) 对样本按照上面计算好的分数进行降序排序；  </p>
<p>III) 把已经排好序的样本依次分成10个数量相同的群体，我们就建立了一个叫decile的变量，它依次取10个值，1、2、3、4、5、6、7、8、9、10，diclie1包括违约概率值最高的10%的个体，diclie2包括下一个10%的群体，以此类推；  </p>
<p>IV) 帐户总数是每个decile下的样本数，它是整个样本数的10%；  </p>
<p>V) 边际坏账数是每个decile内违约的人数，就是说，利用我们的评分模型，在decile1，有25个人违约，以此类推；  </p>
<p>VI) 累计坏账数，45表明前两个decile内共有45个人违约，以此类推；  </p>
<p>VII) 边际坏账率是每个decile内坏账的比率。对decile1，边际坏账率由25/100得来；  </p>
<p>VIII) 对每一个加总的decile，都计算一个累计坏账率，比如说，对前两个decile，也就是整个样本的20%，累计坏账率等于（25+20）/（100+100）；  </p>
<p>IX) 在每个decile里，提升指数（Lift）就是相应的累计坏账率与平均坏账率的偏离程度，计算公式是（累计坏账率-平均坏账率）/平均坏账率，习惯上还会乘上一个100。  </p>
<p>X) 注：在一些处理中，提升指数直接由每个decile的累计坏账率除以平均坏账率得来，它们之间就相差1，一个是相对偏离，一个是绝对偏离。  </p>
<p>XI) 就我们考察的信用评分模型，它的目的就是尽可能把人群区别来开来，比如说“好”的顾客、 “坏”的顾客。提升指数越大，表明模型运作效果越好。  </p>
<p>表1：Lift Table  </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLzryTDf-yP3jZ5VUKJY4xPylL7SVVC11QdOV0xE0W28FawNpNh93tnjzCyf6Y-PEtc"><img height="252" alt="clip_image002" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLzXJGDOMODQNaGD8G2Hj4-rM7O8QBw_iZqa9tiCdHo3IIUMCeNUaZv_c8KwYfrMtvQ" width="570" border="0" /></a></p>
<p>（注：该表内数字纯粹为了演示，没有任何实际背景）</p>
<p>   </p>
<p>图1：Lift Chart  </p>
<p><a href="http://byfiles.storage.msn.com/y1pw_00XKRSxLxiWMNbbr_FDF8iYZlpfxnX07ngeN5Seo_BhhfbVuCyLeONs477Zw_FZvF06Z2LLTo"><img height="357" alt="clip_image004" src="http://byfiles.storage.msn.com/y1pw_00XKRSxLz9lhbXuK-aW_tSAkbg2ViDt0g1bI28hN-4gOkLk8aRgfUvt445pnSYL29EpHhtQL4" width="530" border="0" /></a> </p>
<p>3. 参考资料  </p>
<p>I) Bruce Ratner, Decile Analysis Primer: Cum Lift for Response Model.  </p>
<p><a href="http://www.dmstat1.com/res/DecileAnalysisPrimer.html">http://www.dmstat1.com/res/DecileAnalysisPrimer.html</a> </p>
<p>II) Howard J. Hamilton. Cumulative Gains and Lift Charts  </p>
<p><a href="http://www2.cs.uregina.ca/~hamilton/courses/831/notes/lift_chart/lift_chart.html">http://www2.cs.uregina.ca/~hamilton/courses/831/notes/lift_chart/lift_chart.html</a> </p>
<p>III) David S. Coppock. Data Modeling and Mining: Why Lift?  </p>
<p><a href="http://www.dmreview.com/article_sub.cfm?articleId=5329">http://www.dmreview.com/article_sub.cfm?articleId=5329</a> </p>
<p>IV) Lift Chart. <i>See</i> Thomas Hill, Paul Lewicki. Statistics: Methods and Applications.  </p>
<p><a href="http://www.statsoft.com/textbook/glosl.html">http://www.statsoft.com/textbook/glosl.html</a> </p>
<p>V) 冯慧，“信用卡业务与系统”，北京大学软件与微电子学院,2006年秋季学期，课堂笔记</p>
<p>
<div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e6%8f%90%e5%8d%87%e8%a1%a8" rel="tag">提升表</a>, <a href="http://technorati.com/tags/%e6%8f%90%e5%8d%87%e6%8c%87%e6%95%b0" rel="tag">提升指数</a>, <a href="http://technorati.com/tags/lift chart" rel="tag">lift chart</a>, <a href="http://technorati.com/tags/lift" rel="tag">lift</a>, <a href="http://technorati.com/tags/%e4%bf%a1%e7%94%a8%e8%af%84%e5%88%86" rel="tag">信用评分</a>, <a href="http://technorati.com/tags/credit scoring" rel="tag">credit scoring</a>, <a href="http://technorati.com/tags/decile" rel="tag">decile</a></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/19/%e6%8f%90%e5%8d%87%e6%8c%87%e6%95%b0%e3%80%81%e6%8f%90%e5%8d%87%e8%a1%a8%e5%92%8c%e6%8f%90%e5%8d%87%e5%9b%be/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>SAS Macro的面对对象解释-一个附会</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/18/sas-macro%e7%9a%84%e9%9d%a2%e5%af%b9%e5%af%b9%e8%b1%a1%e8%a7%a3%e9%87%8a-%e4%b8%80%e4%b8%aa%e9%99%84%e4%bc%9a/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/18/sas-macro%e7%9a%84%e9%9d%a2%e5%af%b9%e5%af%b9%e8%b1%a1%e8%a7%a3%e9%87%8a-%e4%b8%80%e4%b8%aa%e9%99%84%e4%bc%9a/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9940</guid>
		<description><![CDATA[SAS编程语言的非OO特点真是让人头大。昨天突然冒出一个想法，可不可以把宏附会成一个“类”，宏参数就类似“属性”，具体的赋值就相当于一个“成员”，这样思路似乎就似乎清楚些。 Technorati Tags: SAS, Micro, oop, 面对对象]]></description>
			<content:encoded><![CDATA[<p>SAS编程语言的非OO特点真是让人头大。昨天突然冒出一个想法，可不可以把宏附会成一个“类”，宏参数就类似“属性”，具体的赋值就相当于一个“成员”，这样思路似乎就似乎清楚些。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/Micro" rel="tag">Micro</a>, <a href="http://technorati.com/tags/oop" rel="tag">oop</a>, <a href="http://technorati.com/tags/%e9%9d%a2%e5%af%b9%e5%af%b9%e8%b1%a1" rel="tag">面对对象</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/18/sas-macro%e7%9a%84%e9%9d%a2%e5%af%b9%e5%af%b9%e8%b1%a1%e8%a7%a3%e9%87%8a-%e4%b8%80%e4%b8%aa%e9%99%84%e4%bc%9a/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SAS学习笔记（4）:Editing and Debugging SAS Programs</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/15/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%884%ef%bc%89editing-and-debugging-sas-programs/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/15/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%884%ef%bc%89editing-and-debugging-sas-programs/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9939</guid>
		<description><![CDATA[以前的东西： SAS OnlineTutor®: Basic and Intermediate SAS®的learning path见《SAS学习笔记：开篇》 SAS学习笔记（1）：Basic Concepts SAS学习笔记（2）：Using the Programming Workspace SAS学习笔记（3）:Referencing Files and Setting Options &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; General form, basic INCLUDE command: INCLUDE &#8216;file-specification&#8217; where file-specification is the physical name by which the host system recognizes the file. Because this is a command (not a SAS statement), no semicolon is used at [...]]]></description>
			<content:encoded><![CDATA[<p>以前的东西：  </p>
<p>SAS OnlineTutor<sup>®</sup>: Basic and Intermediate SAS<sup>®</sup>的learning path见<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!275.entry">《SAS学习笔记：开篇》</a> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!276.entry">SAS学习笔记（1）：Basic Concepts</a> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!286.entry">SAS学习笔记（2）：Using the Programming Workspace</a> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!298.entry">SAS学习笔记（3）:Referencing Files and Setting Options</a> </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>General form, basic INCLUDE command:</strong> <strong>INCLUDE </strong><em>&#8216;file-specification&#8217; </em> </p>
<p>where <em>file-specification</em> is the physical name by which the host system recognizes the file.  </p>
<p>Because this is a command (not a SAS statement), no semicolon is used at the end.  </p>
<p><strong>SAS Program Structure</strong>
<ul>
<li>begin DATA and PROC steps in column one  </li>
<li>indent statements within a step  </li>
<li>begin RUN statements in column one  </li>
<li>include a RUN statement after every DATA step or PROC step. </li>
</ul>
<p><strong>Error Types</strong> </p>
<p>So far, the programs that you&#8217;ve submitted in this lesson have been error-free, but programming errors do occur. SAS can detect several types of errors. The most common are
<ul>
<li><strong>syntax errors</strong> that occur when program statements do not conform to the rules of the SAS language  </li>
<li><strong>data errors</strong> that occur when some data values are not appropriate for the SAS statements that are specified in a program. </li>
</ul>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS%e8%ae%a4%e8%af%81" rel="tag">SAS认证</a>, <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/15/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%884%ef%bc%89editing-and-debugging-sas-programs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据采集策略：数据挖掘与统计学的一个区别</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/14/%e6%95%b0%e6%8d%ae%e9%87%87%e9%9b%86%e7%ad%96%e7%95%a5%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e4%b8%8e%e7%bb%9f%e8%ae%a1%e5%ad%a6%e7%9a%84%e4%b8%80%e4%b8%aa%e5%8c%ba%e5%88%ab/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/14/%e6%95%b0%e6%8d%ae%e9%87%87%e9%9b%86%e7%ad%96%e7%95%a5%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e4%b8%8e%e7%bb%9f%e8%ae%a1%e5%ad%a6%e7%9a%84%e4%b8%80%e4%b8%aa%e5%8c%ba%e5%88%ab/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9938</guid>
		<description><![CDATA[这个观点来自Hand等人的《数据挖掘原理》（机工，2003）。 说数据挖掘是对已经存在的数据进行分析（比如说“[原有]数据库中的知识发现”,KDD），而统计会为了回答某一个特定问题而专门去采集数据。也就是说，数据挖掘所分析处理的数据，不是为挖掘本身而收集的。 企业为了别的目的建立数据库，为了挖掘，它再从数据库的基础上建立起为分析服务的数据仓库。 Technorati Tags: 数据挖掘, 统计学, KDD, 数据库, 数据仓库]]></description>
			<content:encoded><![CDATA[<p>这个观点来自Hand等人的《数据挖掘原理》（机工，2003）。</p>
<p>说数据挖掘是对已经存在的数据进行分析（比如说“[原有]数据库中的知识发现”,KDD），而统计会为了回答某一个特定问题而专门去采集数据。也就是说，数据挖掘所分析处理的数据，不是为挖掘本身而收集的。</p>
<p>企业为了别的目的建立数据库，为了挖掘，它再从数据库的基础上建立起为分析服务的数据仓库。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a>, <a href="http://technorati.com/tags/%e7%bb%9f%e8%ae%a1%e5%ad%a6" rel="tag">统计学</a>, <a href="http://technorati.com/tags/KDD" rel="tag">KDD</a>, <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e5%ba%93" rel="tag">数据库</a>, <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e4%bb%93%e5%ba%93" rel="tag">数据仓库</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/14/%e6%95%b0%e6%8d%ae%e9%87%87%e9%9b%86%e7%ad%96%e7%95%a5%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e4%b8%8e%e7%bb%9f%e8%ae%a1%e5%ad%a6%e7%9a%84%e4%b8%80%e4%b8%aa%e5%8c%ba%e5%88%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAS学习笔记（3）:Referencing Files and Setting Options</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/14/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%883%ef%bc%89referencing-files-and-setting-options/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/14/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%883%ef%bc%89referencing-files-and-setting-options/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9937</guid>
		<description><![CDATA[以前的东西： SAS OnlineTutor®: Basic and Intermediate SAS®的learning path见《SAS学习笔记：开篇》 SAS学习笔记（1）：Basic Concepts SAS学习笔记（2）：Using the Programming Workspace  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; General form, basic LIBNAME statement: LIBNAME libref  &#8216;SAS-data-library&#8216;;  The LIBNAME statement is global, which means that the librefs remain in effect until you modify them, cancel them, or end your SAS session.Therefore, the LIBNAME statement assigns the libref for the [...]]]></description>
			<content:encoded><![CDATA[<p>以前的东西：  </p>
<p>SAS OnlineTutor<sup>®</sup>: Basic and Intermediate SAS<sup>®</sup>的learning path见<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!275.entry">《SAS学习笔记：开篇》</a> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!276.entry">SAS学习笔记（1）：Basic Concepts</a> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!286.entry">SAS学习笔记（2）：Using the Programming Workspace</a> <br />
<h6>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</h6>
</p>
<p><strong>General form, basic LIBNAME statement:</strong> <strong>LIBNAME </strong><em>libref  </em><strong>&#8216;</strong><em>SAS-data-library</em><strong>&#8216;;</strong>   </p>
<p>The LIBNAME statement is <strong>global</strong>, which means that the librefs remain in effect until you modify them, cancel them, or end your SAS session.Therefore, the LIBNAME statement assigns the libref for the current SAS session only. Each time you begin a SAS session, you must assign a libref to each permanent SAS data library that contains files that you want to access in that session. (Remember that <strong>Work</strong> is the default libref for a temporary SAS data library.)When you end your SAS session or delete a libref, SAS no longer has access to the files in the library. However, the contents of the library still exist on your operating system.</p>
<p>Remember that you can also assign a library from the SAS Explorer using the New Library window (as you did if you completed the lesson <strong>Basic Concepts </strong>). Libraries that are created with the New Library window can be automatically assigned at startup by selecting <strong>Enable at Startup</strong>.</p>
<p><strong>General form, basic PROC CONTENTS step:</strong> <strong>PROC CONTENTS DATA=</strong><em>SAS-file-specification</em><strong> NODS;</strong><strong>RUN</strong><em></em><strong>;</strong>   </p>
<p>PROC CONTENTS and PROC DATASETS overlap in terms of functionality. Generally, these two function the same:
<ul>
<li>the <strong>CONTENTS procedure</strong> </li>
<li>the <strong>CONTENTS statement in the DATASETS procedure</strong>. </li>
</ul>
<p><strong>PROC CONTENTS </strong>&lt;<em>options</em>&gt;;<strong>RUN</strong>;  </p>
<p><strong>PROC DATASETS </strong>&lt;<em>options</em>&gt;;<strong>CONTENTS </strong>&lt;<em>options</em>&gt;;<strong>QUIT;</strong> </p>
<p>The major difference between the CONTENTS procedure and the CONTENTS statement in PROC DATASETS is the default for <em>libref</em> in the DATA= option. For PROC CONTENTS, the default is either <strong>Work</strong> or <strong>User</strong>. For the CONTENTS statement, the default is the libref of the procedure input library. Notice also that PROC DATASETS is an interactive procedure that requires a QUIT statement rather than a RUN statement.    </p>
<p>y default, PROC CONTENTS and PROC DATASETS list variables <strong>alphabetically</strong>. To list variable names in the order of their <strong>logical</strong> position (or creation order) in the data set, you can specify the <strong>VARNUM option</strong> in PROC CONTENTS or in the CONTENTS statement in PROC DATASETS.</p>
<p>If you use <strong>two-digit year values</strong> in your data lines, external files, or programming statements, you should consider another important system option, the <strong>YEARCUTOFF= option</strong>. This option specifies which 100-year span is used to interpret two-digit year values.  </p>
<p><img height="86" alt="100-year span" src="http://tutor.vicp.cc/N8er39YTm0/60476/m16/images/m16c5g1.gif" width="498" /> </p>
<p>All versions of SAS represent dates correctly from 1582 A.D. to 20,000 A.D. (Leap years, century, and fourth-century adjustments are made automatically. Leap seconds are ignored, and SAS does not adjust for Daylight Savings Time.) However, you should be aware of the YEARCUTOFF= value to ensure that you are properly interpreting two-digit years in data lines.  </p>
<p>As with other system options, you specify the YEARCUTOFF= option in the OPTIONS statement:
<pre>     options yearcutoff=1925;</pre>
</p>
<p>When a two-digit year value is read, SAS interprets it based on a 100-year span which starts with the YEARCUTOFF= value. The default value of YEARCUTOFF= is <strong>1920</strong>.
</p>
<p><img height="40" alt="Default 100-year span" src="http://tutor.vicp.cc/N8er39YTm0/60476/m16/images/m16c6g1.gif" width="195" border="0" /> 
</p>
<p>However, you can override the default and change the value of YEARCUTOFF=  to the first year of another 100-year span. For example, if you specify YEARCUTOFF=1950, then the 100-year span will be from 1950 to 2049.
<pre>     options yearcutoff=1950;</pre>
<p>Using YEARCUTOFF=1950, dates are interpreted as shown below:
</p>
<p><img height="40" alt="Modified 100-year span" src="http://tutor.vicp.cc/N8er39YTm0/60476/m16/images/m16c6g2.gif" width="195" border="0" />
</p>
<p>Remember, the value of the YEARCUTOFF= system option affects only <strong>two-digit year values</strong>. A date value that contains a four-digit year value will be interpreted correctly even if it does not fall within the 100-year span set by the YEARCUTOFF= system option.
</p>
<p><strong>General form, FIRSTOBS= and OBS= options in an OPTIONS statement:</strong></p>
<blockquote><p><strong>FIRSTOBS=</strong><em>n</em></p>
<p><strong>OBS=</strong><em>n</em></p>
</blockquote>
<p>where <em>n</em> is a positive integer. For FIRSTOBS=, <em>n</em> specifies the number of the <strong>first</strong> observation to process. For OBS=, <em>n</em> specifies the number of the <strong>last</strong> observation to process. By default, FIRSTOBS=1. The default value for OBS= is MAX, which is the largest signed, four-byte integer that is representable in your operating environment.</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS%e8%ae%a4%e8%af%81" rel="tag">SAS认证</a>, <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/14/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%883%ef%bc%89referencing-files-and-setting-options/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>计算股票的贝塔值β</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/13/%e8%ae%a1%e7%ae%97%e8%82%a1%e7%a5%a8%e7%9a%84%e8%b4%9d%e5%a1%94%e5%80%bc%ce%b2/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/13/%e8%ae%a1%e7%ae%97%e8%82%a1%e7%a5%a8%e7%9a%84%e8%b4%9d%e5%a1%94%e5%80%bc%ce%b2/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9936</guid>
		<description><![CDATA[收益率：一般我们获取的都是股票的价格序列而不是收益序列。收益return的计算很简单，就是先用当期价格p除以它滞后一期的价格p(-1)，然后取自然对数，即return=ln[p/p(-1)]。 市场的收益率：教科书一般用标准普尔500指数(S&#38;P500)来近似市场组合。 超额收益率：超额收益率就是超出无风险利率的那部分收益率。教材上一般以3个月期的国库券的收益率来近似表示无风险收益率。 β值：一般说总体风险等于系统风险加上非系统风险。在一个分散的投资组合中，非系统风险可以消除掉。β值就是对股票的系统风险的度量，它等于股票和市场之间的协方差除以市场的方差。如果一只股票的β值大于1，说明该股票的系统风险比市场的平均风险大。 计算β值：用市场的超额收益率回归某只股票的超额收益率(被解释变量：某只股票的超额收益率；解释变量：市场的超额收益率)，这个回归方程的系数就是这只股票的β值。 Technorati Tags: 股票β值, 贝塔, 无风险收益, 超额收益]]></description>
			<content:encoded><![CDATA[<p>收益率：一般我们获取的都是股票的价格序列而不是收益序列。收益return的计算很简单，就是先用当期价格p除以它滞后一期的价格p(-1)，然后取自然对数，即return=ln[p/p(-1)]。</p>
<p>市场的收益率：教科书一般用标准普尔500指数(S&amp;P500)来近似市场组合。</p>
<p>超额收益率：超额收益率就是超出无风险利率的那部分收益率。教材上一般以3个月期的国库券的收益率来近似表示无风险收益率。</p>
<p>β值：一般说总体风险等于系统风险加上非系统风险。在一个分散的投资组合中，非系统风险可以消除掉。β值就是对股票的系统风险的度量，它等于股票和市场之间的协方差除以市场的方差。如果一只股票的β值大于1，说明该股票的系统风险比市场的平均风险大。</p>
<p>计算β值：用市场的超额收益率回归某只股票的超额收益率(被解释变量：某只股票的超额收益率；解释变量：市场的超额收益率)，这个回归方程的系数就是这只股票的β值。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e8%82%a1%e7%a5%a8%ce%b2%e5%80%bc" rel="tag">股票β值</a>, <a href="http://technorati.com/tags/%e8%b4%9d%e5%a1%94" rel="tag">贝塔</a>, <a href="http://technorati.com/tags/%e6%97%a0%e9%a3%8e%e9%99%a9%e6%94%b6%e7%9b%8a" rel="tag">无风险收益</a>, <a href="http://technorati.com/tags/%e8%b6%85%e9%a2%9d%e6%94%b6%e7%9b%8a" rel="tag">超额收益</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/13/%e8%ae%a1%e7%ae%97%e8%82%a1%e7%a5%a8%e7%9a%84%e8%b4%9d%e5%a1%94%e5%80%bc%ce%b2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>KDNuggets调查2007：数据挖掘方法论</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/13/kdnuggets%e8%b0%83%e6%9f%a52007%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e6%96%b9%e6%b3%95%e8%ae%ba/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/13/kdnuggets%e8%b0%83%e6%9f%a52007%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e6%96%b9%e6%b3%95%e8%ae%ba/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9935</guid>
		<description><![CDATA[KDNuggets今年对业界人士采用何种数据挖掘方法论的调查，CRISP-DM又一次遥遥领先。 What main methodology are you using for data mining?  [150 votes total](Aug 2007)   CRISP-DM (63) 42% My own (29) 19% SEMMA (19) 13% KDD Process (11) 7% My organizations&#8217; (8) 5% Domain-specific methodology (7) 5% Other methodology, not domain-specific (6) 4% None (7) 5% 1.NCR、SPSS等多家公司大力推广的CRISP-DM（数据挖掘的跨行业标准流程），它将数据挖掘过程分为以下6个阶段：-商业理解(Business Understanding)-数据理解(Data Understanding)-数据准备(Data Preparation)-建立模型(Modeling)-模型评估(Evaluation)-结果部署(Deployment) 2.SAS公司鼓吹的SEMMA是Sample（抽样）、Explore（探索）、Modify（修正）、Model（建模）以及Assess（评估）的缩写 3.数据挖掘经常被置于更广阔的数据库知识发现(knowledge discovery in database, KDD)的大背景下,KDD过程包括几个阶段：选择目标数据、预处理数据、转化数据、进行数据挖掘以提取模式和关系、解释并评估发现的结构 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kdnuggets.com" target="_blank">KDNuggets</a>今年对业界人士采用何种数据挖掘方法论的调查，<a href="http://www.crisp-dm.org/" target="_blank">CRISP-DM</a>又一次遥遥领先。  </p>
<p><b>What main methodology are you using for data mining?</b> </p>
<table cellspacing="0" cellpadding="2" width="572" border="0">
<tbody>
<tr>
<td valign="top" width="244">
<p><b> [150 votes total](Aug 2007)</b> </p>
<p>   </p>
<p>CRISP-DM (63) 42%  </p>
<p>My own (29) 19%  </p>
<p>SEMMA (19) 13%  </p>
<p>KDD Process (11) 7%  </p>
<p>My organizations&#8217; (8) 5%  </p>
<p>Domain-specific methodology (7) 5%  </p>
<p>Other methodology, not domain-specific (6) 4%  </p>
<p>None (7) 5% </p>
</td>
<td valign="top" width="326">1.NCR、SPSS等多家公司大力推广的CRISP-DM（数据挖掘的跨行业标准流程），它将数据挖掘过程分为以下6个阶段：<br />-商业理解(Business Understanding)<br />-数据理解(Data Understanding)<br />-数据准备(Data Preparation)<br />-建立模型(Modeling)<br />-模型评估(Evaluation)<br />-结果部署(Deployment)</p>
<p>2.SAS公司鼓吹的SEMMA是Sample（抽样）、Explore（探索）、Modify（修正）、Model（建模）以及Assess（评估）的缩写</p>
<p>3.数据挖掘经常被置于更广阔的数据库知识发现(knowledge discovery in database, KDD)的大背景下,KDD过程包括几个阶段：选择目标数据、预处理数据、转化数据、进行数据挖掘以提取模式和关系、解释并评估发现的结构</td>
</tr>
</tbody>
</table>
<p>可以对照前几年的投票结果，注意其实很多人使用不只一种方法论，当然它们也大同小异。</p>
<table cellspacing="0" cellpadding="2" width="571" border="0">
<tbody>
<tr>
<td valign="top" width="243">
<p><b> [170 votes total]</b><b>(Apr 2004)</b> </p>
<p>CRISP-DM (72) 42%  </p>
<p>SEMMA (17) 10%  </p>
<p>My organization&#8217;s (11) 6%  </p>
<p>My own (48) 28%  </p>
<p>Other (10) 6%  </p>
<p>None (12) 7% </p>
</td>
<td valign="top" width="325">
<p><b>[189 votes total](Jul 2002)</b> </p>
<p>CRISP-DM (96) 51%  </p>
<p>SEMMA (22) 12%  </p>
<p>My organization&#8217;s (13) 7%  </p>
<p>My own (43) 23%  </p>
<p>Other (8) 4%  </p>
<p>None (7) 4%</p>
</td>
</tr>
</tbody>
</table>
<p>附：  </p>
<p>CRISP-DM:  </p>
<p>商业理解——商业理解是从业务角度来理解数据挖掘的目标和要求，再转化为数据挖掘问题；  </p>
<p>数据理解——数据理解的任务是对原始数据进行收集和熟悉，检查数据质量，对数据进行初步探索，并发现可能存在的、有分析价值的数据特征，以形成对隐藏信息的假设；  </p>
<p>数据准备——数据准备阶段初步完成变量的选择和导出变量的生成，同时对一些存在数据质量问题的字段进行相应的处理；  </p>
<p>建立模型——建立预测模型，比如回归模型、决策树、神经网络等等；  </p>
<p>模型评估——选择最好的最终模型，需要快速简单地应用和比较不同方法，比较产生的结果，然后对得到的不同规则给予商业评价。从可用的统计和非统计模型中找到最好的分析模型，对于产生最终决策是必需的；  </p>
<p>结果部署——结果部署的目标是将预测模型生成的结果以一定的形式展现给业务人员使用。因此，应当从业务的角度来关注模型发布的形式。  </p>
<p>SEMMA:  </p>
<p>抽样——确认输入数据、取样、数据分割（把数据分割为训练、验证和测试样本）；  </p>
<p>探索——利用统计技术和可视化技术对原始数据进行探索性分析，以找出重要的变量，以及得出粗糙的直觉性结论；  </p>
<p>修正——数据准备，如数据转换、确认野码、缺失值处理等等；  </p>
<p>建模——建立预测模型，比如回归模型、决策树、神经网络等等；  </p>
<p>评估——比较不同的模型。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/SPSS" rel="tag">SPSS</a>, <a href="http://technorati.com/tags/CRISP-DM" rel="tag">CRISP-DM</a>, <a href="http://technorati.com/tags/SEMMA" rel="tag">SEMMA</a>, <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a>, <a href="http://technorati.com/tags/%e6%96%b9%e6%b3%95%e8%ae%ba" rel="tag">方法论</a>, <a href="http://technorati.com/tags/KDD" rel="tag">KDD</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/13/kdnuggets%e8%b0%83%e6%9f%a52007%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e6%96%b9%e6%b3%95%e8%ae%ba/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SAS学习笔记（2）：Using the Programming Workspace</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/12/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%882%ef%bc%89%ef%bc%9ausing-the-programming-workspace/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/12/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%882%ef%bc%89%ef%bc%9ausing-the-programming-workspace/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9934</guid>
		<description><![CDATA[SAS OnlineTutor®: Basic and Intermediate SAS®的learning path见《SAS学习笔记：开篇》 SAS学习笔记（1）：Basic Concepts 这一集没什么好看的，就是SAS的编程环境，熟悉各种窗口就是。需要清楚的是什么是Output窗口，什么是Result窗口。 The Output Window You can create two basic types of SAS output: a listing, which is traditional SAS output, an HTML document. In the Output window, you browse listing output from SAS programs that you submit. (You can use a browser to view HTML output.) [...]]]></description>
			<content:encoded><![CDATA[<p>SAS OnlineTutor<sup>®</sup>: Basic and Intermediate SAS<sup>®</sup>的learning path见<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!275.entry">《SAS学习笔记：开篇》</a> </p>
<p><a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!276.entry">SAS学习笔记（1）：Basic Concepts</a> </p>
<p>这一集没什么好看的，就是SAS的编程环境，熟悉各种窗口就是。需要清楚的是什么是Output窗口，什么是Result窗口。 </p>
<p><b>The Output Window </b> </p>
<p>You can create two basic types of SAS output: a listing, which is traditional SAS output, an HTML document. </p>
<p>In the Output window, you browse listing output from SAS programs that you submit. (You can use a browser to view HTML output.)  </p>
<p>By default, the Output window is positioned behind the code editing and Log windows. </p>
<p><b>The Results Window </b> </p>
<p>The Results window helps you navigate and manage output from SAS programs that you submit. You can view, save, and print individual items of output.  </p>
<p>On most operating systems, the Results window is positioned behind the Explorer window and is empty until you submit a SAS program that creates output. Then the Results window moves to the front of your display.  </p>
<p>The Results window displays separate icons for listing output and HTML output. In the example below, the first Print folder contains both types of output.  </p>
<p>一句话，区别在于: </p>
<p>The Results window displays a tree view of output that is created during a SAS session. The Output window displays the output itself.</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS%e8%ae%a4%e8%af%81" rel="tag">SAS认证</a>, <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/12/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%882%ef%bc%89%ef%bc%9ausing-the-programming-workspace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>神经网络：学习笔记（1）：神经元</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/11/%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%ef%bc%9a%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89%ef%bc%9a%e7%a5%9e%e7%bb%8f%e5%85%83/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/11/%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%ef%bc%9a%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89%ef%bc%9a%e7%a5%9e%e7%bb%8f%e5%85%83/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9933</guid>
		<description><![CDATA[捡回神经网络。这个和以后讲的“神经网络”，都指人工神经网络(Artificial Neural Network, ANN)，那就先要知道些生物神经网络(Biological Neural Network, BNN)。   想一个神经元，由下面三部分组成： 细胞体：就是我们想像的那东西 树突(Dendrite)：树状的神经纤维，负责接收，将信号传送给细胞体 轴突(Axon)：单根长长的纤维，负责输出，讲细胞体的输出信号导给其他神经元 一个神经细胞（神经元）的轴突和另一个神经细胞的树突的结合点称为突触(Synapse,也称神经键)。 对一个感知器来说，权值可以对应于突触的连接强度，累加器和传输函数相当于细胞体，而神经元的输出则代表轴突的信号。   参考资料： Hagan等《神经网络设计》（戴葵等译，北京：机械工业出版社，2002） 马尽文“人工神经网络”讲义，北京大学数学系2007年秋季学期 Technorati Tags: 神经网络, 神经元, 树突, 轴突, 突触、神经键，神经网络设计]]></description>
			<content:encoded><![CDATA[<p>捡回神经网络。这个和以后讲的“神经网络”，都指人工神经网络(Artificial Neural Network, ANN)，那就先要知道些生物神经网络(Biological Neural Network, BNN)。</p>
<p> </p>
<p><a href="http://by1.storage.msn.com/y1pH_4B0Rv9wcGRQzIag3-nVNKvz8KAOezKsFKm3S_6JhaVGeaicnZJ7EqhqSQYGg95GF_AYzkoke2-D2fIGuirUAjg0uk8CoK8"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height="126" alt="未命名" src="http://by1.storage.msn.com/y1pH_4B0Rv9wcEGOCxx0KuSA_F2G7-wP7v3pmOV0-2FQ7lX2XQR7Q5iWa8gSiUN3rHuLAlpVj_B5vBYzYqaKR0ufD13w73evHM7" width="240" align="left" border="0" /></a> </p>
<p>想一个神经元，由下面三部分组成：</p>
<ol>
<li>细胞体：就是我们想像的那东西  </li>
<li><strong>树突</strong>(Dendrite)：树状的神经纤维，负责接收，将信号传送给细胞体  </li>
<li><strong>轴突</strong>(Axon)：单根长长的纤维，负责输出，讲细胞体的输出信号导给其他神经元</li>
</ol>
<blockquote><p>一个神经细胞（神经元）的轴突和另一个神经细胞的树突的结合点称为<strong>突触</strong>(Synapse,也称神经键)。</p>
</blockquote>
<p>对一个感知器来说，权值可以对应于突触的连接强度，累加器和传输函数相当于细胞体，而神经元的输出则代表轴突的信号。</p>
<p> </p>
<p>参考资料：</p>
<ul>
<li>Hagan等《神经网络设计》（戴葵等译，北京：机械工业出版社，2002）  </li>
<li>马尽文“人工神经网络”讲义，北京大学数学系2007年秋季学期</li>
</ul>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c" rel="tag">神经网络</a>, <a href="http://technorati.com/tags/%e7%a5%9e%e7%bb%8f%e5%85%83" rel="tag">神经元</a>, <a href="http://technorati.com/tags/%e6%a0%91%e7%aa%81" rel="tag">树突</a>, <a href="http://technorati.com/tags/%e8%bd%b4%e7%aa%81" rel="tag">轴突</a>, <a href="http://technorati.com/tags/%e7%aa%81%e8%a7%a6%e3%80%81%e7%a5%9e%e7%bb%8f%e9%94%ae%ef%bc%8c%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%e8%ae%be%e8%ae%a1" rel="tag">突触、神经键，神经网络设计</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/11/%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%ef%bc%9a%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89%ef%bc%9a%e7%a5%9e%e7%bb%8f%e5%85%83/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SAS学习笔记（1）：Basic Concepts</title>
		<link>http://www.jiangtanghu.com/cn/2007/09/03/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89%ef%bc%9abasic-concepts/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/09/03/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89%ef%bc%9abasic-concepts/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9932</guid>
		<description><![CDATA[SAS OnlineTutor®: Basic and Intermediate SAS®的learning path见《SAS学习笔记：开篇》。 SAS Programs A SAS program can consist of a DATA step or a PROC step or any combination of DATA and PROC steps. DATA steps typically create or modify SAS data sets. They can also be used to produce custom-designed reports. PROC (procedure) steps are pre-written routines that enable [...]]]></description>
			<content:encoded><![CDATA[<p>SAS OnlineTutor<sup>®</sup>: Basic and Intermediate SAS<sup>®</sup>的learning path见<a href="http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!275.entry">《SAS学习笔记：开篇》</a>。</p>
<p><img height="1" alt=" " src="http://tutor.vicp.cc/N8er39YTm0/60476/navimages/cleardot.gif" width="411" /><br /><strong>SAS Programs</strong> </p>
<p>A SAS program can consist of a DATA step or a PROC step or any combination of DATA and PROC steps.  </p>
<p><strong><a>DATA steps </a></strong>typically create or modify SAS data sets. They can also be used to produce custom-designed reports.  </p>
<p><strong><a>PROC (procedure) steps</a></strong> are pre-written routines that enable you to analyze and process the data in a SAS data set and to present the data in the form of a report. They sometimes create new SAS data sets that contain the results of the procedure. PROC steps can list, sort, and summarize data.  </p>
<p>SAS programs consist of <strong>SAS statements</strong>. A SAS statement has two important characteristics:
<ul>
<li>It usually begins with a SAS <strong>keyword</strong>.  </li>
<li>It always ends with a <strong>semicolon</strong>. </li>
</ul>
<p>A DATA step begins with a DATA statement, which begins with the keyword DATA. A PROC step begins with a PROC statement, which begins with the keyword PROC.  </p>
<p>SAS statements are free-format. This means that
<ul>
<li>they can begin and end anywhere on a line  </li>
<li>one statement can continue over several lines  </li>
<li>several statements can be on a line. </li>
</ul>
<p>Blanks or special characters separate &quot;words&quot; in a SAS statement.  </p>
<p>DATA and PROC statements signal the beginning of a new step. When SAS encounters a subsequent DATA, PROC, or RUN statement (for DATA steps and most procedures) or a QUIT statement (for some procedures), SAS stops reading statements and executes the previous step in the program. In our sample program, each step ends with a RUN statement.</p>
<p>The beginning of a new step (DATA or PROC) implies the end of the previous step. Though the RUN statement is not always required between steps in a SAS program, using it can make the SAS program easier to read and debug, and it makes the SAS log easier to read.</p>
<p><img height="1" alt=" " src="http://tutor.vicp.cc/N8er39YTm0/60476/navimages/cleardot.gif" width="411" /><br /><strong>SAS Libraries</strong> </p>
<p>Every SAS file is stored in a <strong>SAS library</strong>, which is a collection of SAS files. A SAS data library is the highest level of organization for information within SAS.  </p>
<p>SAS libraries have different implementations depending on your operating environment, but a library generally corresponds to the level of organization that your host operating system uses to access and store files. In some operating environments, a library is a physical collection of files. In others, the files are only logically related.  </p>
<p><strong>Windows</strong>, <strong>UNIX</strong>, <strong>OpenVMS, OS/2</strong>(directory based-systems)  </p>
<p>a group of SAS files that are stored in the same directory. Other files can be stored in the directory, but only the files that have SAS file extensions are recognized as part of the SAS data library.  </p>
<p><strong>CMS: </strong>a group of SAS files that have the same file type.  </p>
<p><strong>z/OS (OS/390): </strong>a specially formatted host data set in which only SAS files are stored.  </p>
<p>Depending on the library name that you use when you create a file, you can store SAS files temporarily or permanently.  </p>
<p><strong><a>Storing files temporarily:</a>  </strong>If you don&#8217;t specify a library name when you create a file (or if you specify the library name <strong>Work</strong>), the file is stored in the temporary SAS data library. When you end the session, the temporary library and all of its files are deleted.  </p>
<p><strong><a>Storing files permanently:</a>  </strong>To store files permanently in a SAS data library, you specify a library name other than the default library name <strong>Work</strong>.  </p>
<p><img height="1" alt=" " src="http://tutor.vicp.cc/N8er39YTm0/60476/navimages/cleardot.gif" width="411" /><br /><strong>Referencing SAS Files</strong> </p>
<p>To reference a permanent SAS data set in your SAS programs, you use a <strong>two-level name</strong>: <strong><em>libref.filename. </em></strong>In the two-level name, <em>libref</em> is the name of the SAS data library that contains the file, and <em>filename</em> is the name of the file itself. A period separates the libref and filename.  </p>
<p>To reference temporary SAS files, you can specify the default libref <strong>Work</strong>, a period, and the filename. For example, the two-level name <strong>Work.Test</strong> references the SAS data set named <strong>Test</strong> that is stored in the temporary SAS library <strong>Work</strong>. Alternatively, you can simply use a <strong>one-level name</strong> (the filename only) to reference a file in a temporary SAS library. When you specify a one-level name, the default libref <strong>Work</strong> is assumed.</p>
<p><strong><a>Rules for SAS Names</a>: </strong>SAS data set names
<ul>
<li>can be 1 to 32 characters long  </li>
<li>must begin with a letter (A-Z, either uppercase or lowercase) or an underscore (_)  </li>
<li>can continue with any combination of numbers, letters, or underscores. </li>
</ul>
<p><img height="1" alt=" " src="http://tutor.vicp.cc/N8er39YTm0/60476/navimages/cleardot.gif" width="411" /><br /><strong></strong><strong>SAS Data Sets</strong> </p>
<p>A SAS data set is a file that consists of two parts: a <strong>descriptor portion</strong> and a <strong>data portion</strong>.</p>
<p>The descriptor portion of a SAS data set contains information about the data set, including
<ul>
<li>the name of the data set  </li>
<li>the date and time that the data set was created  </li>
<li>the number of observations  </li>
<li>the number of variables. </li>
</ul>
<p>The data portion of a SAS data set is a collection of data values that are arranged in a rectangular table.</p>
<p><strong>Rows</strong> (called <strong>observations</strong>) in the data set are collections of data values that usually relate to a single object.</p>
<p><strong>Columns</strong> (called <strong>variables</strong>) in the data set are collections of values that describe a particular characteristic.</p>
<p><img height="1" alt=" " src="http://tutor.vicp.cc/N8er39YTm0/60476/navimages/cleardot.gif" width="411" /><br /><strong>Variable Attributes</strong> </p>
<p><strong>Name: </strong>Each variable has a name that conforms to SAS naming conventions. Variable names follow exactly the same rules as SAS data set names. Like data set names, variable names
<ul>
<li>can be 1 to 32 characters long  </li>
<li>must begin with a letter (A-Z, either uppercase or lowercase) or an underscore (_)  </li>
<li>can continue with any combination of numbers, letters, or underscores. </li>
</ul>
<p><strong>Type: </strong>A variable&#8217;s type is either <strong>character</strong> or <strong>numeric</strong>.
<ul>
<li>Character variables, such as <code>Name</code> (shown below), can contain <strong>any values</strong>.  </li>
<li>Numeric variables, such as <code>Policy</code> and <code>Total</code> (shown below), can contain <strong>only numeric values </strong>(the digits 0 through 9, +, -, ., and E for scientific notation). </li>
</ul>
<p>A variable&#8217;s type determines how missing values for a variable are displayed. In the following data set, <code>Name</code> and <code>Sex</code> are character variables, and <code>Age</code> and <code>Weight</code> are numeric variables.
<ul>
<li>For character variables such as <code>Name</code>, a <strong>blank</strong> represents a missing value.  </li>
<li>For numeric variables such as <code>Age</code>, a <strong>period</strong> represents a missing value. </li>
</ul>
<p><a><strong>Length</strong></a>: A variable&#8217;s <strong>length </strong>(the number of bytes used to store it) is related to its type.
<ul>
<li>Character variables can be up to <strong>32K</strong> long. In the exa<br />
mple below, <code>Name</code> has a length of 20 characters and uses 20 bytes of storage.  </li>
<li>All numeric variables have a default length of <strong>8</strong>. Numeric values (no matter how many digits they contain) are stored as floating-point numbers in 8 bytes of storage, unless you specify a different length. </li>
</ul>
<p><strong>Format: </strong>Formats are variable attributes that affect the way data values are written. SAS software offers a variety of character, numeric, and date and time formats. You can also create and store your own formats. To write values out using some particular form, you select the appropriate format.  </p>
<p><img height="107" alt="SAS format" src="http://tutor.vicp.cc/N8er39YTm0/60476/navimages/format.gif" width="355" border="0" /> </p>
<p>For example, to display the value <em>1234</em> as $1234.00 in a report, you can use the DOLLAR8.2 format.  </p>
<p><strong>Informat: </strong>Whereas formats write values out using some particular form, <strong>in</strong>formats read data values in certain forms <strong>in</strong>to standard SAS values. Informats determine how data values are read into a SAS data set. You <strong>must</strong> use informats to read numeric values that contain letters or other special characters.  </p>
<p><img height="107" alt="SAS informat" src="http://tutor.vicp.cc/N8er39YTm0/60476/navimages/informat.gif" width="355" border="0" /> </p>
<p>For example, the numeric value <em>$12,345.00</em> contains two special characters, a dollar sign ($) and a comma (,). You can use an informat to read the value while removing the dollar sign and comma, and then store the resulting value as a standard numeric value.  </p>
<p><a><strong>Label</strong></a>: A variable can have a <strong>label</strong>, which consists of descriptive text up to 256 characters long.</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS%e8%ae%a4%e8%af%81" rel="tag">SAS认证</a>, <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/09/03/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89%ef%bc%9abasic-concepts/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SAS学习笔记：开篇</title>
		<link>http://www.jiangtanghu.com/cn/2007/08/31/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%9a%e5%bc%80%e7%af%87/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/08/31/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%9a%e5%bc%80%e7%af%87/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9931</guid>
		<description><![CDATA[准备SAS程序员认证，从基础开学。材料就是： SAS OnlineTutor®: Basic and Intermediate SAS®  Introduction to SAS Programming Basic Concepts Using the Programming Workspace Referencing Files and Setting Options Editing and Debugging SAS Programs Creating List Reports Creating SAS Data Sets from Raw Data Understanding DATA Step Processing   Producing Reports Creating and Applying User-Defined Formats Creating Enhanced List and Summary Reports Producing [...]]]></description>
			<content:encoded><![CDATA[<p>准备SAS程序员认证，从基础开学。材料就是：</p>
<p><strong>SAS OnlineTutor<sup>®</sup>: Basic and Intermediate SAS<sup>®</sup></strong><strong> </strong></p>
<p><strong>Introduction to SAS Programming</strong> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m1/m1_1.htm">Basic Concepts</a> </p>
<p><a>Using the Programming Workspace </a> </p>
<p><a>Referencing Files and Setting Options </a> </p>
<p><a>Editing and Debugging SAS Programs </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m4/m4_1.htm">Creating List Reports </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m12/m12_1.htm">Creating SAS Data Sets from Raw Data </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m22/m22_1.htm">Understanding DATA Step Processing</a>   </p>
<p><strong>Producing Reports</strong> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m31/m31_1.htm">Creating and Applying User-Defined Formats </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m40/m40_1.htm">Creating Enhanced List and Summary Reports </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m41/m41_1.htm">Producing Descriptive Statistics </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m18/m18_1.htm">Producing HTML Output </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m5/m5_1.htm">Creating Tabular Reports </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m11/m11_1.htm">Enhancing HTML Tabular Reports</a> </p>
<p><strong>Producing Graphical Reports</strong><br /><em>These lessons are not suitable for use with SAS Enterprise Guide.</em> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m6/m6_1.htm">Creating Plots </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m7/m7_1.htm">Creating Bar and Pie Charts </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m8/m8_1.htm">Enhancing and Exporting Charts and Plots </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m9/m9_1.htm">Creating Drill-Down Graphs in HTML</a> </p>
<p><strong>Creating and Modifying SAS Data Sets</strong> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m39/m39_1.htm">Creating and Managing Variables </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m14/m14_1.htm">Reading SAS Data Sets </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m20/m20_1.htm">Combining SAS Data Sets </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m10/m10_1.htm">Performing Queries Using PROC SQL </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m30/m30_1.htm">Transforming Data with SAS Functions </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m13/m13_1.htm">Accessing DBMS Data </a><br /><em>This lesson is not suitable for use with SAS Enterprise Guide.</em> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m34/m34_1.htm">Generating Data with DO Loops </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m35/m35_1.htm">Processing Variables with Arrays </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m32/m32_1.htm">Improving Program Efficiency with Macro Variables</a> </p>
<p><strong>Reading Various Types of Raw Data </strong></p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m19/m19_1.htm">Reading Raw Data in Fixed Fields </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m23/m23_1.htm">Reading Free-Format Data </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m24/m24_1.htm">Reading Date and Time Values </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m25/m25_1.htm">Creating a Single Observation from Multiple Records </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m26/m26_1.htm">Creating Multiple Observations from a Single Record </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m27/m27_1.htm">Reading Hierarchical Files </a> </p>
<p><a href="http://tutor.vicp.cc/N8er39YTm0/60476/m28/m28_1.htm">Reading Variable-Length Records</a></p>
<div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/SAS%e8%ae%a4%e8%af%81" rel="tag">SAS认证</a>, <a href="http://technorati.com/tags/SAS OnlineTutor" rel="tag">SAS OnlineTutor</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/08/31/sas%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%9a%e5%bc%80%e7%af%87/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KDnuggets调查：数据挖掘方法和工具</title>
		<link>http://www.jiangtanghu.com/cn/2007/08/21/kdnuggets%e8%b0%83%e6%9f%a5%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e6%96%b9%e6%b3%95%e5%92%8c%e5%b7%a5%e5%85%b7/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/08/21/kdnuggets%e8%b0%83%e6%9f%a5%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e6%96%b9%e6%b3%95%e5%92%8c%e5%b7%a5%e5%85%b7/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9930</guid>
		<description><![CDATA[数据管理工具及编程语言  Data Manipulation Tools/Languages (June 2007) What tools/languages you typically use for data manipulation [307 voters] http://www.kdnuggets.com/polls/2007/data_manipulation_tools.htm   Use SQL / database system (116) 37.8% Do data manipulation within data mining tool (95) 30.9% Excel (84) 27.4% SAS (75) 24.4% Java (50) 16.3% R (39) 12.7% Perl (39) 12.7% MATLAB (35) 11.4% Python (34) 11.1% C++/C# [...]]]></description>
			<content:encoded><![CDATA[<p>数据管理工具及编程语言  </p>
<p><b>Data Manipulation Tools/Languages (June 2007)</b> </p>
<p><b>What tools/languages you typically use for data manipulation [307 voters]</b> </p>
<p><a title="http://www.kdnuggets.com/polls/2007/data_manipulation_tools.htm" href="http://www.kdnuggets.com/polls/2007/data_manipulation_tools.htm">http://www.kdnuggets.com/polls/2007/data_manipulation_tools.htm</a>  </p>
<table cellspacing="0" cellpadding="2" width="521" border="0">
<tbody>
<tr>
<td valign="top" width="368">
<p>Use SQL / database system (116) 37.8%  </p>
<p>Do data manipulation within data mining tool (95) 30.9%  </p>
<p>Excel (84) 27.4%  </p>
<p>SAS (75) 24.4%  </p>
<p>Java (50) 16.3%  </p>
<p>R (39) 12.7%  </p>
<p>Perl (39) 12.7%  </p>
<p>MATLAB (35) 11.4%  </p>
<p>Python (34) 11.1%  </p>
<p>C++/C# (30) 9.8%  </p>
<p>shell/awk/gawk (29) 9.4%  </p>
<p>C (19) 6.2%  </p>
<p>Other (17) 5.5%  </p>
<p>Other statistical languages (15) 4.9%  </p>
<p>S-PLUS (11) 3.6%  </p>
<p>Other compiled languages (11) 3.6%  </p>
<p>Other scripting languages (9) 2.9%  </p>
<p>Ruby (1)<img height="15" src="http://www.kdnuggets.com/polls/graph/g17.gif" width="0" border="0" /> 0.3% </p>
</td>
<td valign="top" width="151">1.这次调查有307人响应，但这些百分比相加，粗看一下就超出100%很远，说明大伙都不会局限于用一种工具/语言来管理数据。</p>
<p>2.这些管理数据的工具/语言大概分为三种：</p>
<p> ─数据库（SQL）<br /> ─统计软件包（如SAS、R、Matlab、S-Plus）<br /> ─编译语言（C、Java）<br /> 
<p> ─脚本语言（Perl、Python、 Ruby、awk）</p>
<p> 在这些响应者中，用数据库、Excel和SAS系统管理数据的人最多，但看着这些人不乏程序员，不但有用传统的编译语言C、Java，还有用脚本语言Perl、Python、Ruby，甚至还有用流语言awk的。</p>
</td>
</tr>
</tbody>
</table>
<p>   </p>
<p><b></b><b>数据挖掘和数据分析工具</b> </p>
<p><b></b><b>Data Mining / Analytic Software Tools (May 2007)</b> </p>
<p><b>Data Mining (Analytic) tools you used in 2007: [534 voters]</b> </p>
<p><a title="http://www.kdnuggets.com/polls/2007/data_mining_software_tools.htm" href="http://www.kdnuggets.com/polls/2007/data_mining_software_tools.htm">http://www.kdnuggets.com/polls/2007/data_mining_software_tools.htm</a> </p>
<table cellspacing="0" cellpadding="2" width="530" border="0">
<tbody>
<tr>
<td valign="top" width="275">
<p><b>Commercial Data Mining Software</b> </p>
<p>SPSS Clementine 116, 73 alone or with SPSS  </p>
<p>Salford CART/MARS/TreeNet/RF   106, 54 alone  </p>
<p>Excel  94, 2 alone  </p>
<p>SPSS  91, 49 alone or with Clementine  </p>
<p>SAS  80, 8 alone or with SAS E-Miner  </p>
<p>Angoss  78, 50 alone  </p>
<p>KXEN   70, 51 alone  </p>
<p>SQL Server  38, 2 alone  </p>
<p>MATLAB  30, 1 alone  </p>
<p>SAS E-Miner  25, 8 alone or with SAS  </p>
<p>Other commercial tools  21, 0 alone  </p>
<p>Statsoft Statistica  15, 2 alone  </p>
<p>Insightful Miner/S-Plus  14, 0 alone  </p>
<p>Oracle DM  12, 0 alone  </p>
<p>Tiberius  11, 3 alone  </p>
<p>FairIsaac Model Builder  3, 2 alone  </p>
<p>Xelopes  2, 2 alone  </p>
<p>Miner3D  2, 0 alone  </p>
<p>Bayesia  2, 0 alone  </p>
<p>Megaputer  1, 1 alone  </p>
<p>your own code 61, 7 alone </p>
</td>
<td valign="top" width="253">
<p><b>商业数据挖掘软件包</b> </p>
<p>1.这些商业数据挖掘工具大概包括： </p>
<p> —统计软件包和来自统计软件包生产厂商的数据挖掘套件SPSS、SAS、Statistica、S-Plus、SPSS Clementine、SAS E-Miner、Insightful Miner </p>
<p> —其他专业的数据挖掘软件包，SalfordCART/MARS/TreeNet/RF、 </p>
<p>Angoss、KXEN  </p>
<p> —电子表格Excel </p>
<p> —数学软件Matlab </p>
<p> —特定行业的数据挖掘软件包FairIsaac Model Builder （金融业） </p>
<p> —基于数据库的数据挖掘套件 </p>
<p>SQL Server（应该是其中的Analysis Service）、Oracle DM</p>
<p>2.看着几乎是统计软件包及其相应的数据挖掘套件如SPSS和SAS的天下，基于数据库的如SQL Server、Oracle DM 也有一席之地。 </p>
<p><b>Free Data Mining Software</b> </p>
<p>Yale  103, 70 alone  </p>
<p>Weka  48, 3 alone  </p>
<p>R  42, 0 alone  </p>
<p>Other free tools  30, 0 alone  </p>
<p>C4.5/C5.0/See5  14, 0 alone  </p>
<p>Orange  12, 0 alone  </p>
<p>KNIME  2, 0 alone</p>
</td>
</tr>
</tbody>
</table>
<p> </p>
<p><b>数据挖掘方法</b> </p>
<p><b>Data Mining Methods (Mar 2007)</b> </p>
<p><b>Data mining/analytic methods you used frequently in the past 12 months: [203 voters]</b> </p>
<p><a title="http://www.kdnuggets.com/polls/2007/data_mining_methods.htm" href="http://www.kdnuggets.com/polls/2007/data_mining_methods.htm">http://www.kdnuggets.com/polls/2007/data_mining_methods.htm</a> </p>
<table cellspacing="0" cellpadding="2" width="571" border="0">
<tbody>
<tr>
<td valign="top" width="267">
<p>Decision Trees/Rules (127) 62.6%  </p>
<p>Regression (104) 51.2%  </p>
<p>Clustering (102) 50.2%  </p>
<p>Statistics (descriptive) (94) 46.3%  </p>
<p>Visualization (66) 32.5%  </p>
<p>Association rules (53) 26.1%  </p>
<p>Sequence/Time series analysis (35) 17.2%  </p>
<p>Neural Nets (35) 17.2%SVM (32) 15.8%  </p>
<p>Bayesian (32) 15.8%  </p>
<p>Boosting (30) 14.8%  </p>
<p>Nearest Neighbor (26) 12.8%  </p>
<p>Hybrid methods (24) 11.8%  </p>
<p>Other (23) 11.3%  </p>
<p>Genetic algorithms (23) 11.3%  </p>
<p>Bagging (22) 10.8% </p>
</td>
<td valign="top" width="302">1.这些方法包括：</p>
<p>  ─传统统计方法<br /> 
<p>Regression（回归）、Statistics (descriptive)（描述性统计）、</p>
<p>Boosting（）、Visualization（可视化） </p>
<p>  ─分类</p>
<p>Decision Trees/Rules（决策树和规则）、Neural Nets（神经网络）、Bayesian（贝叶斯）、Genetic algorithms （遗传算法）</p>
<p>─聚类</p>
<p>Clustering（聚类）、Nearest Neighbor（最近邻）</p>
<p>─关联（Association rules）</p>
<p>─时间序列（Sequence/Time series analysis ）<br />─其他(Hybrid methods、Bagging)</p>
<p> </p>
<p>2.结论之一，简单的、直观的、容易解释的方法用得较多，比如决策树、回归、描述性统计……</p>
</td>
</tr>
</tbody>
</table>
<p><b>行业</b> </p>
<p><b>Data Mining Applications by Industry (June 2007)</b> </p>
<p><b></b><b>Industries/fields where you applied data mining in the past 12 months [138 voters]</b> </p>
<p><a title="http://www.kdnuggets.com/polls/2007/data_mining_applications.htm" href="http://www.kdnuggets.com/polls/2007/data_mining_applications.htm">http://www.kdnuggets.com/polls/2007/data_mining_applications.htm</a> </p>
<table cellspacing="0" cellpadding="2" width="468" border="0">
<tbody>
<tr>
<td valign="top" width="230">
<p>CRM (36) 26.1%  </p>
<p>Banking (33) 23.9%  </p>
<p>Direct Marketing/ Fundraising (28) 20.3%  </p>
<p>Science (26) 18.8%  </p>
<p>Fraud Detection (26) 18.8%  </p>
<p>Telecom (21) 15.2%  </p>
<p>Credit Scoring (19) 13.8%  </p>
<p>Other (18) 13.0%  </p>
<p>Biotech/Genomics (16) 11.6%  </p>
<p>Web usage mining (14) 10.1%  </p>
<p>Retail (14) 10.1%  </p>
<p>Medical/ Pharma (13) 9.4%  </p>
<p>Insurance (12) 8.7% </p>
</td>
<td valign="top" width="236">
<p>Health care/ HR (10) 7.2%  </p>
<p>Government/Military (10) 7.2%  </p>
<p>Financials/Lending (10) 7.2%  </p>
<p>Web content mining/Search (9) 6.5%  </p>
<p>Manufacturing (9) 6.5%  </p>
<p>e-commerce (8) 5.8%  </p>
<p>Entertainment/ Music (6) 4.3%  </p>
<p>Social Policy/Survey analysis (5) 3.6%  </p>
<p>Security / Anti-terrorism (5) 3.6%  </p>
<p>Investment / Stocks (4) 2.9%  </p>
<p>Travel/Hospitality (3) 2.2%  </p>
<p>Junk email / Anti-spam (3) 2.2% </p>
</td>
</tr>
</tbody>
</table>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e6%96%b9%e6%b3%95" rel="tag">数据挖掘方法</a>, <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e5%b7%a5%e5%85%b7" rel="tag">数据挖掘工具</a>, <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/08/21/kdnuggets%e8%b0%83%e6%9f%a5%ef%bc%9a%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e6%96%b9%e6%b3%95%e5%92%8c%e5%b7%a5%e5%85%b7/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>备忘录之主成分分析</title>
		<link>http://www.jiangtanghu.com/cn/2007/08/16/%e5%a4%87%e5%bf%98%e5%bd%95%e4%b9%8b%e4%b8%bb%e6%88%90%e5%88%86%e5%88%86%e6%9e%90/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/08/16/%e5%a4%87%e5%bf%98%e5%bd%95%e4%b9%8b%e4%b8%bb%e6%88%90%e5%88%86%e5%88%86%e6%9e%90/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[统计备忘录]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9929</guid>
		<description><![CDATA[//这个暑期小学期，跟管理技术系的同学上营销数据分析。这门选修，主要是为凑学分了，偶尔也在课程bbs发些贴，权当备忘录了。这个主成分分析，主要来自高惠璇老师的两本教材，《应用多元统计分析》（北京大学出版社，2005）和《实用统计方法与SAS系统》（北京大学出版社，2001）。这个贴就发在学院bbs上，其他ip登不上，贴过来。在记事本上写的，像Z1这样的标记就是Z加一个下标1。 在实际问题中，如果变量个数太多：1.变量彼此存在一定的相关性，因而观测到的数据在一定程度上反映的信息有所重叠（多重共线性）； 2.在高维空间中研究样本的分布规律比较复杂，变量太多增加分析问题的复杂性。 我们希望：1.用较少的综合变量来代替原来较多的变量（降维，减少维度）； 2.这几个综合变量能够尽可能多地反映原来变量的信息； 3.这几个综合变量彼此互不相关。 主成分分析、因子分析、典型相关分析和偏最小二乘回归等统计方法就是以上降维思想的体现。 一、主成分分析 1.定义 这里说的主成分分析，又称主分量分析、主轴分析，是将多个指标（变量）化为少数几个综合指标的一种统计方法。把p个变量X1，X2，…，Xp，记为一个p维的随机向量X=(X1，X2，…，Xp)，其协方差阵为D(X)。考虑X的线性变换： Z1=A1*XZ2=A2*X……Zp=Ap*X， 这里的X和A1、A2、…、Ap等都不妨看成向量形式。假如我们想用Z1来代替原来的p个变量，这就要求Z1尽可能多地反映原来p个变量的信息。这里“信息”可以用Z1的方差Var（Z1）来表示，方差Var（Z1）越大，表示Z1包含的信息越多。当然，这需要强加一些数学上的限制，否则Var（Z1）就可能是无限大了，这里的限制是向量A1和它自己的转置之积等于1，记为A1*Trans（A1）=1。就这样：          若存在满足A1*Trans（A1）=1的A1，使得Var（Z1）最大，则称Z1为为第一主成分，或第一主分量，Z1=A1*X。 如果第一主成分不足以代表原来p个变量的绝大部分信息，我们就可以考虑X的第二个线性组合Z2=A2*X。此时，我们要求，已经体现在第一主成分Z1中的信息不要出现在Z2中，即Z1和Z2的协方差Cov（Z1，Z2）=0。就这样：           在Cov（Z1，Z2）=0时，若存在满足A2*Trans（A2）=1的A2，使得Var（Z2）最大，则称Z2为为第二主成分，或第二主分量。 类似我们可以定义X的第三主成分，以致第p主成分（当然，对p维的随机向量X来说，第p主成分就没有必要了）。 2.直观解释 从代数上讲，主成分就是p个原始变量的一些特殊的线性组合。从几何上讲，这些线性组合是把由X1，X2，…，Xp构成的坐标系通过旋转而产生的新坐标系。 3.求解 从上面的定义可知，求第一主成分Z1=A1*X的问题，就是求A1，使得在A1*Trans（A1）=1下，Var（Z1）达到最大，这是一个条件极值问题，可以用拉格朗日乘子法求解。    Max Var(Z1)=Var(A1*X)   s.t A1*Trans（A1）=1 运用拉格朗日乘子法,令L=Var（A1*X）-t(A1*Trans（A1）-1)，接下来就是一阶条件了，按下不表。说说结果。求解以上条件极值问题，就是求X的协方差阵D(X)的特征值（就是拉格朗日乘子t）和特征向量（就是我们感兴趣的A1、A2、…、Ap）。一个定理： 设X=(X1，X2，…，Xp)是p维的随机向量，其协方差阵为D(X)，D(X)的特征值为t1&#62;t2&#62;…&#62;tp,A1、A2、…、Ap为相应的单位正交特征向量，则X的第i主成分为Zi=Ai*X. 4.一些名词 原总体X的总惯量（总方差）：就是上面我们求出来的特征值之和，sum（t1，t2，…，tp）贡献率：单个特征值ti与总方差之比，称为主成分Zi的贡献率。同样可以定义累计的贡献率。因子负荷量（因子载荷量）：主成分Zi与原始变量Xi的相关系数。 5.计算机求解（SAS） （在SAS系统中，主成分分析的程序步是princomp，因子分析的程序步是factor。所以可以知道主成分分析和因子分析毕竟不是一样的东西，具体见因子分析的部分。） 这里有一个数据，5个变量，id、x1身高、x2体重、x3胸围、x4坐高，30个观测值。我们想对x1身高、x2体重、x3胸围、x4坐高做主成分分析。 data princomp;  input id x1 x2 x3 x4  ;  cards;1 148 41 72 78  2 139 34 71 763 160 49 77 86 4 149 36 67 [...]]]></description>
			<content:encoded><![CDATA[<p>//这个暑期小学期，跟管理技术系的同学上营销数据分析。这门选修，主要是为凑学分了，偶尔也在课程bbs发些贴，权当备忘录了。这个主成分分析，主要来自高惠璇老师的两本教材，《应用多元统计分析》（北京大学出版社，2005）和《实用统计方法与SAS系统》（北京大学出版社，2001）。这个贴就发在学院bbs上，其他ip登不上，贴过来。在记事本上写的，像Z1这样的标记就是Z加一个下标1。  </p>
<p>在实际问题中，如果变量个数太多：<br />1.变量彼此存在一定的相关性，因而观测到的数据在一定程度上反映的信息有所重叠（多重共线性）； <br />2.在高维空间中研究样本的分布规律比较复杂，变量太多增加分析问题的复杂性。</p>
<p>我们希望：<br />1.用较少的综合变量来代替原来较多的变量（降维，减少维度）； <br />2.这几个综合变量能够尽可能多地反映原来变量的信息； <br />3.这几个综合变量彼此互不相关。</p>
<p>主成分分析、因子分析、典型相关分析和偏最小二乘回归等统计方法就是以上降维思想的体现。</p>
<p>一、主成分分析</p>
<p>1.定义</p>
<p>这里说的主成分分析，又称主分量分析、主轴分析，是将多个指标（变量）化为少数几个综合指标的一种统计方法。<br />把p个变量X1，X2，…，Xp，记为一个p维的随机向量X=(X1，X2，…，Xp)，其协方差阵为D(X)。考虑X的线性变换：</p>
<p>Z1=A1*X<br />Z2=A2*X<br />……<br />Zp=Ap*X，</p>
<p>这里的X和A1、A2、…、Ap等都不妨看成向量形式。假如我们想用Z1来代替原来的p个变量，这就要求Z1尽可能多地反映原来p个变量的信息。这里“信息”可以用Z1的方差Var（Z1）来表示，方差Var（Z1）越大，表示Z1包含的信息越多。当然，这需要强加一些数学上的限制，否则Var（Z1）就可能是无限大了，这里的限制是向量A1和它自己的转置之积等于1，记为A1*Trans（A1）=1。就这样：</p>
<p>         若存在满足A1*Trans（A1）=1的A1，使得Var（Z1）最大，则称Z1为为第一主成分，或第一主分量，Z1=A1*X。</p>
<p>如果第一主成分不足以代表原来p个变量的绝大部分信息，我们就可以考虑X的第二个线性组合Z2=A2*X。此时，我们要求，已经体现在第一主成分Z1中的信息不要出现在Z2中，即Z1和Z2的协方差Cov（Z1，Z2）=0。就这样：</p>
<p>          在Cov（Z1，Z2）=0时，若存在满足A2*Trans（A2）=1的A2，使得Var（Z2）最大，则称Z2为为第二主成分，或第二主分量。</p>
<p>类似我们可以定义X的第三主成分，以致第p主成分（当然，对p维的随机向量X来说，第p主成分就没有必要了）。</p>
<p>2.直观解释</p>
<p>从代数上讲，主成分就是p个原始变量的一些特殊的线性组合。<br />从几何上讲，这些线性组合是把由X1，X2，…，Xp构成的坐标系通过旋转而产生的新坐标系。</p>
<p>3.求解</p>
<p>从上面的定义可知，求第一主成分Z1=A1*X的问题，就是求A1，使得在A1*Trans（A1）=1下，Var（Z1）达到最大，这是一个条件极值问题，可以用拉格朗日乘子法求解。</p>
<p>   Max Var(Z1)=Var(A1*X)<br />   s.t A1*Trans（A1）=1</p>
<p>运用拉格朗日乘子法,令L=Var（A1*X）-t(A1*Trans（A1）-1)，接下来就是一阶条件了，按下不表。<br />说说结果。求解以上条件极值问题，就是求X的协方差阵D(X)的特征值（就是拉格朗日乘子t）和特征向量（就是我们感兴趣的A1、A2、…、Ap）。一个定理：</p>
<p>设X=(X1，X2，…，Xp)是p维的随机向量，其协方差阵为D(X)，D(X)的特征值为t1&gt;t2&gt;…&gt;tp,A1、A2、…、Ap为相应的单位正交特征向量，则X的第i主成分为Zi=Ai*X.</p>
<p>4.一些名词</p>
<p>原总体X的总惯量（总方差）：就是上面我们求出来的特征值之和，sum（t1，t2，…，tp）<br />贡献率：单个特征值ti与总方差之比，称为主成分Zi的贡献率。同样可以定义累计的贡献率。<br />因子负荷量（因子载荷量）：主成分Zi与原始变量Xi的相关系数。</p>
<p>5.计算机求解（SAS）</p>
<p>（在SAS系统中，主成分分析的程序步是princomp，因子分析的程序步是factor。所以可以知道主成分分析和因子分析毕竟不是一样的东西，具体见因子分析的部分。）</p>
<p>这里有一个数据，5个变量，id、x1身高、x2体重、x3胸围、x4坐高，30个观测值。我们想对x1身高、x2体重、x3胸围、x4坐高做主成分分析。</p>
<p>data princomp;<br />  input id x1 x2 x3 x4  ;<br />  cards;<br />1 148 41 72 78  <br />2 139 34 71 76<br />3 160 49 77 86 <br />4 149 36 67 79<br />5 159 45 80 86 <br />6 142 31 66 76<br />7 153 43 76 83  <br />8 150 43 77 79<br />9 151 42 77 80 <br />10 139 31 68 74<br />11 140 29 64 74<br />12 161 47 78 84<br />13 158 49 78 83 <br />14 140 33 67 77<br />15 137 31 66 73 <br />16 152 35 73 79<br />17 149 47 82 79 <br />18 145 35 70 77<br />19 160 47 74 87 <br />20 156 44 78 85<br />21 151 42 73 82<br />22 147 38 73 78<br />23 157 39 68 80 <br />24 147 30 65 75<br />25 157 48 80 88<br />26 151 36 74 80<br />27 144 36 68 76<br />28 141 30 67 76<br />29 139 32 68 73 <br />30 148 38 70 78<br />;<br />proc princomp;<br />  var x1 x2 x3 x4  ;<br />run;</p>
<p>结果解释：</p>
<p>（1）结果首先有相关矩阵，可以看出这四个变量之间有较强的相关性。<br />                                          Correlation Matrix<br />                                      x1          x2          x3          x4<br />                          x1      1.0000      0.8632      0.7321      0.9205<br />                          x2      0.8632      1.0000      0.8965      0.8827<br />                          x3      0.7321      0.8965      1.0000      0.7829<br />                          x4      0.9205      0.8827      0.7829      1.0000</p>
<p>（2）然后是以上相关阵的特征值t（Eigenvalue，上面例子中的t）<br />                                         Eigenvalues of the Correlation Matrix<br />                                   Eigenvalue    Difference    Proportion    Cumulative<br />                        1    3.54109800    3.22771484        0.8853        0.8853<br />                        2    0.31338316    0.23397420        0.0783        0.9636<br />                        3    0.07940895    0.01329906        0.0199        0.9835<br />                        4    0.06610989                             0.0165        1.0000</p>
<p>从中可以看到，第一主成分的贡献率就达到 0.8853。单个贡献率就是某个特征值与总特征值的比，这里0.8853=3.54109800/(3.54109800 +0.31338316 +0.07940895+0.06610989) .还有，前两个主成分的累计是0.9636，所以用这两个主成分就可以很好地概括这些数据。</p>
<p>（3）还有特征向量（ Eigenvectors，我们例子中的A）<br />                                                    Eigenvectors<br />                                      Prin1         Prin2         Prin3         Prin4<br />                      x1      0.496966      -.543213      -.449627      0.505747<br />                      x2      <br />
0.514571      0.210246      -.462330      -.690844<br />                      x3      0.480901      0.724621      0.175177      0.461488<br />                      x4      0.506928      -.368294      0.743908      -.232343</p>
<p>我们可以由最大的两个特征值对应的特征向量，写出第一和第二主成分（结果中的Prin1和Prin2）：<br />Z1=Prin1= 0.496966*X1+0.514571 *X2+0.480901*X3+0.506928*X4<br />Z2=Prin2= -0.543213 *X1+0.210246 *X2+0.724621*X3 -0.368294*X4</p>
<p>这样我们就写出了开头那个线性组合。接下来说些因子分析，因子分析是主成分分析的推广，稍复杂些。（待续）</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e4%b8%bb%e6%88%90%e5%88%86%e5%88%86%e6%9e%90" rel="tag">主成分分析</a>, <a href="http://technorati.com/tags/%e5%9b%a0%e5%ad%90%e5%88%86%e6%9e%90" rel="tag">因子分析</a>, <a href="http://technorati.com/tags/SAS" rel="tag">SAS</a>, <a href="http://technorati.com/tags/SPSS" rel="tag">SPSS</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/08/16/%e5%a4%87%e5%bf%98%e5%bd%95%e4%b9%8b%e4%b8%bb%e6%88%90%e5%88%86%e5%88%86%e6%9e%90/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>下载yahoo finance和雅虎财经数据</title>
		<link>http://www.jiangtanghu.com/cn/2007/08/05/%e4%b8%8b%e8%bd%bdyahoo-finance%e5%92%8c%e9%9b%85%e8%99%8e%e8%b4%a2%e7%bb%8f%e6%95%b0%e6%8d%ae/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/08/05/%e4%b8%8b%e8%bd%bdyahoo-finance%e5%92%8c%e9%9b%85%e8%99%8e%e8%b4%a2%e7%bb%8f%e6%95%b0%e6%8d%ae/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[金融计算]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9928</guid>
		<description><![CDATA[找股票、基金、期货等实时或历史数据，yahoo finance是一个不错的地方（最好的地方？），更新快，免费，输出格式通用。如果你只想要比如ibm股票的数据，那直接下载就是；但如果想用爬虫程序同时下载ibm、google等数十家股票的数据——气人的是——所有的下载过来的数据都以table.csv命名，想想还是用迅雷加手动省事： 打开yahoo finance主页http://finance.yahoo.com/，左上角有个“Enter Symbol(s)”的提示框，填入你想要股票代码，比如ibm。如果没有直接对应的股票，比如你输入google，它就会转到一个搜索界面，再选中goog便是； 前面我们填的是ibm，那么我们就进入了http://finance.yahoo.com/q?s=ibm这个页面。在页面的左栏，“Quotes”栏目的第三个，点击&#34;Historical Prices&#34;就进入了ibm股票的历史数据页面http://finance.yahoo.com/q/hp?s=IBM； 在这个数据页面，你还可以设定你需要数据的时间刻度（日交易数据还是周、月交易数据）和时间范围（在事件研究项目上有用），默认的时间刻度是天，范围是最早到最近。拉到页面的最低端，找到“Download To Spreadsheet”这个按钮。如果你只需要这个数据，点击保存就是。要注意的是所有下载下来的数据都以table.csv命名，所以一定记得要重命名； 如果想利用迅雷同是下载更多只股票的信息，那么我们就要看看以上链接的信息。比如在ibm的页面，在那个“Download To Spreadsheet”上，点右键，找到“Properties性质”，我们看到这个数据文件的URL是 http://ichart.finance.yahoo.com/table.csv?s=IBM&#38;d=7&#38;e=5&#38;f=2007&#38;g=d&#38;a=0&#38;b=2&#38;c=1962&#38;ignore=.csv，同样查到google股票数据的URL是 http://ichart.finance.yahoo.com/table.csv?s=GOOG&#38;d=7&#38;e=5&#38;f=2007&#38;g=d&#38;a=7&#38;b=19&#38;c=2004&#38;ignore=.csv 以上差别就是加黑部分股票代码的不同。比如说我们还知道其他感兴趣的股票代码，比如ag等，现在就可以打开迅雷，点“文件”—“新建”，在弹出来的对话框中，“网址(URL)”就填入http://ichart.finance.yahoo.com/table.csv?s=IBM&#38;d=7&#38;e=5&#38;f=2007&#38;g=d&#38;a=0&#38;b=2&#38;c=1962&#38;ignore=.csv并命名为ibm.csv；对ag等股票，把上面的URL中的IBM改为AG就是，接下来重复以上动作，填上所有你感兴趣的股票代码，剩下的就是让机器慢慢下了。 当然，以上手工活还挺多。听说有个专门下yahoo finance的工具，不知其可。中国雅虎的财经频道跟yahoo finance类似的结构，一样可行。 Technorati Tags: 下载雅虎财经数据, yahoo finance, 雅虎财经, 迅雷]]></description>
			<content:encoded><![CDATA[<p>找股票、基金、期货等实时或历史数据，<a href="http://finance.yahoo.com/">yahoo finance</a>是一个不错的地方（最好的地方？），更新快，免费，输出格式通用。如果你只想要比如ibm股票的数据，那直接下载就是；但如果想用爬虫程序同时下载ibm、google等数十家股票的数据——气人的是——所有的下载过来的数据都以table.csv命名，想想还是用<a href="http://www.xunlei.com">迅雷</a>加手动省事：</p>
<ul>
<li>打开yahoo finance主页<a title="http://finance.yahoo.com/" href="http://finance.yahoo.com/">http://finance.yahoo.com/</a>，左上角有个“Enter Symbol(s)”的提示框，填入你想要股票代码，比如ibm。如果没有直接对应的股票，比如你输入google，它就会转到一个搜索界面，再选中goog便是；  </li>
<li>前面我们填的是ibm，那么我们就进入了<a title="http://finance.yahoo.com/q?s=ibm" href="http://finance.yahoo.com/q?s=ibm">http://finance.yahoo.com/q?s=ibm</a>这个页面。在页面的左栏，“Quotes”栏目的第三个，点击&quot;Historical Prices&quot;就进入了ibm股票的历史数据页面<a title="http://finance.yahoo.com/q/hp?s=IBM" href="http://finance.yahoo.com/q/hp?s=IBM">http://finance.yahoo.com/q/hp?s=IBM</a>；  </li>
<li>在这个数据页面，你还可以设定你需要数据的时间刻度（日交易数据还是周、月交易数据）和时间范围（在事件研究项目上有用），默认的时间刻度是天，范围是最早到最近。拉到页面的最低端，找到“Download To Spreadsheet”这个按钮。如果你只需要这个数据，点击保存就是。要注意的是所有下载下来的数据都以table.csv命名，所以一定记得要重命名；  </li>
<li>如果想利用迅雷同是下载更多只股票的信息，那么我们就要看看以上链接的信息。比如在ibm的页面，在那个“Download To Spreadsheet”上，点右键，找到“Properties性质”，我们看到这个数据文件的URL是
<p><a title="http://ichart.finance.yahoo.com/table.csv?s=IBM&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv" href="http://ichart.finance.yahoo.com/table.csv?s=IBM&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv"></a><a title="http://ichart.finance.yahoo.com/table.csv?s=IBM&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv" href="http://ichart.finance.yahoo.com/table.csv?s=IBM&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv">http://ichart.finance.yahoo.com/table.csv?s=<strong><em>IBM</em></strong>&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv</a>，同样查到google股票数据的URL是</p>
</li>
</ul>
<blockquote><p><a title="http://ichart.finance.yahoo.com/table.csv?s=GOOG&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=7&amp;b=19&amp;c=2004&amp;ignore=.csv" href="http://ichart.finance.yahoo.com/table.csv?s=GOOG&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=7&amp;b=19&amp;c=2004&amp;ignore=.csv">http://ichart.finance.yahoo.com/table.csv?s=<strong><em>GOOG</em></strong>&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=7&amp;b=19&amp;c=2004&amp;ignore=.csv</a></p>
</blockquote>
<ul>
<li>以上差别就是加黑部分股票代码的不同。比如说我们还知道其他感兴趣的股票代码，比如ag等，现在就可以打开迅雷，点“文件”—“新建”，在弹出来的对话框中，“网址(URL)”就填入<a title="http://ichart.finance.yahoo.com/table.csv?s=IBM&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv" href="http://ichart.finance.yahoo.com/table.csv?s=IBM&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv">http://ichart.finance.yahoo.com/table.csv?s=<strong><em>IBM</em></strong>&amp;d=7&amp;e=5&amp;f=2007&amp;g=d&amp;a=0&amp;b=2&amp;c=1962&amp;ignore=.csv</a>并命名为ibm.csv；对ag等股票，把上面的URL中的IBM改为AG就是，接下来重复以上动作，填上所有你感兴趣的股票代码，剩下的就是让机器慢慢下了。</li>
</ul>
<p>当然，以上手工活还挺多。听说有个专门下yahoo finance的工具，不知其可。中国雅虎的财经频道跟yahoo finance类似的结构，一样可行。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/%e4%b8%8b%e8%bd%bd%e9%9b%85%e8%99%8e%e8%b4%a2%e7%bb%8f%e6%95%b0%e6%8d%ae" rel="tag">下载雅虎财经数据</a>, <a href="http://technorati.com/tags/yahoo finance" rel="tag">yahoo finance</a>, <a href="http://technorati.com/tags/%e9%9b%85%e8%99%8e%e8%b4%a2%e7%bb%8f" rel="tag">雅虎财经</a>, <a href="http://technorati.com/tags/%e8%bf%85%e9%9b%b7" rel="tag">迅雷</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/08/05/%e4%b8%8b%e8%bd%bdyahoo-finance%e5%92%8c%e9%9b%85%e8%99%8e%e8%b4%a2%e7%bb%8f%e6%95%b0%e6%8d%ae/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>S语言:棕皮书、蓝皮书、白皮书和绿皮书</title>
		<link>http://www.jiangtanghu.com/cn/2007/07/24/s%e8%af%ad%e8%a8%80%e6%a3%95%e7%9a%ae%e4%b9%a6%e3%80%81%e8%93%9d%e7%9a%ae%e4%b9%a6%e3%80%81%e7%99%bd%e7%9a%ae%e4%b9%a6%e5%92%8c%e7%bb%bf%e7%9a%ae%e4%b9%a6/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/07/24/s%e8%af%ad%e8%a8%80%e6%a3%95%e7%9a%ae%e4%b9%a6%e3%80%81%e8%93%9d%e7%9a%ae%e4%b9%a6%e3%80%81%e7%99%bd%e7%9a%ae%e4%b9%a6%e5%92%8c%e7%bb%bf%e7%9a%ae%e4%b9%a6/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[S:R&S-PLUS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9927</guid>
		<description><![CDATA[S语言由AT&#38;T的贝尔实验室的Rick Becker和John Chambers于上世纪八十年代初期所创，1976年被认为是S诞生的年份。几年后Allan Wilks成为这个研发组织的核心成员，所以提到S，我们都是把这三个科学家并举。有趣的是，S的发展过程中，每一个重要版本都伴随有一个著名的皮书，如棕皮书、蓝皮书、白皮书、绿皮书之类。这东西就是圈内的一种乐趣了，就相当于提起语言/分析哲学家维特根斯坦，我们就津津乐道起他著名的《棕色笔记本》、《蓝色笔记本》之类的哲学笔记。 1984年，S语言正逐渐被人接受，第一本参考手册就被称为棕皮书（Brown Book），就是由Becker和Chambers合著的S: An Interactive Enviroment for Data Analysis and Graphics (Published by Wadsworth &#38;Brooks/Cole, Pacific Grove, CA,1984)。 1988年，S语言的编程方式有多处变化，最重要的是其中的宏（macro）被函数概念（function）替代，蓝皮书(Blue Book)于是面世，它由Becker、Chambers、Wilks合著：The New S Language (Published by Wadsworth &#38;Brooks/Cole, Pacific Grove, CA,1988)。 接下来的几年，更多的函数被嵌入S语言，并且也引入了面对对象的程序设计方式，白皮书(White Book)记载了这些变化，它由Becker和T.J Hastie编著：Statistical Models in S (Published by Wadsworth &#38;Brooks/Cole, Pacific Grove, CA,1992)。 1998年，S的第四版问世，面向对象的构造方式已经成为S语言的基础，这个革命性的变化体现在Chambers的Programming with Data: A Guide to the S Language [...]]]></description>
			<content:encoded><![CDATA[<p>S语言由AT&amp;T的贝尔实验室的Rick Becker和John Chambers于上世纪八十年代初期所创，1976年被认为是S诞生的年份。几年后Allan Wilks成为这个研发组织的核心成员，所以提到S，我们都是把这三个科学家并举。有趣的是，S的发展过程中，每一个重要版本都伴随有一个著名的皮书，如棕皮书、蓝皮书、白皮书、绿皮书之类。这东西就是圈内的一种乐趣了，就相当于提起语言/分析哲学家维特根斯坦，我们就津津乐道起他著名的《棕色笔记本》、《蓝色笔记本》之类的哲学笔记。</p>
<p>1984年，S语言正逐渐被人接受，第一本参考手册就被称为棕皮书（Brown Book），就是由Becker和Chambers合著的S: An Interactive Enviroment for Data Analysis and Graphics (Published by Wadsworth &amp;Brooks/Cole, Pacific Grove, CA,1984)。</p>
<p>1988年，S语言的编程方式有多处变化，最重要的是其中的宏（macro）被函数概念（function）替代，蓝皮书(Blue Book)于是面世，它由Becker、Chambers、Wilks合著：The New S Language (Published by Wadsworth &amp;Brooks/Cole, Pacific Grove, CA,1988)。</p>
<p>接下来的几年，更多的函数被嵌入S语言，并且也引入了面对对象的程序设计方式，白皮书(White Book)记载了这些变化，它由Becker和T.J Hastie编著：Statistical Models in S (Published by Wadsworth &amp;Brooks/Cole, Pacific Grove, CA,1992)。</p>
<p>1998年，S的第四版问世，面向对象的构造方式已经成为S语言的基础，这个革命性的变化体现在Chambers的<a href="http://cm.bell-labs.com/cm/ms/departments/sia/Sbook">Programming with Data: A Guide to the S Language</a> (Published by Springer-Verlag, New York, 1998)，这就是S发展史上最著名的绿皮书(Green Book)。</p>
<div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">Technorati Tags: <a href="http://technorati.com/tags/S" rel="tag">S</a>, <a href="http://technorati.com/tags/%e6%a3%95%e7%9a%ae%e4%b9%a6" rel="tag">棕皮书</a>, <a href="http://technorati.com/tags/%e8%93%9d%e7%9a%ae%e4%b9%a6" rel="tag">蓝皮书</a>, <a href="http://technorati.com/tags/%e7%99%bd%e7%9a%ae%e4%b9%a6" rel="tag">白皮书</a>, <a href="http://technorati.com/tags/%e7%bb%bf%e7%9a%ae%e4%b9%a6" rel="tag">绿皮书</a>, <a href="http://technorati.com/tags/Rick Becker" rel="tag">Rick Becker</a>, <a href="http://technorati.com/tags/John Chambers" rel="tag">John Chambers</a>, <a href="http://technorati.com/tags/Allan Wilks" rel="tag">Allan Wilks</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/07/24/s%e8%af%ad%e8%a8%80%e6%a3%95%e7%9a%ae%e4%b9%a6%e3%80%81%e8%93%9d%e7%9a%ae%e4%b9%a6%e3%80%81%e7%99%bd%e7%9a%ae%e4%b9%a6%e5%92%8c%e7%bb%bf%e7%9a%ae%e4%b9%a6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>一款像模像样的数据挖掘软件—AlphaMiner</title>
		<link>http://www.jiangtanghu.com/cn/2007/07/23/%e4%b8%80%e6%ac%be%e5%83%8f%e6%a8%a1%e5%83%8f%e6%a0%b7%e7%9a%84%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e8%bd%af%e4%bb%b6%e2%80%94alphaminer/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/07/23/%e4%b8%80%e6%ac%be%e5%83%8f%e6%a8%a1%e5%83%8f%e6%a0%b7%e7%9a%84%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e8%bd%af%e4%bb%b6%e2%80%94alphaminer/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9926</guid>
		<description><![CDATA[ 介绍一款免费的数据挖掘软件，就是左图所示的AlphaMiner，1.0版由香港大学电子商务研究所研制，现在它由该机构和哈尔滨工业大学（哈工大，叫全称怎么这么别扭）深圳研究生院联合成立的一个商务智能实验室共同开发维护，已经升级到2.0版。它自称是一个开源项目（的确开放源代码），但我现在看它在sourceforge的链接已经删掉，不知为什么。试着一句话介绍： AlphaMiner是一款基于开源项目Weka和Xelopes的，跟主流数据挖掘平台如SAS Enterprise Miner、SPSS clementine、S-Plus Insightful Miner等拥有一样友好图形界面和工作流方式的，可以实施大多数常用数据挖掘算法的，免费的、可以定制中文界面的、像模像样的、开源的数据挖掘软件。 这里的关键词是“像模像样”，是跟上面提到的SAS Enterprise Miner、SPSS clementine、S-Plus Insightful Miner相比来说的，AlphaMiner小巧玲珑，安装文件（加上JRE）不到40M，图形界面、工作流方式，还有提供的众多数据挖掘算法，可谓麻雀虽小，五脏俱全，各方面真是像模像样，以下的特点都是来自2.0版： 图形界面，工作流方式，左边是带选择的节点，右边的大片空白就是工作簿，用来堆放从左边拖曳过来的各种节点，这样的工作环境跟SAS Enterprise Miner、SPSS clementine、S-Plus Insightful Miner等主流数据挖掘平台一模一样； 数据挖掘流程，遵循跟SPSS clementine一样的所谓CRISP工业标准(Cross Industry standard Process for Data Mining,CRISP-DM)，即把一个数据挖掘项目的流程分为以下六个部分，体现在AlphaMiner界面左侧的选项就是Data Understanding、Data Preparation、Modeling、Evaluating和Evaluate： 理解业务(business understanding) 理解数据(data understanding) 数据准备(data preparation) 建模(modeling) 评估(evaluation) 实施(deployment) 算法，AlphaMiner提供包括分类、聚类和关联分析的共12种现成数据挖掘算法，其中，关联分析(Association)一种，聚类(Cluster)提供KMeans和WKMeans两种算法，分类(classification)算法有： 决策树(Decision Tree) 简单贝叶斯(Naive Bayes) 序贯最小优化(Sequential Minimal Optimization，SMO) 逻辑斯蒂回归(Logistic Regression) 线性回归(Linear Regression) 多层感知器(Multilayer Perception) 径向基网络(RBFNetwork) OneR，（以前是一个插件，用来生成规则） WekaClassifier（以前是一个插件，用来调用Weka的分类器） [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://byfiles.storage.msn.com/y1pWSQL4HE6E-DuoiIPPaPSEQkOFtpXjYhBJQwvRxYnE2V898OKw6e26srrSBBsfBhcQx_CAEp2PGY"><img style="border:0px none" alt="AlphaMiner" src="http://byfiles.storage.msn.com/y1pWSQL4HE6E-Cdk4jKhzvoHlrTNVdIpNwuVVuiJKBkZqCk_UrNqiS3kdHaNI4pi3CBswQMC08JfT0" align="left" border="0" height="180" width="240" /></a>  介绍一款免费的数据挖掘软件，就是左图所示的<a href="http://bi.hitsz.edu.cn/AlphaMiner/index.htm" target="_blank">AlphaMiner</a>，1.0版由<a href="www.eti.hku.hk/alphaminer/" target="_blank">香港大学电子商务研究所</a>研制，现在它由该机构和哈尔滨工业大学（哈工大，叫全称怎么这么别扭）深圳研究生院联合成立的一个商务智能实验室共同开发维护，已经升级到2.0版。它自称是一个开源项目（的确开放源代码），但我现在看它在<a href="sourceforge.net" target="_blank">sourceforge</a>的链接已经删掉，不知为什么。试着一句话介绍：<br />
<blockquote>
<p>AlphaMiner是一款基于开源项目Weka和Xelopes的，跟主流数据挖掘平台如SAS Enterprise Miner、SPSS clementine、S-Plus Insightful Miner等拥有一样友好图形界面和工作流方式的，可以实施大多数常用数据挖掘算法的，免费的、可以定制中文界面的、像模像样的、开源的数据挖掘软件。</p>
</blockquote>
<p>这里的关键词是“像模像样”，是跟上面提到的SAS Enterprise Miner、SPSS clementine、S-Plus Insightful Miner相比来说的，AlphaMiner小巧玲珑，安装文件（加上JRE）不到40M，图形界面、工作流方式，还有提供的众多数据挖掘算法，可谓麻雀虽小，五脏俱全，各方面真是像模像样，以下的特点都是来自2.0版：
<ol>
<li>图形界面，工作流方式，左边是带选择的节点，右边的大片空白就是工作簿，用来堆放从左边拖曳过来的各种节点，这样的工作环境跟SAS Enterprise Miner、SPSS clementine、S-Plus Insightful Miner等主流数据挖掘平台一模一样； </li>
<li>数据挖掘流程，遵循跟SPSS clementine一样的所谓CRISP工业标准(<a href="http://www.crisp-dm.org" target="_blank">Cross Industry standard Process for Data Mining</a>,CRISP-DM)，即把一个数据挖掘项目的流程分为以下六个部分，体现在AlphaMiner界面左侧的选项就是Data Understanding、Data Preparation、Modeling、Evaluating和Evaluate：
<ul>
<li>理解业务(business understanding) </li>
<li>理解数据(data understanding) </li>
<li>数据准备(data preparation) </li>
<li>建模(modeling) </li>
<li>评估(evaluation) </li>
<li>实施(deployment)</li>
</ul>
</li>
<li>算法，AlphaMiner提供包括分类、聚类和关联分析的共12种现成数据挖掘算法，其中，关联分析(Association)一种，聚类(Cluster)提供KMeans和WKMeans两种算法，分类(classification)算法有：
<ul>
<li>决策树(Decision Tree) </li>
<li>简单贝叶斯(Naive Bayes) </li>
<li>序贯最小优化(<a href="http://research.microsoft.com/users/jplatt/smo.html">Sequential Minimal Optimization</a>，SMO) </li>
<li>逻辑斯蒂回归(Logistic Regression) </li>
<li>线性回归(Linear Regression) </li>
<li>多层感知器(Multilayer Perception) </li>
<li>径向基网络(RBFNetwork) </li>
<li>OneR，（以前是一个插件，用来生成规则） </li>
<li>WekaClassifier（以前是一个插件，用来调用Weka的分类器）</li>
</ul>
</li>
</ol>
<p>AlphaMiner2.0的下载地址在：<a title="http://bi.hitsz.edu.cn/AlphaMiner/index.htm" href="http://bi.hitsz.edu.cn/AlphaMiner/index.htm">http://bi.hitsz.edu.cn/AlphaMiner/index.htm</a>
<div style="margin:0px;padding:0px;display:inline">Technorati Tags: <a href="http://technorati.com/tags/AlphaMiner" rel="tag">AlphaMiner</a>, <a href="http://technorati.com/tags/CRISP-DM" rel="tag">CRISP-DM</a>, <a href="http://technorati.com/tags/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">数据挖掘</a>, <a href="http://technorati.com/tags/Weka" rel="tag">Weka</a></div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/07/23/%e4%b8%80%e6%ac%be%e5%83%8f%e6%a8%a1%e5%83%8f%e6%a0%b7%e7%9a%84%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e8%bd%af%e4%bb%b6%e2%80%94alphaminer/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>最大熵模型：读书笔记</title>
		<link>http://www.jiangtanghu.com/cn/2007/06/26/%e6%9c%80%e5%a4%a7%e7%86%b5%e6%a8%a1%e5%9e%8b%ef%bc%9a%e8%af%bb%e4%b9%a6%e7%ac%94%e8%ae%b0/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/06/26/%e6%9c%80%e5%a4%a7%e7%86%b5%e6%a8%a1%e5%9e%8b%ef%bc%9a%e8%af%bb%e4%b9%a6%e7%ac%94%e8%ae%b0/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9925</guid>
		<description><![CDATA[                                                            最大熵模型：读书笔记                                                                     胡江堂，北京大学软件学院 1. 物理学的熵 2. 信息论的熵 3. 熵和主观概率（一个简单注释 4. 熵的性质 4.1. 当所有概率相等时，熵取得最大值 4.2. 小概率事件发生时携带的信息量比大概率事件发生时携带的信息量多 5. 最大熵原理：直觉讨论 6. 最大熵原理：一个手工例子 7. 最大熵原理：正式表述 8. 最大熵模型的训练：GIS算法 9. 最大熵模型：金融领域内的应用 参考文献   这篇读书笔记主要写了对熵的理解、对最大熵原则的理解，还有一个手工计算的例子。在处理一般化的最大熵模型时，我采用了我偏爱的连续随机变量形式，而不是一般有助于计算机理解的离散形式。连续而非离散的处理方式的一个好处就是，它能非常方便地推出最大熵模型的解是一个指数形式。如果使用离散形式，一样的结论，那符号就看着复杂多了。 所有的东西都来自篇末的参考资料。 1. 物理学的熵 熵是一个物理学概念，它是描述事物无序性的参数，熵越大则无序性越强。从宏观方面讲（根据热力学定律），一个体系的熵等于其可逆过程吸收或耗散的热量除以它的绝对温度；从微观讲，熵是大量微观粒子的位置和速度的分布概率的函数。自然界的一个基本规律就是熵递增原理，即，一个孤立系统的熵，自发性地趋于极大，随着熵的增加，有序状态逐步变为混沌状态，不可能自发地产生新的有序结构，这意味着自然界越变越无序。 2. 信息论的熵 在物理学中，熵是描述客观事物无序性的参数。信息论的开创者香农认为，信息（知识）是人们对事物了解的不确定性的消除或减少。他把不确定的程度称为信息熵。假设每种可能的状态都有概率，我们用关于被占据状态的未知信息来量化不确定性，这个信息熵即为： 其中是以2为底的对数，所以这个信息用位衡量。前面说过，在物理学的背景下，这个不确定性被称为熵（在通讯系统中，关于传输的实际信息的不确定性也被称为数据源的熵）。 扩展到连续情形。假设连续变量的概率密度函数是，与离散随机变量的熵的定义类似，信息熵的连续定义为： 上式就是我们定义的随机变量的微分熵。当被解释为一个随机连续向量时，就是的联合概率密度函数。 3. 熵和主观概率（一个简单注释） 因为熵用概率表示，所以这涉及到主观概率。概率用于处理知识的缺乏（概率值为1表明对知识的完全掌握，这就不需要概率了），而一个人可能比另一个人有着更多的知识，所以两个观察者可能会使用不同的概率分布，也就是说，概率（以及所有基于概率的物理量）都是主观的。在现代的主流概率论教材中，都采用这种主观概率的处理方法。 4. 熵的性质 4.1. 当所有概率相等时，熵取得最大值 上面关于熵的公式有一个性质：假设可能状态的数量有限，当所有概率相等时，熵取得最大值。证明如下：   在只有两个状态的例子中，要使熵最大，每个状态发生的概率都是1/2，如下图所示： 4.2. 小概率事件发生时携带的信息量比大概率事件发生时携带的信息量多 证明略，可以简要说明一下，也挺直观的。如果事件发生的概率为1，在这种情况下，事件发生就没有什么“惊奇”了，并且不传达任何“信息”，因为我们已经知道这“信息”是什么，没有任何的“不确定”；反之，如果事件发生的概率很小，这就有更大的“惊奇”和有“信息”了。这里，“不确定”、“惊奇”和“信息”是相关的，信息量与事件发生的概率成反比。 5. 最大熵原理：直觉讨论 最大熵原理是根据样本信息对某个未知分布做出推断的一种方法。日常生活中，很多事情的发生表现出一定的随机性，试验的结果往往是不确定的，而且也不知道这个随机现象所服从的概率分布，所有的只有一些试验样本或样本特征，统计学常常关心的一个问题，在这种情况下如何对分布作出一个合理的推断？最大熵采取的原则就是：保留全部的不确定性，将风险降到最小。在金融理论中，一个类似的教训是，为了降低风险，投资应该多样化，不要把所有的鸡蛋都放在一个篮子里。 [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>                                                            最大熵模型：读书笔记</p>
</blockquote>
<p>                                                                    胡江堂，北京大学软件学院  </p>
<p>1. 物理学的熵  </p>
<p>2. 信息论的熵  </p>
<p>3. 熵和主观概率（一个简单注释  </p>
<p>4. 熵的性质  </p>
<p>4.1. 当所有概率相等时，熵取得最大值  </p>
<p>4.2. 小概率事件发生时携带的信息量比大概率事件发生时携带的信息量多  </p>
<p>5. 最大熵原理：直觉讨论  </p>
<p>6. 最大熵原理：一个手工例子  </p>
<p>7. 最大熵原理：正式表述  </p>
<p>8. 最大熵模型的训练：GIS算法  </p>
<p>9. 最大熵模型：金融领域内的应用  </p>
<p>参考文献  </p>
<p>   </p>
<p>这篇读书笔记主要写了对熵的理解、对最大熵原则的理解，还有一个手工计算的例子。在处理一般化的最大熵模型时，我采用了我偏爱的连续随机变量形式，而不是一般有助于计算机理解的离散形式。连续而非离散的处理方式的一个好处就是，它能非常方便地推出最大熵模型的解是一个指数形式。如果使用离散形式，一样的结论，那符号就看着复杂多了。  </p>
<p>所有的东西都来自篇末的参考资料。  </p>
<p><a>1. 物理学的熵</a> </p>
<p>熵是一个物理学概念，它是描述事物无序性的参数，熵越大则无序性越强。从宏观方面讲（根据热力学定律），一个体系的熵等于其可逆过程吸收或耗散的热量除以它的绝对温度；从微观讲，熵是大量微观粒子的位置和速度的分布概率的函数。自然界的一个基本规律就是熵递增原理，即，一个孤立系统的熵，自发性地趋于极大，随着熵的增加，有序状态逐步变为混沌状态，不可能自发地产生新的有序结构，这意味着自然界越变越无序。  </p>
<p><a>2. 信息论的熵</a> </p>
<p>在物理学中，熵是描述客观事物无序性的参数。信息论的开创者香农认为，信息（知识）是人们对事物了解的不确定性的消除或减少。他把不确定的程度称为信息熵。假设每种可能的状态<a href="http://by1.storage.msn.com/y1pQvidM7B_yfYMpmOWaq4l7AbsNTIz5HeDTNhSwB8uIS2jhU7yByTx7inCg5jh99E4SKpTGHvybAWpJW9S3zBP3w"><img height="17" alt="clip_image002" src="http://by1.storage.msn.com/y1pQvidM7B_yfZOwZ7ljWRNo294Vuker_tRgbqesoQTJe--ameUVw8fbcL7M-Ofs99m9s8cnJAwx2rUFAd_7gQNjA" width="16" border="0" /></a>都有概率<a href="http://by1.storage.msn.com/y1pQvidM7B_yfZ4cM3N-OiA5M1_kObyuM5tEAKZTfLeq8dQKePM2gztKtGOnOKG9HzjT1IoYbl20HLgBWjOR07QPA"><img height="24" alt="clip_image004" src="http://by1.storage.msn.com/y1pQvidM7B_yfbAYg2M3qWkwXkAU06UW1Td_TmvdoVz9r0jVuPytZokCG1cjufkiNqU1USMZ6zWCTqlTGXBGakWHg" width="41" border="0" /></a>，我们用关于被占据状态的未知信息来量化不确定性，这个信息熵<a href="http://by1.storage.msn.com/y1pQvidM7B_yfbH9PqWd_ei8ZxMxXms42IBE0K9UV4ju6VetW1JKeTasDtjEwKsXPEgjFpzrLpX0qm_sRe-RAzulA"><img height="19" alt="clip_image006" src="http://by1.storage.msn.com/y1pQvidM7B_yfbuAxfcyxniPBoKEtv8-VK4C95w8gJ5i7VZs6gRsNnk5hJ1km3Z7SCDD2cdFRKa0WQ8Ouj3lixmnQ" width="15" border="0" /></a>即为：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfbQu1LiIlVV913YP1_s3i7icHduTyTMe0zyYRb17HCZJrmnLcoP1wVe4yL0uIHD-86rb3FryuKTkg"><img height="38" alt="clip_image008" src="http://by1.storage.msn.com/y1pQvidM7B_yfalQv2FL8rhdAXcnnRmRvxUz8Q5sL-5Vk66kWSfnlt2BMUzCewa9CCRclZ8qydLbE0mXCY1oNzPVA" width="240" border="0" /></a> </p>
<p>其中<a href="http://by1.storage.msn.com/y1pQvidM7B_yfaxi846XvJG_vgZhxpalEvQoWgu5qLGaugLF7zTCU7LT5u2_KV10gxILUmC3Y8rbBP32F8BHKT4fA"><img height="21" alt="clip_image010" src="http://by1.storage.msn.com/y1pQvidM7B_yfaD3QRZQq6f2iAu5zlVSA-MSkdZv7m4CiraeAWKQs1ydoNUGgZ5JQJWIjIRslEqvFa7fpoeXHcndQ" width="43" border="0" /></a>是以2为底的对数，所以这个信息用位衡量。前面说过，在物理学的背景下，这个不确定性被称为熵（在通讯系统中，关于传输的实际信息的不确定性也被称为数据源的熵）。  </p>
<p>扩展到连续情形。假设连续变量<a href="http://by1.storage.msn.com/y1pQvidM7B_yfbOoQjxnbO2fyvy-0ArwOgietVPJFmmPBlYQ2kdu7NmeJ3UuSX01E6v-u0m8fZ59wBSUf7-cmZHBw"><img height="17" alt="clip_image012" src="http://by1.storage.msn.com/y1pQvidM7B_yfa7qFbtlbOGgqoYCMQRuDIqJqEgtLp3ra4LWouWvh2Fl-MxhBfZa9qSyfQVUz-vNhiY-4KI4y9J0w" width="19" border="0" /></a>的概率密度函数是<a href="http://by1.storage.msn.com/y1pQvidM7B_yfalnH5_bgLXsVkvWAP_XRp0XQeZqnW7KnM0hAYIpBliznoP6ZYk9FfK3BFBiZgiag-S1i_S2-530A"><img height="24" alt="clip_image014" src="http://by1.storage.msn.com/y1pQvidM7B_yfYdqeijl6BxAkQA2LBAUqta9-n2UMTgHaYEoa6vvnZylHVstMyOrCRZXs10pXWku6fy4bwVbJ3Xtg" width="39" border="0" /></a>，与离散随机变量的熵的定义类似，信息熵的连续定义为：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfaWUemZmGvA1wokjQBVqVLmg_0IClQWE4neWEZjz7Wjir5Odf1MD3ntERhXKDD3mDiAYxSwFOeuJA"><img height="28" alt="clip_image016" src="http://by1.storage.msn.com/y1pQvidM7B_yfZDc6qIyeimXHAIsXKaVxjzuyLI4EBxZ1oBK2rcXiFBYMRfNxGdsq_jhas3OlrfJhdd2iQ5kmmjVQ" width="240" border="0" /></a> </p>
<p>上式<a href="http://by1.storage.msn.com/y1pQvidM7B_yfZg6LhBZNQBhTK_OKC1w2DwbD1D2KWb7lLQmWrr8cMSZ_RkM1e4bbo-NcyGQwXx4kIwWypymeUGqA"><img height="21" alt="clip_image018" src="http://by1.storage.msn.com/y1pQvidM7B_yfbh24eoDoyJdc5M53kIZ30V53WZkU2As4QYZ0fCHbmdUEf8dKLG-uUtH9NnPSBlJc9UjD2pi8N8pA" width="40" border="0" /></a>就是我们定义的随机变量<a href="http://by1.storage.msn.com/y1pQvidM7B_yfaqqT20DQQ3I4NdEISDPvTo5hM5PdnyKMrhr1Gzz3Wi5FrfeeBTNXWGvwNKadPFMhbc-DA_zZkzIA"><img height="17" alt="clip_image012[1]" src="http://by1.storage.msn.com/y1pQvidM7B_yfb2bsYjeiiIm4xZLaJPiH3PNUrNH5EYPRjPG_7vbor0MRT1mgfkY95r17qZc5p4JSGRmaM6Ymvv7w" width="19" border="0" /></a>的微分熵。当<a href="http://by1.storage.msn.com/y1pQvidM7B_yfZbQll3kIBFtVEJCWHfOXT99xCaz9mbFi8UjW77-k7gPehs-N9TzsVcvOHn4aU_UekFHUrNKgVW0Q"><img height="17" alt="clip_image012[2]" src="http://by1.storage.msn.com/y1pQvidM7B_yfY9GW3TTFCSUz3pTCfZc2t-ldp7c5fTPPoE72MCAfC9UksNBFRIEI0l2lhWZHDJz_Bpy2prllRTzg" width="19" border="0" /></a>被解释为一个随机连续向量时，<a href="http://by1.storage.msn.com/y1pQvidM7B_yfZdD76Qj8dDb8GL0pJx-lIjotY3phycSTVguMUon5sQw7Vwp1ENVGYP9Iu6vFWshLCpQrrHMPpxdA"><img height="24" alt="clip_image014[1]" src="http://by1.storage.msn.com/y1pQvidM7B_yfbB_eN5m37Es1DhhSGlgSHUSgM2bfNHGU1MisCfiKqP1I-N3QFbI8ijfG5kF_alcOtlda30210vMA" width="39" border="0" /></a>就是<a href="http://by1.storage.msn.com/y1pQvidM7B_yfZ9g-ObFGjZYTQvJ21RUOFc5cItqrPzLpYxvvE3fIC0ARUR_iw9x8XHsQm4t-JeEtxlILwZy___6g"><img height="17" alt="clip_image012[3]" src="http://by1.storage.msn.com/y1pQvidM7B_yfao5X0swBV35p-ywmPgcrNVM-eHFW29PYuuuBldXFZi_94Nu8de6maEZhEBxPZ-fRQjd0TaJDDQfw" width="19" border="0" /></a>的联合概率密度函数。  </p>
<p><a>3. 熵和主观概率（一个简单注释）</a> </p>
<p>因为熵用概率表示，所以这涉及到主观概率。概率用于处理知识的缺乏（概率值为1表明对知识的完全掌握，这就不需要概率了），而一个人可能比另一个人有着更多的知识，所以两个观察者可能会使用不同的概率分布，也就是说，概率（以及所有基于概率的物理量）都是主观的。在现代的主流概率论教材中，都采用这种主观概率的处理方法。  </p>
<p><a>4. 熵的性质</a> </p>
<p><a>4.1. 当所有概率相等时，熵取得最大值</a> </p>
<p>上面关于熵的公式有一个性质：假设可能状态的数量有限，当所有概率相等时，熵取得最大值。证明如下：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfYLUQor3Fbc5hPOwXRbpp-kP-aVDaipJPfwuQnXhr7N0wOURvE3pioS9tGIBTvMOYVk5yByKpwCkg"><img height="181" alt="clip_image022" src="http://by1.storage.msn.com/y1pQvidM7B_yfZ7OsyiraIBaOebaHJqg6vF0hAQHa9dqzZvGLjJD9Sc0<br />
fUtmSmuHz6Q-GsCxAbWXHaosOY3IV9l_w" width="313" border="0" /></a>  </p>
<p>在只有两个状态的例子中，要使熵最大，每个状态发生的概率都是1/2，如下图所示：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfZKQvp2NGNCBeJMwAjbJpqdqtm9RzwN2hNkykO6N9Ew9aOv-70kbyp4ya2KH21K8qQKpOS59b6Tew"><img height="180" alt="clip_image024" src="http://by1.storage.msn.com/y1pQvidM7B_yfbauFcJfpUKlhjYimjO_eX-XEQQvcUQWrwORvQl6WwNtS83UBE3tlQsnVsVO7SQq1HmvoBoj8MX6w" width="225" border="0" /></a> </p>
<p><a>4.2. 小概率事件发生时携带的信息量比大概率事件发生时携带的信息量多</a> </p>
<p>证明略，可以简要说明一下，也挺直观的。如果事件<a href="http://by1.storage.msn.com/y1pQvidM7B_yfY8Ek3Ycf2sWQD2lL_dHTV9c_sZ7qj1BK2HJpaqJhK2Rjbw4n3PC8dlRvsu6lt4MlpyJ-na01ZBkA"><img height="17" alt="clip_image002[1]" src="http://by1.storage.msn.com/y1pQvidM7B_yfYArxZK8f6-EY_hSG4n-zxSxy1Dq94DAxoljTJRXura1wfO98yXRGgXoA8SZr7CYGNgAAMnDIlRpQ" width="16" border="0" /></a>发生的概率为1，在这种情况下，事件<a href="http://by1.storage.msn.com/y1pQvidM7B_yfZj2inQ0T4ipS7pBLbKnd1Zoorpd0JsHT9k0G2lVLnawJeXh-Nsr5ixgvWSC-KN732NLhcF56iD6w"><img height="17" alt="clip_image002[2]" src="http://by1.storage.msn.com/y1pQvidM7B_yfatR9I_gkFUCUFBi7a-UYi8lOf9dcq-7zH_WMAl51ftuhiHhioI7_I8JsiNqy-vRu0zZwJ13uSP_A" width="16" border="0" /></a>发生就没有什么“惊奇”了，并且不传达任何“信息”，因为我们已经知道这“信息”是什么，没有任何的“不确定”；反之，如果事件<a href="http://by1.storage.msn.com/y1pQvidM7B_yfad7qM-YIm3YQrf-ej3z47Pn8cZYYXEBHmDb9th8b4fwPsItmQ3YkupCN-3L8PZBicnWQ2DgXgLkw"><img height="17" alt="clip_image002[3]" src="http://by1.storage.msn.com/y1pQvidM7B_yfbKGqto10zJBoQ6SJ1DYSZNyxLyn-ewpOpmr-hiwfmU4VtvGgON9o5chBlCD-kap76dnmcjqhAGRg" width="16" border="0" /></a>发生的概率很小，这就有更大的“惊奇”和有“信息”了。这里，“不确定”、“惊奇”和“信息”是相关的，信息量与事件发生的概率成反比。  </p>
<p><a>5. 最大熵原理：直觉讨论</a> </p>
<p>最大熵原理是根据样本信息对某个未知分布做出推断的一种方法。日常生活中，很多事情的发生表现出一定的随机性，试验的结果往往是不确定的，而且也不知道这个随机现象所服从的概率分布，所有的只有一些试验样本或样本特征，统计学常常关心的一个问题，在这种情况下如何对分布作出一个合理的推断？最大熵采取的原则就是：保留全部的不确定性，将风险降到最小。在金融理论中，一个类似的教训是，为了降低风险，投资应该多样化，不要把所有的鸡蛋都放在一个篮子里。  </p>
<p>吴军（2006）举了一个例子。对一个均匀的骰子，问它每个面朝上的概率分别是多少。所有人都会说是1/6。这种“猜测”当然是对的，因为对这个“一无所知”的色子，假定它每一个朝上概率均等是最安全的做法，你不应该假设它被做了手脚。从信息论的角度讲，就是保留了最大的不确定性，让熵达到最大（从投资的角度来看，这就是风险最小的做法）。但是，如果这个骰子被灌过铅，已知四点朝上的概率是1/3，在这种情况下，每个面朝上的概率是多少？当然，根据简单的条件概率计算，除去四点的概率是 1/3外，其余的概率都是 2/15。也就是说，除已知的条件（四点概率为 1/3）必须满足外，对其它各点的概率，我们仍然无从知道，也只好认为它们相等。这种基于直觉的猜测之所以准确，是因为它恰好符合了最大熵原理。  </p>
<p>回到物理学例子中。在涉及物理系统的情形中，一般要确定该系统可以存在的多种状态，需要了解约束下的所有参数。比如能量、电荷和其他与每个状态相关的物理量都假设为已知。为了完成这个任务常常需要量子力学。我们不假设在这个步骤系统处于特定状态；事实上我们假定我们不知道也不可能知道这一点，所以我们反而可以处理被占据的每个状态的概率。这样把概率当作应对知识缺乏的一种方法。我们很自然地想避免假定了比我们实际有的更多的知识，最大熵原理就是完成这个的方法。  </p>
<p>这里可以总结出最大熵对待已知事物和未知事物的原则：承认已知事物（知识）；对未知事物不做任何假设，没有任何偏见。最大熵原理指出，当我们需要对一个随机事件的概率分布进行预测时，我们的预测应当满足全部已知的条件，而对未知的情况不要做任何主观假设（不做主观假设，这点很重要。）在这种情况下，概率分布最均匀，预测的风险最小。因为这时概率分布的信息熵最大，所以人们称这种模型叫“最大熵模型”。我们常说，不要把所有的鸡蛋放在一个篮子里，其实就是最大熵原理的一个朴素的说法，因为当我们遇到不确定性时，就要保留各种可能性。  </p>
<p><a>6. 最大熵原理：一个手工例子</a> </p>
<p>举个例子，一个快餐店提供3种食品：汉堡(B)、鸡肉(C)、鱼(F)。价格分别是1元、2元、3元。已知人们在这家店的平均消费是1.75元，求顾客购买这3种食品的概率。如果你假设一半人买鱼另一半人买鸡肉，那么根据熵公式，这不确定性就是1位（熵等于1）。但是这个假设很不合适，因为它超过了你所知道的事情。我们已知的信息是：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfYdqNusawYKNdYwUoItBPf8hFxdtXXR5FCXSIF7frf7KYvu14a-Kwwbidi8mPOB4-up5msNltyh0A"><img height="21" alt="clip_image029" src="http://by1.storage.msn.com/y1pQvidM7B_yfZ6SVnZVUe3fwgKIG-E1S9-zsn9A09gl_l6s0V_tw1ZIGiXrbkLJHJm71XnV7rVHonfZ8M_2NcwrQ" width="153" border="0" /></a> </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfaApzaWgwfaKmiiOteZvDkZs8XTzhdvpjx0eFYU_SmAF06uS7ly7XqudSHCfjKcO5iay52YE79zkA"><img height="22" alt="clip_image031" hspace="12" src="http://by1.storage.msn.com/y1pQvidM7B_yfajRiSU8NfDQijtdWwHi6Q4ZyVjFHa3cUmJh4wgNqlMV2YKJJw2S2sRwPwHLH33D2WL_3boZT7fLw" width="196" /></a> </p>
<p>以及关于对概率分布的不确定性度量，熵：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfZZiky2ixz2-oChfMG2w90X0XpptWASFoOKvLtFVtNaFobHzICiwP9vJ4zKqlZCdid1MA3UX3l3Sw"><img height="18" alt="clip_image033" src="http://by1.storage.msn.com/y1pQvidM7B_yfabQBwL0P5vguUtclLkz8EkyndE_BoGY9jRjlmITagSZDOsuBIuYSYta6S74kyJKRjO2rUsP5NRug" width="234" border="0" /></a> </p>
<p>对前两个约束，两个未知概率可以由第三个量来表示，可以得到：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfYvydNtNYc22O0j8dhZD5dlhNiN0yZeCGf1ae9G5oV-g4Ko6WqF4o_J-IViJsmuR7K_7nnmHCS5xg"><img height="21" alt="clip_image035" src="http://by1.storage.msn.com/y1pQvidM7B_yfY-zSP3r-7jtFFpyHqug4JOHgkqbvklAgEYmRIZ4suNQ32x1-yRI_uUuPPlpHLe0YLY11kVYwItwg" width="137" border="0" /></a> </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfbJgcdVXRcHuhRxZZRr7Fogrmykq9J6gEQ0MQcYoIsxm7JGbNRgOtXMPtUwlJcd9-JdJvqXYKYR1Q"><img height="21" alt="clip_image037" src="http://by1.storage.msn.com/y1pQvidM7B_yfaP3QWxWAkt9TI5snM2TkYo3f3fCHjE05zZw0qOdUtCFvy2Br8LQmrM04BlTif3A9DSWsrjXdqPpA" width="129" border="0" /></a> </p>
<p>把上式代入熵的表达式中，熵就可以用单个概率<a href="http://by1.storage.msn.com/y1pQvidM7B_yfYQRIrtkYKkqRsZCMjOpUC2zuzTES46LkdXbzTp7rsjcJ6cXAF7HYdqwrefJlEVSiXu99ed_ppkFg"><img height="21" alt="clip_image039" src="http://by1.storage.msn.com/y1pQvidM7B_yfa5e9PgQVA9VSwJaCBos-GuG35atifYyM50GpaRZCvYE5lYbMqeyEZyyNOuGpQ825yEE8PY55kW_w" width="39" border="0" /></a>来表示：  </p>
<p><a href="http://by1.storage.msn.com/y1pQvidM7B_yfbCtHsoaz7tUTUgXFY6-b4vqeAy_GM9157vwSAKyC97p7uQoWHPP4x-VTL0dLhOqaWnFPNBqtrfOw"><img height="8" alt="clip_image041" src="http://by1.storage.msn.com/y1pQvidM7B_yfYsqnDzbrGmyonp8L5danmvQfXzgg9DFLtsCgSPYW-D4TLeuK09dzQFvCG939uxl-_98LO3v8T-4A" width="240" border="0" /></a>对这个单</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/06/26/%e6%9c%80%e5%a4%a7%e7%86%b5%e6%a8%a1%e5%9e%8b%ef%bc%9a%e8%af%bb%e4%b9%a6%e7%ac%94%e8%ae%b0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SAS Logistic回归：一个完整例子</title>
		<link>http://www.jiangtanghu.com/cn/2007/05/04/sas-logistic%e5%9b%9e%e5%bd%92%ef%bc%9a%e4%b8%80%e4%b8%aa%e5%ae%8c%e6%95%b4%e4%be%8b%e5%ad%90/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/05/04/sas-logistic%e5%9b%9e%e5%bd%92%ef%bc%9a%e4%b8%80%e4%b8%aa%e5%ae%8c%e6%95%b4%e4%be%8b%e5%ad%90/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9924</guid>
		<description><![CDATA[                                                SAS Logistic回归:代码及输出报告详解 这篇将作为五一后一个讲稿的阅读材料之一，先整出来就搁这。如果没有耐心读下去，你可以立即转到以下的参考资料，该篇所有的知识都来自它们： Cody, R.F. and Smith, J.K. Applied Statistics and the SAS Programming Language,4th ed..NJ:  Prentice-Hall,1997.这书已经出第五版了，北大图书馆只有这第四版。非常容易上手的一本书，前半部分用input和datalines让读者专心做统计，后半部分从导入导出数据开始阐述SAS的通用编程语言。这本书用的是SAS8.这里我们只关注它第九章Multiple-Regression Analysis的最后Logistic Regression部分。我这篇的例子即来于此，有简化； SAS OnlineDoc V8, 或者SAS OnlineDoc V9, 是要花功夫熟悉它们的结构了。以前我四处下载了数G的电子书，现在才发觉还是它们好使。体例上V8和V9一样，你找到SAS/STAT&#8211;&#62;SAS/STAT User&#8217;s Guide&#8211;&#62;The LOGISTIC Procedure, 就可以跟着学习了，文字都非常简明。 Logistic回归处理因变量是分类型变量如“0、1”的情形。一下就假设你至少对它模模糊糊有些印象，比如说我们用p表示正例（如输出变量为“1”）的概率，那么p/(1-p)就被称作odds ratio，对p做logit变换记做logit(p),它等于log(p/(1-p),我们回归方程的形式就如logit(p)=log(p/(1-p)=a+bx,你可以把它理解成向量形式。 假设我们有一个数据，45个观测值，四个变量，包括： age（年龄，数值型）； vision（视力状况，分类型，1表示好，0表示有问题）； drive（驾车教育，分类型，1表示参加过驾车教育，0表示没有） 和 一个分类型输出变量accident（去年是否出过事故，1表示出过事故，0表示没有）。我们的目的就是要考察前三个变量与发生事故的关系。 为了保持程序的可读性，以下我就直接在代码中一行一行敲入数据，在实际工作中，超过20个观测值的数据就要写程序导入了。另外，/*   */之间的语句都是注释，SAS运行时会把它们忽略掉： &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- /* 前三行，首先data步，建立一个叫logistic的临时数据集，它在work临时文件夹里。一般推荐用记事本把程序保存起来；input语句表示一下是几个变量；从datalines开始就一行一行输入数据，每个单独的数据之间用空格隔开，每个观测值各占一行。需要注意的是，datalines和下面的数据之间不要有空行，否则SAS会认为出现了一个缺失值。数据输入完毕，以分号结束，这个分号一定要另起一行。 */ data logistic;    input accident age vision drive;datalines;1 17 1 [...]]]></description>
			<content:encoded><![CDATA[<h4>                                                SAS Logistic回归:代码及输出报告详解</h4>
<p>这篇将作为五一后一个讲稿的阅读材料之一，先整出来就搁这。如果没有耐心读下去，你可以立即转到以下的参考资料，该篇所有的知识都来自它们：
<ol>
<li>Cody, R.F. and Smith, J.K. <strong></strong><a href="http://www.amazon.com/Applied-Statistics-SAS-Programming-Language/dp/0137436424" target="_blank">Applied Statistics and the SAS Programming Language,4th</a> ed..NJ:  Prentice-Hall,1997.这书已经出<a href="http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&amp;pc=60576" target="_blank">第五版</a>了，北大图书馆只有这第四版。非常容易上手的一本书，前半部分用input和datalines让读者专心做统计，后半部分从导入导出数据开始阐述SAS的通用编程语言。这本书用的是SAS8.这里我们只关注它第九章Multiple-Regression Analysis的最后Logistic Regression部分。我这篇的例子即来于此，有简化；  </li>
<li><a href="http://v8doc.sas.com/sashtml/" target="_blank">SAS OnlineDoc V8</a>, 或者<a href="http://support.sas.com/onlinedoc/913/docMainpage.jsp" target="_blank">SAS OnlineDoc V9</a>, 是要花功夫熟悉它们的结构了。以前我四处下载了数G的电子书，现在才发觉还是它们好使。体例上V8和V9一样，你找到SAS/STAT&#8211;&gt;<i>SAS/STAT User&#8217;s Guide</i>&#8211;&gt;The LOGISTIC Procedure, 就可以跟着学习了，文字都非常简明。</li>
</ol>
<p>Logistic回归处理因变量是分类型变量如“0、1”的情形。一下就假设你至少对它模模糊糊有些印象，比如说我们用p表示正例（如输出变量为“1”）的概率，那么p/(1-p)就被称作odds ratio，对p做logit变换记做logit(p),它等于log(p/(1-p),我们回归方程的形式就如logit(p)=log(p/(1-p)=a+bx,你可以把它理解成向量形式。 </p>
<p>假设我们有一个数据，45个观测值，四个变量，包括：
<ol>
<li>age（年龄，数值型）；  </li>
<li>vision（视力状况，分类型，1表示好，0表示有问题）；  </li>
<li>drive（驾车教育，分类型，1表示参加过驾车教育，0表示没有） 和  </li>
<li>一个分类型输出变量accident（去年是否出过事故，1表示出过事故，0表示没有）。我们的目的就是要考察前三个变量与发生事故的关系。</li>
</ol>
<p>为了保持程序的可读性，以下我就直接在代码中一行一行敲入数据，在实际工作中，超过20个观测值的数据就要写程序导入了。另外，/*   */之间的语句都是注释，SAS运行时会把它们忽略掉： </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<blockquote>
<p>/* </p>
<p>前三行，首先data步，建立一个叫logistic的临时数据集，它在work临时文件夹里。一般推荐用记事本把程序保存起来；input语句表示一下是几个变量；从datalines开始就一行一行输入数据，每个单独的数据之间用空格隔开，每个观测值各占一行。需要注意的是，datalines和下面的数据之间不要有空行，否则SAS会认为出现了一个缺失值。数据输入完毕，以分号结束，这个分号一定要另起一行。 </p>
<p>*/ </p>
<p><strong>data</strong> <em>logistic</em>;<br />   <strong> input</strong> <em>accident age vision drive</em>;<br /><strong>datalines</strong>;<br />1 17 1 1<br />1 44 0 0<br />1 48 1 0<br />1 55 0 0<br />1 75 1 1<br />0 35 0 1<br />0 42 1 1<br />0 57 0 0<br />0 28 0 1<br />0 20 0 1<br />0 38 1 0<br />0 45 0 1<br />0 47 1 1<br />0 52 0 0<br />0 55 0 1<br />1 68 1 0<br />1 18 1 0<br />1 68 0 0<br />1 48 1 1<br />1 17 0 0<br />1 70 1 1<br />1 72 1 0<br />1 35 0 1<br />1 19 1 0<br />1 62 1 0<br />0 39 1 1<br />0 40 1 1<br />0 55 0 0<br />0 68 0 1<br />0 25 1 0<br />0 17 0 0<br />0 45 0 1<br />0 44 0 1<br />0 67 0 0<br />0 55 0 1<br />1 61 1 0<br />1 19 1 0<br />1 69 0 0<br />1 23 1 1<br />1 19 0 0<br />1 72 1 1<br />1 74 1 0<br />1 31 0 1<br />1 16 1 0<br />1 61 1 0<br />;  </p>
<p>/* </p>
<p>以下两行我们不妨称作过程步甲。过程步以proc开头，加上要实现功能的名字，这里是logistics，接下来是要引用的数据。值得注意的是那个desending选项。SAS的Logistic回归方程log(odds)默认的形式是处理那个变量值比较小的，这里是accident=0，但我们要考察的是发生事故accident=1的情况，加上desending降序排列，它就处理accident=1的log(odds)了。再model引导的就是回归方程的形式，写成“因变量=自变量1    自变量2   自变量3”的样子。最后以run结束语句，与proc对应。 </p>
<p>*/ </p>
<p><strong>proc</strong> <strong>logistic</strong> data=logistic <em><font color="#ff0000">descending</font></em>;<br />     <strong>model </strong>accident=age vision drive; <strong>run</strong>; </p>
<p>/* </p>
<p>运行以上程序，就要跑出一大堆结果了。但在处理多元回归时，语句很难得会只像过程步甲一样简洁。以下过程步乙只加入一个变量选择选项forward。SAS在处理自变量选择上采用了5个技术，这里只简单提一下3个常用的技术。 </p>
<p>1.<font color="#ff0000">forward</font>——前向选择，变量一个个进入回归方程，按照一些卡方标准，最显著的也就是最好的变量最先进入，然后就是次最好的，以此类推。某个变量一旦进入，就不再退出； </p>
<p>2.<font color="#ff0000">backward</font>——后向剔除，一开始全部变量都进入回归方程，又按照一些标准，把最不好的变量一一剔除； </p>
<p>3.<font color="#ff0000">stepwise</font>——逐步回归，这个跟forward有些类似，不同的是，stepwise在变量进入以后还有一个backward后向剔除的过程，而在forward里，变量一旦进入，就不再退出。 </p>
<p>*/  </p>
<p><strong>proc</strong> <strong>logistic</strong> data=logistic descending;<br />   model accident=age vision drive  <font color="#ff0000">/<br /></font><strong>                selection</strong>=<em><font color="#ff0000">forward</font></em>;run; </p>
</blockquote>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-  </p>
<p>用上面这个过程步乙替代过程步甲，再运行一遍。这两个过程步的输出结果大同小异，只是过程步乙多了个forward选项。以下用的是过程步乙的输出结果，其中黑体字是输出结果本身，我做的注释语句以红笔描出,包括数字编号。   </p>
<p>                <font color="#ff0000"> (<font color="#ff0000">1</font>)</font>  The SAS System 10:47 Tuesday, May 4, 2007 1  </p>
<p>                             The LOGISTIC Procedure  </p>
<p>                               Model Information  </p>
<p>Data Set                                         WORK.LOGISTIC<br />Response Variable                          accident<br />Number of Response Levels            2<br />Number of Observations                 45<br />Model                                              binary logit<br />Optimization Technique                 Fisher&#8217;s scoring  </p>
<p>   </p>
<p>                             <font color="#ff0000">Response Profile</font>                                     <br />Ordered  Value     accident          Total Frequency  </p>
<p>       1                        1                             25<br />       2                        0                             20  </p>
<p>Probability modeled<br />
is accident=1.  </p>
<p><font color="#ff0000">(1) </font>给出了本模型的基本信息，意思大多自明。需要注意的是<font color="#400040">Response Profile</font> 中，accident=1排在首位。前面我们说过，SAS的Logistic回归方程log(odds)默认的形式是处理那个变量值比较小的，加上descending选项后，accident=1就排在首位了。 </p>
<p>                      <font color="#ff0000">(2) </font>  Forward Selection Procedure  </p>
<p>Step 0. Intercept entered:  </p>
<p>                          Model Convergence Status  </p>
<p>Convergence criterion (GCONV=1E-8) satisfied.  </p>
<p>                          Residual Chi-Square Test  </p>
<p>Chi-Square              DF                Pr &gt; ChiSq  </p>
<p>  10.7057                   3                     0.0134  </p>
<p>   </p>
<p><font color="#ff0000">Step 1</font>. Effect <font color="#ff0000">vision </font>entered:  </p>
<p>                              Model Convergence Status  </p>
<p>Convergence criterion (GCONV=1E-8) satisfied. <br />                               Model Fit Statistics                                               <br /> Criterion     Intercept Only     Intercept and Covariates<br /><strong>AIC</strong>                 63.827                   <strong>59.244</strong><br /><strong>SC</strong>                   65.633                   <strong>62.857</strong><br /><font color="#ff0000">-2 Log L</font>           61.827                  55.244 </p>
<p>                       Testing Global Null Hypothesis: BETA=0<br />Test                       Chi-Square    DF    Pr &gt; ChiSq<br /><font color="#ff0000">Likelihood Ratio</font>      6.5830         1         <font color="#ff0000">0.0103</font><br /><font color="#ff0000">Score</font>                       6.4209         1         <font color="#ff0000">0.0113</font><br />Wald                        6.0756         1         0.0137 </p>
<p>                       Residual Chi-Square Test<br />Chi-Square            DF      Pr &gt; ChiSq<br />      4.9818              2         0.0828 </p>
<p><font color="#ff0000">Step 2</font>. Effect <font color="#ff0000">drive</font> entered:<br />                     Model Convergence Status<br />                  Convergence criterion (GCONV=1E-8) satisfied.                        </p>
<p>                         Model Fit Statistics<br />Criterion      Intercept Only     Intercept and Covariates<br />AIC                  63.827                     <strong>56.287</strong><br /><strong>SC</strong>                   65.633                     <strong>61.707<br /></strong><font color="#ff0000">-2 Log L</font>           61.827                     50.287 </p>
<p>  </p>
<p>                 Testing Global Null Hypothesis: BETA=0<br />Test                        Chi-Square     DF   Pr &gt; ChiSq<br /><font color="#ff0000">Likelihood Ratio</font>         11.5391        2      <font color="#ff0000">0.0031</font><br /><font color="#ff0000">Score</font>                          10.5976        2      <font color="#ff0000">0.0050</font><br />Wald                            8.5949         2      0.0136<br />               </p>
<p>                 Residual Chi-Square Test<br />Chi-Square     DF   Pr &gt; ChiSq<br />     0.1293        1     0.7191 </p>
<p>NOTE: No (additional) effects met the 0.05 significance level for entry into the model. </p>
<p><font color="#ff0000">(2) </font>给出了自变量进入模型的次序。先是截距项Step 0了，不管它。<font color="#ff0000">Step 1 </font>vision第一个进入模型，附带了很多评估它对因变量预测能力的指标。<font color="#ff0000">-2 Log L</font> 和<font color="#ff0000">Score</font> 用来检测自变量是否显著。<font color="#ff0000">-2 Log L</font>中的L就是Likelihood Ratio，它的p值是<font color="#ff0000">0.0103</font>，<font color="#ff0000">Score</font>  的p值是<font color="#ff0000">0.0113</font>，都小于0.05，故vision是一个很显著的解释变量。还有，<strong>AIC</strong>(Akaike Information Criterion)和<strong>SC</strong>(Schwarz Criterion)两个信息量标准用来比较不同的模型，它们数值越小，模型变现就越好，这个接下来我们看<font color="#ff0000">step2 drive</font>变量进入模型后的情况。 我们可以看到模型的表现变好了，因为这是<strong>AIC</strong>和<strong>SC</strong>的值变小了，<font color="#ff0000">-2 Log L</font> 和<font color="#ff0000">Score</font><font color="#400040">对应的</font>p值也更小。 </p>
<p>                <font color="#ff0000">(3) </font>  Summary of Forward Selection<br />Step    Effect Entered        DF      Number In      Score Chi-Square        Pr &gt; ChiSq<br />1            vision                    1           1                      6.4209                        0.0113<br />2            drive                     1            2                     4.8680                         0.0274 </p>
<p> <font color="#ff0000">(3) </font>总结了我们模型使用的前向选择方法，包括自变量进入模型的次序，以及每个自变量的卡方值和p值。 </p>
<p>                    <font color="#ff0000">(4) </font>Analysis of Maximum Likelihood Estimates<br />Parameter   DF   Estimate    Standard Error  Wald Chi-Square   Pr &gt; ChiSq<br />Intercept     1      <font color="#ff0000">0.1110</font>               0.5457           0.0414                 0.8389<br />vision           1      <font color="#ff0000">1.7137</font>               0.7049           5.9113                 0.0150<br />drive            1     <font color="#ff0000">-1.5000</font>               0.7037           4.5440                 0.0330 </p>
<p><font color="#ff0000">(4) </font><font color="#400040">给出了模型参数的估计，据此可以写出改回归方程的形式是log(odds of having an accident)=log(p/(1-p))=0.1110+1.7137*vision-1.5000*drive。我们知道，odds=p/(1-p),有p=odds/(1+odds)。假设有个哥们，视力没问题但没有受过驾车教育（vision=0,drive=0），代入方程，有log(odds)=0.1110，再odds=exp(0.110)=<font color="#ff0000">1.1174</font>，p=1.1174/2.1174=0.5277，即我们说这人发生事故的概率为0.5277；又另一个，视力有问题同样没受过驾车教育（vision=1,drive=0），同样的步骤得</font>log(odds)=1.8249，odds=exp(1.8249)=<font color="#ff0000">6.2022</font>，p=6.2022/7.2022=0.8612，即这人发生事故的概率为0.8612（视力多重要）。 </p>
<p>                 <font color="#ff0000">(5) </font><font color="#ff0000"> </font>Odds Ratio Estimates<br />Effect       Point Estimate               95% Wald Confidence Limits<br /><font color="#ff0000">vision</font>           <font color="#ff0000"> 5.550<br />
</font>                               1.394           22.093<br />drive             0.223                               0.056            0.886 </p>
<p> <font color="#ff0000">(5) </font>是对比率Odds Ratio的估计。这里对vision的odds ratio的点估是<font color="#ff0000"> 5.550</font> ，这个比率由odds(having an accident|vision=1,drive=0)比odds(having an accident|vision=0,drive=0)得来，根据<font color="#ff0000">(4) </font>的计算，就是<font color="#ff0000">6.2022</font><font color="#000000">/</font><font color="#ff0000">1.1174=<font color="#ff0000">5.550</font></font><font color="#400040">.还有，对vision来说，95% 的置信区间不包括1，说明vision是一个非常显著的解释变量（比率的置信区间不包括1，就跟p值小于0.05一样是一个规则）。</font> </p>
<p>                 <font color="#ff0000">(6) </font>Association of Predicted Probabilities and Observed Responses<br /><font color="#ff0000">Percent Concordant</font>             67.2               Somers&#8217; D 0.532<br /><font color="#ff0000">Percent Discordant</font>              14.0               Gamma 0.655<br />Percent Tied                        18.8                Tau-a 0.269<br />Pairs                                     500                  c 0.766 </p>
<p><font color="#ff0000">(6) </font>这个东西就有些复杂,大概说些预测概率与观测道德因变量间的关联性，我们看到一致性比率Percent Concordant 为67.2 %，不一致性比率Percent Discordant 为14.0%，说明预测值与观测值在现有水平上有较强的关联性,回归模型有很强的预测能力。 </p>
<p>最后注意到，上面我们用过程步乙得出的输出结果没有age这个自变量，用过程步甲得出的输出有，这不是因为年龄在这个预测模型中不重要，而是上面以数值型面目出现的年龄在是否出现事故的两组人中分布不均匀，为了解决这个问题，把年龄分组就是，不多说了。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/05/04/sas-logistic%e5%9b%9e%e5%bd%92%ef%bc%9a%e4%b8%80%e4%b8%aa%e5%ae%8c%e6%95%b4%e4%be%8b%e5%ad%90/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>三个有名的决策树算法：CHAID、CART和C4.5</title>
		<link>http://www.jiangtanghu.com/cn/2007/04/23/%e4%b8%89%e4%b8%aa%e6%9c%89%e5%90%8d%e7%9a%84%e5%86%b3%e7%ad%96%e6%a0%91%e7%ae%97%e6%b3%95%ef%bc%9achaid%e3%80%81cart%e5%92%8cc4-5/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/04/23/%e4%b8%89%e4%b8%aa%e6%9c%89%e5%90%8d%e7%9a%84%e5%86%b3%e7%ad%96%e6%a0%91%e7%ae%97%e6%b3%95%ef%bc%9achaid%e3%80%81cart%e5%92%8cc4-5/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9923</guid>
		<description><![CDATA[CHAID、CART和C4.5大概是决策树算法丛林中最有名，商业上运用也也最成功的算法了。CHAID (chi-squared automatic interaction detection，卡方自动交互检测)的前身是AID，主要特征是多向分叉，前向修剪，其标准如名所示，就是卡方检测；另外，CHAID只能处理类别型的输入变量，因此连续型的输入变量首先要进行离散处理。标准的CARTclassification and regression trees)又不一样，它只能进行二部分叉，后向修剪，分割标准用的是基尼系数(Gini Index)；C4.5源自有名的ID3，它只能进行L型分叉，后向修剪，标准乃是基于信息论的“熵”(Entropy)。]]></description>
			<content:encoded><![CDATA[<p>CHAID、CART和C4.5大概是决策树算法丛林中最有名，商业上运用也也最成功的算法了。CHAID (chi-squared automatic interaction detection，卡方自动交互检测)的前身是AID，主要特征是多向分叉，前向修剪，其标准如名所示，就是卡方检测；另外，CHAID只能处理类别型的输入变量，因此连续型的输入变量首先要进行离散处理。标准的CARTclassification and regression trees)又不一样，它只能进行二部分叉，后向修剪，分割标准用的是基尼系数(Gini Index)；C4.5源自有名的ID3，它只能进行L型分叉，后向修剪，标准乃是基于信息论的“熵”(Entropy)。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/04/23/%e4%b8%89%e4%b8%aa%e6%9c%89%e5%90%8d%e7%9a%84%e5%86%b3%e7%ad%96%e6%a0%91%e7%ae%97%e6%b3%95%ef%bc%9achaid%e3%80%81cart%e5%92%8cc4-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>数据挖掘——我们能从股市数据得出什么，以及一些算法</title>
		<link>http://www.jiangtanghu.com/cn/2007/04/13/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e2%80%94%e2%80%94%e6%88%91%e4%bb%ac%e8%83%bd%e4%bb%8e%e8%82%a1%e5%b8%82%e6%95%b0%e6%8d%ae%e5%be%97%e5%87%ba%e4%bb%80%e4%b9%88%ef%bc%8c%e4%bb%a5%e5%8f%8a%e4%b8%80/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/04/13/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e2%80%94%e2%80%94%e6%88%91%e4%bb%ac%e8%83%bd%e4%bb%8e%e8%82%a1%e5%b8%82%e6%95%b0%e6%8d%ae%e5%be%97%e5%87%ba%e4%bb%80%e4%b9%88%ef%bc%8c%e4%bb%a5%e5%8f%8a%e4%b8%80/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[机器学习与数据挖掘]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9922</guid>
		<description><![CDATA[//一个备忘录了，写给我们金融信息系统项目小组的同学。没有列出参考文献，因为都是大白话。有些删节。 数据挖掘／机器学习大概处理以下几个问题： 分类 ，这是有很多非常成熟的算法，非常直观，按照一个分类属性，把样本分为不同的类别。 聚类 ，聚类与分类的差别在于，分类分析有一个分类属性作为输出，比如“好”、“坏”之类，但聚类没有。聚类分析探索各个样本间的内在关系，并按一定标准把它们“聚”在一块。按照有没有相应的输出分类属性，一个术语是，分类是有指导的学习，而聚类是无指导的学习； 关联分析，就是著名的购物篮分析，例子就是沃尔玛的啤酒和尿布，探索数据中各个属性之间的关系； 预测，也很直观了，有很多回归技术。 分别论述了。分类的算法有： 决策树，按照一定的标准(比如说信息论中的“熵”)，把各个属性划到不同的树形节点中去。在股市数据中，比如，有好的企业和不好的企业（ST），这个算法提供类似“如果市盈率怎么样，则该企业怎么样怎么样”的结论，当然，实际分析中，结论的层次会很多。决策树的成功算法有C4.5、CHAID（这个就是冯老师说的威力无比的卡方自动搜索技术，昨天梁老师提到的最好的决策树算法就是它）、CART等等。C4.5有现成的代码； 人工神经网络，仿照人类神经元刺激-反应的学习模式，人工神经网络被一个环境（输入输出的组合）所激励，它的各种参数（那些权值和偏置量）进行调整作为响应。一般认为神经网络经常能发掘出数据中的非线性关系，而且抗干扰性较强。人工神经网络包括三种基本的模型，一是前馈网络，如多层感知机（我们学过相应的反向传播法BP），这里网络的输出直接根据网络的输入计算而来，不涉及到反馈；二是竞争网络，以Hamming网络为代表，它包括一个反馈层，并试图判定哪个标准向量最接近输入向量；三是以Hopfield网络为代表的递归网络，它利用输入向量对网络中的神经元进行初始化，然后不断迭代直至收敛；这里前馈网络的代码很好找到； 支持向量机(SVM,Support Vector Machine)源自统计学习理论，有着坚实的理论基础，它用训练实例的一个子集（支持向量）作为决策边界，然后建立一个线性判别函数来将各个类别分开。它相对与神经网络的一个优点是能发现目标函数的全局最优点，而采用贪心算法搜索假设空间的神经网络模型一般只能获得局部最有解； 最大熵法(MEM,Maximun Entropy Method),是基于信息论的一种方法，它用“熵”来表示信息的增益，在自然语言处理领域成就斐然。最大熵方法认为，当我们需要对一个随机事件的概率分布进行预测时，我们的预测应当满足全部已知的条件，而对未知的情况不要做任何主观假设。在这种情况下，概率分布最均匀，预测的风险最小。因为这时概率分布的信息熵最大，所以称之为“最大熵法”。最大熵法在数学形式上很漂亮，但是实现起来比较复杂，但把它运用于金融领域的诱惑也比较大，比如说决定股票涨落的因素可能有几十甚至上百种，而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。这个算法在数学上很漂亮，只是计算实现上比较复杂，但把它运用于金融领域的诱惑也比较大，比如说决定股票涨落的因素可能有几十甚至上百种，而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。 聚类的算法以K-均值为代表，它先是选择K个初始的质心，接着按就近原则将其他观测值向它凝聚，这样指派到每一个质心的点集称为一个簇。然后根据指派到簇的点，更新每个簇的质心，这样重复指派和更新，直到质心不再发生变化（即收敛）。这里“最近”的概念用的是欧几里德距离。在我们的股市数据中，如果我们不再事先指定哪些股票是好是坏（即没有输出变量），通过聚类分析也能把它们分类。 关联分析用来发现隐藏在大型数据集中令人感兴趣的联系，比如尿布和啤酒之间的关联，一种叫Apriori的算法可以实现，它根据变量及其赋值对整个数据集的覆盖程度来建立起两个或几个变量之间的联系。这个算法用在我们的股市数据中，可以帮我们找到几只单股之间的关联，这种关联可能没有道理。]]></description>
			<content:encoded><![CDATA[<p>//一个备忘录了，写给我们金融信息系统项目小组的同学。没有列出参考文献，因为都是大白话。有些删节。</p>
<p>数据挖掘／机器学习大概处理以下几个问题：</p>
<ol>
<li>分类 ，这是有很多非常成熟的算法，非常直观，按照一个分类属性，把样本分为不同的类别。  </li>
<li>聚类 ，聚类与分类的差别在于，分类分析有一个分类属性作为输出，比如“好”、“坏”之类，但聚类没有。聚类分析探索各个样本间的内在关系，并按一定标准把它们“聚”在一块。按照有没有相应的输出分类属性，一个术语是，分类是有指导的学习，而聚类是无指导的学习；  </li>
<li>关联分析，就是著名的购物篮分析，例子就是沃尔玛的啤酒和尿布，探索数据中各个属性之间的关系；  </li>
<li>预测，也很直观了，有很多回归技术。 </li>
</ol>
<p>分别论述了。分类的算法有：</p>
<ol>
<li>决策树，按照一定的标准(比如说信息论中的“熵”)，把各个属性划到不同的树形节点中去。在股市数据中，比如，有好的企业和不好的企业（ST），这个算法提供类似“如果市盈率怎么样，则该企业怎么样怎么样”的结论，当然，实际分析中，结论的层次会很多。决策树的成功算法有C4.5、CHAID（这个就是冯老师说的威力无比的卡方自动搜索技术，昨天梁老师提到的最好的决策树算法就是它）、CART等等。C4.5有现成的代码；  </li>
<li>人工神经网络，仿照人类神经元刺激-反应的学习模式，人工神经网络被一个环境（输入输出的组合）所激励，它的各种参数（那些权值和偏置量）进行调整作为响应。一般认为神经网络经常能发掘出数据中的非线性关系，而且抗干扰性较强。人工神经网络包括三种基本的模型，一是前馈网络，如多层感知机（我们学过相应的反向传播法BP），这里网络的输出直接根据网络的输入计算而来，不涉及到反馈；二是竞争网络，以Hamming网络为代表，它包括一个反馈层，并试图判定哪个标准向量最接近输入向量；三是以Hopfield网络为代表的递归网络，它利用输入向量对网络中的神经元进行初始化，然后不断迭代直至收敛；这里前馈网络的代码很好找到；  </li>
<li>支持向量机(SVM,Support Vector Machine)源自统计学习理论，有着坚实的理论基础，它用训练实例的一个子集（支持向量）作为决策边界，然后建立一个线性判别函数来将各个类别分开。它相对与神经网络的一个优点是能发现目标函数的全局最优点，而采用贪心算法搜索假设空间的神经网络模型一般只能获得局部最有解；  </li>
<li>最大熵法(MEM,Maximun Entropy Method),是基于信息论的一种方法，它用“熵”来表示信息的增益，在自然语言处理领域成就斐然。最大熵方法认为，当我们需要对一个随机事件的概率分布进行预测时，我们的预测应当满足全部已知的条件，而对未知的情况不要做任何主观假设。在这种情况下，概率分布最均匀，预测的风险最小。因为这时概率分布的信息熵最大，所以称之为“最大熵法”。最大熵法在数学形式上很漂亮，但是实现起来比较复杂，但把它运用于金融领域的诱惑也比较大，比如说决定股票涨落的因素可能有几十甚至上百种，而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。这个算法在数学上很漂亮，只是计算实现上比较复杂，但把它运用于金融领域的诱惑也比较大，比如说决定股票涨落的因素可能有几十甚至上百种，而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。</li>
</ol>
<p>聚类的算法以K-均值为代表，它先是选择K个初始的质心，接着按就近原则将其他观测值向它凝聚，这样指派到每一个质心的点集称为一个簇。然后根据指派到簇的点，更新每个簇的质心，这样重复指派和更新，直到质心不再发生变化（即收敛）。这里“最近”的概念用的是欧几里德距离。在我们的股市数据中，如果我们不再事先指定哪些股票是好是坏（即没有输出变量），通过聚类分析也能把它们分类。</p>
<p>关联分析用来发现隐藏在大型数据集中令人感兴趣的联系，比如尿布和啤酒之间的关联，一种叫Apriori的算法可以实现，它根据变量及其赋值对整个数据集的覆盖程度来建立起两个或几个变量之间的联系。这个算法用在我们的股市数据中，可以帮我们找到几只单股之间的关联，这种关联可能没有道理。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/04/13/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e2%80%94%e2%80%94%e6%88%91%e4%bb%ac%e8%83%bd%e4%bb%8e%e8%82%a1%e5%b8%82%e6%95%b0%e6%8d%ae%e5%be%97%e5%87%ba%e4%bb%80%e4%b9%88%ef%bc%8c%e4%bb%a5%e5%8f%8a%e4%b8%80/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Windows下运用Linux工具（一）：G++/Cyguns</title>
		<link>http://www.jiangtanghu.com/cn/2007/04/04/windows%e4%b8%8b%e8%bf%90%e7%94%a8linux%e5%b7%a5%e5%85%b7%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9agcyguns/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/04/04/windows%e4%b8%8b%e8%bf%90%e7%94%a8linux%e5%b7%a5%e5%85%b7%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9agcyguns/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Computers and Internet]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9921</guid>
		<description><![CDATA[想到要一个C++编译器，只是要运行一些C++程序，犯不着装吓人的集成开发环境如VC之类，就在Arthur H. Lee的主页上找了一个G++的Windows版，Cyguns，安装以后占的硬盘才37M多一些。安装以后记得设置环境变量，不过比Java简单多了：重要的是找到二进制文件bin的文件地址，按折默认的安装路径，我的bin文件在&#34;C:\cygnus\cygwin-b20\H-i586-cygwin32\bin&#34;，找到 “我的电脑”——“属性”——“高级”——“环境变量”——“系统变量”——“Path” 如果没有“Path”，就创建一个。如果以前设置过别的Path，就在它的末尾先加一个分号，接着把bin的文件路径填上如： ;C:\cygnus\cygwin-b20\H-i586-cygwin32\bin 以后就可以用记事本写程序，在控制台编译并运行了。比如写一个&#34;Hello World&#34;: // hello.cpp #include &#60;iostream&#62;using namespace std; int main() {cout &#60;&#60; &#34;Hello World!&#34;;return 0;} 把这个文件取名为hello.cpp, 并存于如&#34;E:\cpp&#34;。一个组合快捷键“开始+R”，打开“运行”，在命令栏敲入cmd，就来到控制台，类似于doc的那种界面。你可以通过两步来到制定的E:\cpp文件夹： 敲入 e:   回车，这样就会看到E:\&#62;,光标在这里跳跃； 敲入 cd cpp，回车，这样就会看到E:\cpp&#62;,敲入dir来查看文件夹，你就会看到我们将要处理的hello.cpp； 接下来就是编译hello.cpp，敲入   g++ -g hello.cpp -o hello -lm 如果程序没有问题，E:\cpp下面应该出现一个hello.exe的可执行文件； 接着在控制台敲入hello，回车，屏幕就会打印一条Hello World! 就这么简单。]]></description>
			<content:encoded><![CDATA[<p>想到要一个C++编译器，只是要运行一些C++程序，犯不着装吓人的集成开发环境如VC之类，就在<a href="http://math.cmc.edu/ALee/g++/g++.html" target="_blank">Arthur H. Lee的主页</a>上找了一个G++的Windows版，Cyguns，安装以后占的硬盘才37M多一些。安装以后记得设置环境变量，不过比Java简单多了：重要的是找到二进制文件bin的文件地址，按折默认的安装路径，我的bin文件在&quot;C:\cygnus\cygwin-b20\H-i586-cygwin32\bin&quot;，找到<br />
<blockquote>
<p>“我的电脑”——“属性”——“高级”——“环境变量”——“系统变量”——“Path”</p>
</blockquote>
<p>如果没有“Path”，就创建一个。如果以前设置过别的Path，就在它的末尾先加一个分号，接着把bin的文件路径填上如：<br />
<blockquote>
<p>;C:\cygnus\cygwin-b20\H-i586-cygwin32\bin</p>
</blockquote>
<p>以后就可以用记事本写程序，在控制台编译并运行了。比如写一个&quot;Hello World&quot;:<br />
<blockquote>
<p><font face="Bitstream Vera Sans Mono">// hello.cpp </font> </p>
<p><font face="Bitstream Vera Sans Mono">#include &lt;iostream&gt;<br />using namespace std; </font> </p>
<p><font face="Bitstream Vera Sans Mono">int main() {<br />cout &lt;&lt; &quot;Hello World!&quot;;<br />return 0;<br />}</font></p>
</blockquote>
<p>把这个文件取名为hello.cpp, 并存于如&quot;E:\cpp&quot;。一个组合快捷键“开始+R”，打开“运行”，在命令栏敲入cmd，就来到控制台，类似于doc的那种界面。你可以通过两步来到制定的E:\cpp文件夹：
<ol>
<li>敲入 e:   回车，这样就会看到E:\&gt;,光标在这里跳跃；  </li>
<li>敲入 cd cpp，回车，这样就会看到E:\cpp&gt;,敲入dir来查看文件夹，你就会看到我们将要处理的hello.cpp；  </li>
<li>接下来就是编译hello.cpp，敲入   g++ -g hello.cpp -o hello -lm  </li>
<li>如果程序没有问题，E:\cpp下面应该出现一个hello.exe的可执行文件；  </li>
<li>接着在控制台敲入hello，回车，屏幕就会打印一条Hello World!</li>
</ol>
<p>就这么简单。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/04/04/windows%e4%b8%8b%e8%bf%90%e7%94%a8linux%e5%b7%a5%e5%85%b7%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9agcyguns/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>一组常用的SAS快捷键和命令（一）：入门阶段</title>
		<link>http://www.jiangtanghu.com/cn/2007/04/03/%e4%b8%80%e7%bb%84%e5%b8%b8%e7%94%a8%e7%9a%84sas%e5%bf%ab%e6%8d%b7%e9%94%ae%e5%92%8c%e5%91%bd%e4%bb%a4%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9a%e5%85%a5%e9%97%a8%e9%98%b6%e6%ae%b5/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/04/03/%e4%b8%80%e7%bb%84%e5%b8%b8%e7%94%a8%e7%9a%84sas%e5%bf%ab%e6%8d%b7%e9%94%ae%e5%92%8c%e5%91%bd%e4%bb%a4%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9a%e5%85%a5%e9%97%a8%e9%98%b6%e6%ae%b5/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9920</guid>
		<description><![CDATA[腾出手来动鼠标，对习惯在Linux下编程的程序员来说都非常麻烦：双手最好都时刻停在键盘上。在SAS for Windows下，还是有几个快捷键能让我们的工作更轻松，一下都是都是我平时常用的，而且大多每次开机都要用上： 第一个当然是F9，它能显示所有的SAS快捷键；一个可以替代的SAS 命令栏命令是keys。这个命令栏就是SAS 视窗左上角那个小框，在菜单栏下面那个，不是SAS的程序编辑器Editor； 提到命令框，第2个快捷键就是F11。比如说你在Editor下写程序，想要显示每条程序的行号，摁下F11就可以跳到命令框，敲入nums，回车，就回到你当前的编辑器里； 当然你还可以在程序编辑器Editor里加一个命令框：Tools——Options——Preferences——View，找到Command line钩上就是。这样在你的Editor上面就会出现一个Command ===&#62;,这里你可以像在命令框一样敲入一些小命令，比如bye就退出系统。对这个Command line，一个类似命令框的F11的快捷键是home，它可以在Command line和Editor之间来回切换。比较一下，命令框的好处就是它能自动记下你敲入的每条命令，以后你敲入一个字母它就能够自动补齐，Command line没有记忆功能，它的好处就是，它就在你的编辑器里； 返回键backspace：比如说你在Libraries一路点开，backspace可以一路返回； 接下来是一组连贯的快捷键（F3到F7）： F5回到你的程序编辑器Editor； 写好程序后，摁F3提交运行； F6查看Log； F7查看结果Output； 如果你在编辑器里删了些东西，F4可以追回整段的代码（recall）。    一些组合键可以在第二阶段再熟悉，但一些在Windows下通用的快捷键还是很有价值，如home回到一行的开始，end回到一行的末尾，Ctrl+Home回到整篇的开始，Ctrl+end回到整篇的末尾，摁下Shift不方再用上下左右键选中你感兴趣的内容。 总结一下，这里介绍了： F9, keys F11, nums, bye; home (for Command line) backspace F5, F3, F6, F7, F4 home, end, Ctrl+Home, Ctrl+end, Shift+上下左右键]]></description>
			<content:encoded><![CDATA[<p>腾出手来动鼠标，对习惯在Linux下编程的程序员来说都非常麻烦：双手最好都时刻停在键盘上。在SAS for Windows下，还是有几个快捷键能让我们的工作更轻松，一下都是都是我平时常用的，而且大多每次开机都要用上：</p>
<ol>
<li>第一个当然是F9，它能显示所有的SAS快捷键；一个可以替代的SAS 命令栏命令是keys。这个命令栏就是SAS 视窗左上角那个小框，在菜单栏下面那个，不是SAS的程序编辑器Editor；  </li>
<li>提到命令框，第2个快捷键就是F11。比如说你在Editor下写程序，想要显示每条程序的行号，摁下F11就可以跳到命令框，敲入nums，回车，就回到你当前的编辑器里；  </li>
<li>当然你还可以在程序编辑器Editor里加一个命令框：Tools——Options——Preferences——View，找到Command line钩上就是。这样在你的Editor上面就会出现一个Command ===&gt;,这里你可以像在命令框一样敲入一些小命令，比如bye就退出系统。对这个Command line，一个类似命令框的F11的快捷键是home，它可以在Command line和Editor之间来回切换。比较一下，命令框的好处就是它能自动记下你敲入的每条命令，以后你敲入一个字母它就能够自动补齐，Command line没有记忆功能，它的好处就是，它就在你的编辑器里；  </li>
<li>返回键backspace：比如说你在Libraries一路点开，backspace可以一路返回；  </li>
<li>接下来是一组连贯的快捷键（F3到F7）：
<ul>
<li>F5回到你的程序编辑器Editor；  </li>
<li>写好程序后，摁F3提交运行；  </li>
<li>F6查看Log；  </li>
<li>F7查看结果Output；  </li>
<li>如果你在编辑器里删了些东西，F4可以追回整段的代码（recall）。   </li>
</ul>
</li>
<li>一些组合键可以在第二阶段再熟悉，但一些在Windows下通用的快捷键还是很有价值，如home回到一行的开始，end回到一行的末尾，Ctrl+Home回到整篇的开始，Ctrl+end回到整篇的末尾，摁下Shift不方再用上下左右键选中你感兴趣的内容。</li>
</ol>
<p>总结一下，这里介绍了：</p>
<ul>
<li>F9, keys  </li>
<li>F11, nums, bye; home (for Command line)  </li>
<li>backspace  </li>
<li>F5, F3, F6, F7, F4  </li>
<li>home, end, Ctrl+Home, Ctrl+end, Shift+上下左右键</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/04/03/%e4%b8%80%e7%bb%84%e5%b8%b8%e7%94%a8%e7%9a%84sas%e5%bf%ab%e6%8d%b7%e9%94%ae%e5%92%8c%e5%91%bd%e4%bb%a4%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9a%e5%85%a5%e9%97%a8%e9%98%b6%e6%ae%b5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Excel-备忘录</title>
		<link>http://www.jiangtanghu.com/cn/2007/04/03/excel-%e5%a4%87%e5%bf%98%e5%bd%95/</link>
		<comments>http://www.jiangtanghu.com/cn/2007/04/03/excel-%e5%a4%87%e5%bf%98%e5%bd%95/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>胡江堂</dc:creator>
				<category><![CDATA[Computers and Internet]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/cn/?p=9919</guid>
		<description><![CDATA[按住Ctrl键，用鼠标可以一次选取多个单元格区域。 组合键Ctrl+Home，Ctrl+End 绘图，按Ctrl，用鼠标点中一个图再拖动 F12,另存为 单击工作sheet1，右键，出现“工作标签颜色” 合并单元格！！选定区域，右键，“设置单元格格式”——“对齐”——“合并单元格” 选定区域，右键，“设置单元格格式”!!!!!!!! 菜单栏，“格式”——“自动套用格式” 录制宏 1）工具——宏——录制新宏2）工具——自定义——命令——宏，拖放至工具栏；再指定宏3）取消，“窗口”——“取消隐藏”；“工具”——“宏”，删除 分数的录入：在分数前加0和空格，即0 3/5=3/5，否则看成日期处理 “数据”——“记录单” !!!!!数据的自动填充 1）填充柄 日期、时间、星期、“文本+数字”、“数字+文本”：自动填充若是单独的文本或数字，填充相同的内容输入两个数值，自动填充等差序列 2）Ctrl+Enter复合键：在不同单元格一次性输入同一数据按enter选定不同的单元格，键入数据，按Ctrl+Enter 3）“编辑”——“填充”——“序列” Ctrl+`,公式与结果的切换 数据的分列：“数据”——“分列” 窗口冻结：让变量不动，选定第一个纪录，冻住窗口拆分 查找与替换：“编辑”——“替换”，ctrl+h 插入当前时间、日期ctrl+;ctri+shift+;连起来显示，中间加空格。 数据——分类汇总 数据——数据透视表和数据透视图  以上都是在看宇传华的《Excel与数据分析》时随手打开记事本记下的。零乱不堪，权当备忘。Excel这东西，只要知道哪里有哪些东西，上手很快。]]></description>
			<content:encoded><![CDATA[<ol>
<li>按住Ctrl键，用鼠标可以一次选取多个单元格区域。  </li>
<li>组合键Ctrl+Home，Ctrl+End  </li>
<li>绘图，按Ctrl，用鼠标点中一个图再拖动  </li>
<li>F12,另存为  </li>
<li>单击工作sheet1，右键，出现“工作标签颜色”  </li>
<li>合并单元格！！选定区域，右键，“设置单元格格式”——“对齐”——“合并单元格”  </li>
<li>选定区域，右键，“设置单元格格式”!!!!!!!!  </li>
<li>菜单栏，“格式”——“自动套用格式”  </li>
<li>录制宏 1）工具——宏——录制新宏<br />2）工具——自定义——命令——宏，拖放至工具栏；再指定宏<br />3）取消，“窗口”——“取消隐藏”；“工具”——“宏”，删除  </li>
<li>分数的录入：在分数前加0和空格，即0 3/5=3/5，否则看成日期处理  </li>
<li>“数据”——“记录单”  </li>
<li>!!!!!数据的自动填充
<p>1）填充柄 日期、时间、星期、“文本+数字”、“数字+文本”：自动填充<br />若是单独的文本或数字，填充相同的内容<br />输入两个数值，自动填充等差序列 </p>
<p>2）Ctrl+Enter复合键：在不同单元格一次性输入同一数据<br />按enter选定不同的单元格，键入数据，按Ctrl+Enter  </p>
<p>3）“编辑”——“填充”——“序列”</p>
</li>
<li>Ctrl+`,公式与结果的切换  </li>
<li>数据的分列：“数据”——“分列”  </li>
<li>窗口冻结：让变量不动，选定第一个纪录，冻住<br />窗口拆分  </li>
<li>查找与替换：“编辑”——“替换”，ctrl+h  </li>
<li>插入当前时间、日期ctrl+;<br />ctri+shift+;<br />连起来显示，中间加空格。  </li>
<li>数据——分类汇总  </li>
<li>数据——数据透视表和数据透视图 </li>
</ol>
<p>以上都是在看宇传华的《Excel与数据分析》时随手打开记事本记下的。零乱不堪，权当备忘。Excel这东西，只要知道哪里有哪些东西，上手很快。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/cn/2007/04/03/excel-%e5%a4%87%e5%bf%98%e5%bd%95/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

