jStat:轻量级Javascript统计库
admin 13年前
<p> <a href="/misc/goto?guid=4958186953846612296" target="_blank">jStat</a>是一个Javascript库,为开发人员提供了统计功能和在浏览器中绘制相应图形的特性。jStat能够在所有浏览器中执行统计操作,它需要<a href="/misc/goto?guid=4958183308549259819" target="_blank">jQuery</a>和<a href="/misc/goto?guid=4958183402873546867" target="_blank">绘制数据的插件</a>。jStat是开源统计语言和环境<a href="/misc/goto?guid=4958186955958782830" target="_blank">R</a>的部分移植版。</p> <p> InfoQ采访了Matthew Williams(英国伯明翰阿斯顿大学研究员、jStat团队成员),了解jStat提供的功能:</p> <blockquote> <p>jStat的核心基于向量和矩阵(很像MatLab)。基本单元是矩阵,可以通过jStat函数(j$)来创建:</p> <p>§var matrix = j$([[1,2,3],[4,5,6],[7,8,9]])</p> <p>每一个矩阵包含许多方法,包括加法、除法、乘法、减法、对角线、反对角线、转置、点积、正规化、最小值、最大值、平均值和中间值等。</p> <p>概率发布包括:正态、对数正态、β、γ、韦伯、柯西、卡方、指数、帕雷托、student T等。每一种概率分布都可以计算PDF、CDF并且在给定X值(或者矩阵值)对CDF反向计算。你也可以计算平均值、中间值、取模、标准差和方差。同时,所有分布都能够产生随机样本。</p> <p>jStat还包括了许多“特殊”的函数,包括:伽马函数、反伽马函数、贝塔函数、反贝塔函数、不完全贝塔函数、对数伽马函数、反不完全伽马函数、误差函数、余误差函数、逆余误差函数。它还包含了一些随机数生成器:randn(正态分布的随机样本)和randg(伽马分布的随机样本)。</p> </blockquote> <p> 阿斯顿大学的在读学生Tushar Gupta在今天夏天添加了一些其他功能,如使用Nelder-Mead和非线性共轭梯度算法做优化、线性代数函数包括积分、微分和插值。</p> <p> jStat项目相对年轻,最缺乏的是丰富的绘图功能,计划在未来添加。之前没有清晰的路线图,jStat团队决定未来要做计划,包括提供一个插件体系,支持对项目感兴趣的人扩展它。Williams表示:</p> <blockquote> <p>jStat未来有很多计划。我们正在开发一个回归包,为更复杂的贝叶斯方法提供简单的线性回归。而且,还要提供一些更复杂的绘图功能,包括多元变量绘制(3D)。同时,进一步的设想是创建一个全交互式的jStat环境。</p> <p>就像cloud9是一个在线IDE一样,jStat希望提供一个在线Matlab/R的环境,跟踪变量、交互绘图和保存、恢复工作。</p> <p>我们也希望创建一个插件体系,其他人可以为jStat创建扩展插件。我认为如果插件系统完善,jStat会有巨大的潜力。</p> <p>至于官方路线图,目前还很困难。现在我们正忙于重构和记录修改历史,一旦完成这些工作,我们会更新jStat网站并提供教程。希望未来几个月能够实现这个目标,往前迈一大步。如果达到这个里程碑,我们会更好地计划jStat的未来。</p> </blockquote> <p> 源代码可以从这里<a href="/misc/goto?guid=4958186956696703440">Github/jstat</a>查看,基于<a href="/misc/goto?guid=4958186957435182545">MIT license</a>授权。</p> <p> 对于更强壮和成熟的统计解决方案,可以使用<a href="/misc/goto?guid=4958186955958782830">R</a>——完整的框架,可以执行所有的统计运算和绘制(支持Unix、Mac和Windows)。但是R适合编写原生统计应用,而jStat适合轻量级跨浏览器web应用(不需要R提供的所有功能)。(jStat的<a href="/misc/goto?guid=4958186958859043887" target="_blank">精简</a>版本有40KB,而R的Widnows安装包有39MB)。</p> <p> <strong>查看英文原文</strong>:<a href="/misc/goto?guid=4958186959589940689" target="_blank">jStat: A Lightweight Statistical JavaScript Library</a><br /> 来自: <a id="link_source2" href="/misc/goto?guid=4958186960328105673" target="_blank">InfoQ</a><br /> </p>