<?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>刘思喆 @ 贝吉塔行星 &#187; 算法</title>
	<atom:link href="http://www.bjt.name/category/statistical-application/algorithm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bjt.name</link>
	<description>R 语言，数据挖掘，数据可视化</description>
	<lastBuildDate>Wed, 30 Nov 2011 15:43:30 +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.bjt.name/2009/12/mandelbrot-set/</link>
		<comments>http://www.bjt.name/2009/12/mandelbrot-set/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 13:51:03 +0000</pubDate>
		<dc:creator>刘思喆</dc:creator>
				<category><![CDATA[算法]]></category>
		<category><![CDATA[Mandelbrot set]]></category>
		<category><![CDATA[分形]]></category>

		<guid isPermaLink="false">http://www.bjt.name/?p=10412</guid>
		<description><![CDATA[前一段时间，John Baez 在自己的主页上更新了一篇文章名为 The Beauty of Roots，这篇文章之后在“科学松鼠会”上被 转载。上面提到了曼德布洛特集（Mandelbrot set），根据其发明者法国数学家 Benoît Mandelbrot 而命名。 曼德布洛特集是一种分形，从一般分形性质来说： 客观自然界中许多事物，具有自相似的“层次”结构，在理想情况下，甚至具有无穷层次。适当的放大或缩小几何尺寸，整个结构并不改变。不少复杂的物理现象，背后就是反映着这类层次结构的分形几何学。 常见的曼德布洛特集是这个样子（分辨率原因，部分细节显示不够）： 假如我们把这个集合的下半部分（最下边的小块）分割出来，就是这个样子（8倍放大）： 由于分辨率的提高，所以显示了第一幅图中并没有显示的细节。 继续放大，上图的左上部分的那个小枝（6倍放大）： 再把上图最靠近左边的那个小枝——放大（50/3倍放大）： 继续放大最左边的小枝，似乎在末端又出现了一个类似的小枝（5倍放大）： 如果继续放大下去可能还是这个样子 ：） 注释： 最后一张图相比第一张图来说相当于局部放大了 4000 倍。 高质量的矢量绘图数据量比较大，R 处理起来有些问题，只好使用局部放大的方式。 更多的使用其他软件绘制图形可以见：http://commons.wikimedia.org/wiki/Mandelbrot_set 最后广告一枚： COS 统计图形和可视化版 ——用 R 玩分形。 相关文章： 既然没有了，那就随便看看吧~~]]></description>
			<content:encoded><![CDATA[<p>前一段时间，John Baez 在自己的主页上更新了一篇文章名为 <a href="http://math.ucr.edu/home/baez/roots/">The Beauty of Roots</a>，这篇文章之后在“科学松鼠会”上被 <a title="《多项式的根之美》" href="http://songshuhui.net/archives/23604.html" target="_blank">转载</a>。上面提到了曼德布洛特集（<a href="http://en.wikipedia.org/wiki/Mandelbrot_set"><strong>Mandelbrot set</strong></a>），根据其发明者法国数学家 <a title="Benoît Mandelbrot" href="http://commons.wikimedia.org/wiki/Beno%C3%AEt_Mandelbrot">Benoît Mandelbrot</a> 而命名。</p>
<p>曼德布洛特集是一种分形，从一般分形性质来说：</p>
<blockquote><p>客观自然界中许多事物，具有自相似的“层次”结构，在理想情况下，甚至具有无穷层次。适当的放大或缩小几何尺寸，整个结构并不改变。不少复杂的物理现象，背后就是反映着这类层次结构的分形几何学。</p></blockquote>
<p>常见的曼德布洛特集是这个样子（分辨率原因，部分细节显示不够）：</p>
<p><a href="http://www.bjt.name/wp-content/uploads/2009/12/scale1.png"><img class="aligncenter size-full wp-image-10438" title="scale1" src="http://www.bjt.name/wp-content/uploads/2009/12/scale1.png" alt="" width="480" height="480" /></a></p>
<p>假如我们把这个集合的下半部分（最下边的小块）分割出来，就是这个样子（8倍放大）：</p>
<p><a href="http://www.bjt.name/wp-content/uploads/2009/12/scale2.png"><img class="aligncenter size-full wp-image-10438" title="scale2" src="http://www.bjt.name/wp-content/uploads/2009/12/scale2.png" alt="" width="480" height="480" /></a></p>
<p>由于分辨率的提高，所以显示了第一幅图中并没有显示的细节。</p>
<p>继续放大，上图的左上部分的那个小枝（6倍放大）：</p>
<p><a href="http://www.bjt.name/wp-content/uploads/2009/12/scale41.png"><img class="aligncenter size-full wp-image-10446" title="scale4" src="http://www.bjt.name/wp-content/uploads/2009/12/scale41.png" alt="" width="480" height="480" /></a></p>
<p>再把上图最靠近左边的那个小枝——放大（50/3倍放大）：</p>
<p><a href="http://www.bjt.name/wp-content/uploads/2009/12/scale51.png"><img class="aligncenter size-full wp-image-10447" title="scale5" src="http://www.bjt.name/wp-content/uploads/2009/12/scale51.png" alt="" width="480" height="480" /></a></p>
<p>继续放大最左边的小枝，似乎在末端又出现了一个类似的小枝（5倍放大）：</p>
<p><a href="http://www.bjt.name/wp-content/uploads/2009/12/scale6.png"><img class="aligncenter size-full wp-image-10450" title="scale6" src="http://www.bjt.name/wp-content/uploads/2009/12/scale6.png" alt="" width="480" height="480" /></a></p>
<p>如果继续放大下去可能还是这个样子 ：）</p>
<p>注释：</p>
<ol>
<li>最后一张图相比第一张图来说相当于局部放大了 4000 倍。</li>
<li>高质量的矢量绘图数据量比较大，R 处理起来有些问题，只好使用局部放大的方式。</li>
<li>更多的使用其他软件绘制图形可以见：http://commons.wikimedia.org/wiki/Mandelbrot_set</li>
</ol>
<p>最后广告一枚：</p>
<p><a href="http://cos.name/bbs/thread.php?fid=27">COS 统计图形和可视化版</a> ——<a href="http://cos.name/bbs/read.php?tid=17644">用 R 玩分形</a>。<br />
<h3 class='related_post_title'>相关文章：</h3>
<ul class='related_post'>
<li>既然没有了，那就随便看看吧~~</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bjt.name/2009/12/mandelbrot-set/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>水立方和 Voronoi 原理</title>
		<link>http://www.bjt.name/2009/08/aquatics-center-voronoi/</link>
		<comments>http://www.bjt.name/2009/08/aquatics-center-voronoi/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 16:18:07 +0000</pubDate>
		<dc:creator>刘思喆</dc:creator>
				<category><![CDATA[R 语言]]></category>
		<category><![CDATA[图型展示]]></category>
		<category><![CDATA[算法]]></category>
		<category><![CDATA[voronoi]]></category>
		<category><![CDATA[水立方]]></category>

		<guid isPermaLink="false">http://www.bjt.name/2009/08/%e6%b0%b4%e7%ab%8b%e6%96%b9%e5%92%8c-voronoi-%e5%9b%be%e5%bd%a2/</guid>
		<description><![CDATA[还记得第一次看到水立方时的惊讶么？ 是什么这么吸引我们？是有如天空般的颜色？还是那气泡似的形状？ 从水立方的外墙结构上看，不但外观美观，而且十分紧凑。水立方外墙为什么会有这样的性质，是因为它上应用了一项最优化的技术，即Voronoi 原理。 Voronoi 图也常常被称为 Dirichlet 格局（Dirichlet tessellation）。通俗讲，其原理是一项从点到面的技术。它的每个多边形只有一个”生成点”，而这个多边形上的每个点到”生成点”的距离总是比到其他”生成点”的距离要小（是不是想到了 K-means 算法？）。 在建筑设计上，有设计人员争论这类方法定义为“参数化设计”。认为这种方法不能同传统的、依靠灵感的设计方式相比，因为这种方法高度依赖计算机，只需要简单改变若干参数就能得到设计方案。但这个论断，恰恰忽略了“参数化设计”背后的数学意义。 既然 Voronoi 是一种最优化的算法，那么除在建筑学上给我们带来的美轮美奂的视觉效果外，它在空间统计上同样也有应用。 下面，我根据各个省会城市（包括香港、澳门）的地理位置，利用 Voronoi 原理，计算每个省最佳控制范围（使用红色的线条标记）： 虽然理论值（最优）和现实值（行政区划、地理）总有差距，但是，比较一下会发现一些值得探讨的现象： 内蒙古应该好好的规划一下，从东边到西边实在太远了，把西边的划给宁夏可能好点；东边划给北京、东三省； 河北北部，不论是属于北京还是天津都会好些，记得我小的时候，宁可去北京、天津，也不乐意去遥远的省会&#8211;石家庄； 青海应该把甘肃的北部包括进去； 上海、香港、澳门有一部分管辖区也也不错么：） 整体上看，大部分省的行政区划还是符合 Voronoi 原理。也就是说，单纯从空间距离的角度来看，我国的行政区划还是比较不错的。， 相关文章： 既然没有了，那就随便看看吧~~]]></description>
			<content:encoded><![CDATA[<p>还记得第一次看到<a href="http://en.wikipedia.org/wiki/Beijing_National_Aquatics_Center">水立方</a>时的惊讶么？</p>
<p>是什么这么吸引我们？是有如天空般的颜色？还是那气泡似的形状？</p>
<p style="text-align: center;"><a href="http://www.bjt.name/wp-content/uploads/2009/08/Watercube.jpg"><img class="size-full wp-image-10624 aligncenter" title="Watercube" src="http://www.bjt.name/wp-content/uploads/2009/08/Watercube.jpg" alt="" width="800" height="462" /></a></p>
<p>从水立方的外墙结构上看，不但外观美观，而且十分紧凑。水立方外墙为什么会有这样的性质，是因为它上应用了一项最优化的技术，即<a href="http://en.wikipedia.org/wiki/Voronoi" target="_blank">Voronoi</a> 原理。</p>
<p><a href="http://en.wikipedia.org/wiki/Voronoi" target="_blank">Voronoi</a> 图也常常被称为 Dirichlet 格局（Dirichlet tessellation）。通俗讲，其原理是一项从点到面的技术。它的每个多边形只有一个”生成点”，而这个多边形上的每个点到”生成点”的距离总是比到其他”生成点”的距离要小（是不是想到了 K-means 算法？）。</p>
<div style="page-break-after: always;"><span style="display: none;"> </span></div>
<p>在建筑设计上，有设计人员争论这类方法定义为“参数化设计”。认为这种方法不能同传统的、依靠灵感的设计方式相比，因为这种方法高度依赖计算机，只需要简单改变若干参数就能得到设计方案。但这个论断，恰恰忽略了“参数化设计”背后的数学意义。</p>
<p>既然 <a href="http://en.wikipedia.org/wiki/Voronoi" target="_blank">Voronoi</a> 是一种最优化的算法，那么除在建筑学上给我们带来的美轮美奂的视觉效果外，它在空间统计上同样也有应用。</p>
<p>下面，我根据各个省会城市（包括香港、澳门）的地理位置，利用 Voronoi 原理，计算每个省最佳控制范围（使用红色的线条标记）：</p>
<p><img src="http://www.bjt.name/wp-content/uploads/2009/08/China.png" alt="China.png" width="700" height="490" /></p>
<p>虽然理论值（最优）和现实值（行政区划、地理）总有差距，但是，比较一下会发现一些值得探讨的现象：</p>
<ul>
<li>
<div>内蒙古应该好好的规划一下，从东边到西边实在太远了，把西边的划给宁夏可能好点；东边划给北京、东三省；</div>
</li>
<li>
<div>河北北部，不论是属于北京还是天津都会好些，记得我小的时候，宁可去北京、天津，也不乐意去遥远的省会&#8211;石家庄；</div>
</li>
<li>
<div>青海应该把甘肃的北部包括进去；</div>
</li>
<li>
<div>上海、香港、澳门有一部分管辖区也也不错么：）</div>
</li>
</ul>
<p>整体上看，大部分省的行政区划还是符合 Voronoi 原理。也就是说，单纯从空间距离的角度来看，我国的行政区划还是比较不错的。，<br />
<h3 class='related_post_title'>相关文章：</h3>
<ul class='related_post'>
<li>既然没有了，那就随便看看吧~~</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bjt.name/2009/08/aquatics-center-voronoi/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>从小数到分数</title>
		<link>http://www.bjt.name/2009/08/farey-sequence-fractions/</link>
		<comments>http://www.bjt.name/2009/08/farey-sequence-fractions/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 05:19:54 +0000</pubDate>
		<dc:creator>刘思喆</dc:creator>
				<category><![CDATA[R 语言]]></category>
		<category><![CDATA[算法]]></category>
		<category><![CDATA[farey sequence]]></category>

		<guid isPermaLink="false">http://www.bjt.name/2009/08/10202/</guid>
		<description><![CDATA[很多时候，在社会调研中会出现一些小数（或百分数），而这些数字背后隐藏的信息也常常被统计人关注。比如 COS 主站上的这篇文章&#8211;《从调查报告中的比例数字说统计人如何甄别统计假象》，yihui 生动地为我们展示了一种考量问题的思路。 正如文章中所说的，如果我们对数字足够敏感的话，很容易判断出 0.6667 的分数是 2/3 ，0.625 的分数是 5/8，0.14286 的分数是 1/7。但我们的经验毕竟有限，不可能穷尽所有的数字，通过一个算法来确定分数是十分有必要的。 法里序列（farey sequence）也是考虑这类问题的一个角度。如果给定法里序列的 n 足够大，那么我们必定能够将逼近出一个和小数相等的分数Fi[j]。 法里序列 Fi （i=1 到 n）： F1 = {0&#8260;1, 1&#8260;1} F2 = {0&#8260;1, 1&#8260;2, 1&#8260;1} F3 = {0&#8260;1, 1&#8260;3, 1&#8260;2, 2&#8260;3, 1&#8260;1} F4 = {0&#8260;1, 1&#8260;4, 1&#8260;3, 1&#8260;2, 2&#8260;3, 3&#8260;4, 1&#8260;1} F5 = {0&#8260;1, 1&#8260;5, 1&#8260;4, 1&#8260;3, 2&#8260;5, 1&#8260;2, <a href='http://www.bjt.name/2009/08/farey-sequence-fractions/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>很多时候，在社会调研中会出现一些小数（或百分数），而这些数字背后隐藏的信息也常常被统计人关注。比如 <a href="http://www.cos.name/" target="_blank">COS 主站</a>上的这篇文章&#8211;<a href="http://cos.name/2009/04/from-proportion-to-conclusion/" target="_blank">《从调查报告中的比例数字说统计人如何甄别统计假象》</a>，yihui 生动地为我们展示了一种考量问题的思路。</p>
<p>正如文章中所说的，如果我们对数字足够敏感的话，很容易判断出 0.6667 的分数是 2/3 ，0.625 的分数是 5/8，0.14286 的分数是 1/7。但我们的经验毕竟有限，不可能穷尽所有的数字，通过一个算法来确定分数是十分有必要的。</p>
<p>法里序列（<a href="http://en.wikipedia.org/wiki/Farey_sequence" target="_blank">farey sequence</a>）也是考虑这类问题的一个角度。如果给定法里序列的 n 足够大，那么我们必定能够将逼近出一个和小数相等的分数<em>F</em><sub>i</sub>[j]。</p>
<p>法里序列 <em>F</em><sub>i</sub> （i=1 到 n）：</p>
<dl>
<dd><em>F</em><sub>1</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
<dd><em>F</em><sub>2</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>2</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
<dd><em>F</em><sub>3</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>3</sub>, <sup>1</sup>&frasl;<sub>2</sub>, <sup>2</sup>&frasl;<sub>3</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
<dd><em>F</em><sub>4</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>4</sub>, <sup>1</sup>&frasl;<sub>3</sub>, <sup>1</sup>&frasl;<sub>2</sub>, <sup>2</sup>&frasl;<sub>3</sub>, <sup>3</sup>&frasl;<sub>4</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
<dd><em>F</em><sub>5</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>5</sub>, <sup>1</sup>&frasl;<sub>4</sub>, <sup>1</sup>&frasl;<sub>3</sub>, <sup>2</sup>&frasl;<sub>5</sub>, <sup>1</sup>&frasl;<sub>2</sub>, <sup>3</sup>&frasl;<sub>5</sub>, <sup>2</sup>&frasl;<sub>3</sub>, <sup>3</sup>&frasl;<sub>4</sub>, <sup>4</sup>&frasl;<sub>5</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
<dd><em>F</em><sub>6</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>6</sub>, <sup>1</sup>&frasl;<sub>5</sub>, <sup>1</sup>&frasl;<sub>4</sub>, <sup>1</sup>&frasl;<sub>3</sub>, <sup>2</sup>&frasl;<sub>5</sub>, <sup>1</sup>&frasl;<sub>2</sub>, <sup>3</sup>&frasl;<sub>5</sub>, <sup>2</sup>&frasl;<sub>3</sub>, <sup>3</sup>&frasl;<sub>4</sub>, <sup>4</sup>&frasl;<sub>5</sub>, <sup>5</sup>&frasl;<sub>6</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
<dd><em>F</em><sub>7</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>7</sub>, <sup>1</sup>&frasl;<sub>6</sub>, <sup>1</sup>&frasl;<sub>5</sub>, <sup>1</sup>&frasl;<sub>4</sub>, <sup>2</sup>&frasl;<sub>7</sub>, <sup>1</sup>&frasl;<sub>3</sub>, <sup>2</sup>&frasl;<sub>5</sub>, <sup>3</sup>&frasl;<sub>7</sub>, <sup>1</sup>&frasl;<sub>2</sub>, <sup>4</sup>&frasl;<sub>7</sub>, <sup>3</sup>&frasl;<sub>5</sub>, <sup>2</sup>&frasl;<sub>3</sub>, <sup>5</sup>&frasl;<sub>7</sub>, <sup>3</sup>&frasl;<sub>4</sub>, <sup>4</sup>&frasl;<sub>5</sub>, <sup>5</sup>&frasl;<sub>6</sub>, <sup>6</sup>&frasl;<sub>7</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
<dd><em>F</em><sub>8</sub> = {<sup>0</sup>&frasl;<sub>1</sub>, <sup>1</sup>&frasl;<sub>8</sub>, <sup>1</sup>&frasl;<sub>7</sub>, <sup>1</sup>&frasl;<sub>6</sub>, <sup>1</sup>&frasl;<sub>5</sub>, <sup>1</sup>&frasl;<sub>4</sub>, <sup>2</sup>&frasl;<sub>7</sub>, <sup>1</sup>&frasl;<sub>3</sub>, <sup>3</sup>&frasl;<sub>8</sub>, <sup>2</sup>&frasl;<sub>5</sub>, <sup>3</sup>&frasl;<sub>7</sub>, <sup>1</sup>&frasl;<sub>2</sub>, <sup>4</sup>&frasl;<sub>7</sub>, <sup>3</sup>&frasl;<sub>5</sub>, <sup>5</sup>&frasl;<sub>8</sub>, <sup>2</sup>&frasl;<sub>3</sub>, <sup>5</sup>&frasl;<sub>7</sub>, <sup>3</sup>&frasl;<sub>4</sub>, <sup>4</sup>&frasl;<sub>5</sub>, <sup>5</sup>&frasl;<sub>6</sub>, <sup>6</sup>&frasl;<sub>7</sub>, <sup>7</sup>&frasl;<sub>8</sub>, <sup>1</sup>&frasl;<sub>1</sub>}</dd>
</dl>
<p>但这个过程会比较麻烦，<em>F</em><sub>1000</sub> 已经达到300927 个数字。幸好 R 中的 MASS 包提供了 fractions 函数。这个函数使用有理近似的方式，将小数转化为分数（连分数）形式。比如<a href="http://cos.name/2009/04/from-proportion-to-conclusion/" target="_blank">《从调查报告中的比例数字说统计人如何甄别统计假象》</a>中提到的 29.1667% 这个数值：</p>
<p>&gt; fractions(0.291667) <br />
	[1] 7/24</p>
<p>不过，既然是近似算法，这个函数对小数的精确度要求还是蛮高的，而且最好不要用无理数去逗人家。</p>
<p><span dir="ltr">&gt; fractions(pi) <br />
	[1] 4272943/1360120</span></p>
<h3 class='related_post_title'>相关文章：</h3>
<ul class='related_post'>
<li><a href='http://www.bjt.name/2011/08/r-and-sql-datamining/' title='数据挖掘之R与SQL'>数据挖掘之R与SQL</a></li>
<li><a href='http://www.bjt.name/2011/07/money-supply-motion-char/' title='2006年至今国内货币供应量的Motion Chart'>2006年至今国内货币供应量的Motion Chart</a></li>
<li><a href='http://www.bjt.name/2011/06/beautiful-math-triangle-r/' title='一个美丽的三角形'>一个美丽的三角形</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bjt.name/2009/08/farey-sequence-fractions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

