写点什么

jStat: 轻量级 Javascript 统计库

  • 2011-08-24
  • 本文字数:1196 字

    阅读完需:约 4 分钟

jStat 是一个 Javascript 库,为开发人员提供了统计功能和在浏览器中绘制相应图形的特性。jStat 能够在所有浏览器中执行统计操作,它需要 jQuery 绘制数据的插件。jStat 是开源统计语言和环境 R 的部分移植版。

InfoQ 采访了 Matthew Williams(英国伯明翰阿斯顿大学研究员、jStat 团队成员),了解 jStat 提供的功能:

jStat 的核心基于向量和矩阵(很像 MatLab)。基本单元是矩阵,可以通过 jStat 函数 (j$) 来创建:

§ var matrix = j$([[1,2,3],[4,5,6],[7,8,9]])

每一个矩阵包含许多方法,包括加法、除法、乘法、减法、对角线、反对角线、转置、点积、正规化、最小值、最大值、平均值和中间值等。

概率发布包括:正态、对数正态、β、γ、韦伯、柯西、卡方、指数、帕雷托、student T 等。每一种概率分布都可以计算 PDF、CDF 并且在给定 X 值(或者矩阵值)对 CDF 反向计算。你也可以计算平均值、中间值、取模、标准差和方差。同时,所有分布都能够产生随机样本。

jStat 还包括了许多“特殊”的函数,包括:伽马函数、反伽马函数、贝塔函数、反贝塔函数、不完全贝塔函数、对数伽马函数、反不完全伽马函数、误差函数、余误差函数、逆余误差函数。它还包含了一些随机数生成器:randn(正态分布的随机样本)和 randg(伽马分布的随机样本)。

阿斯顿大学的在读学生 Tushar Gupta 在今天夏天添加了一些其他功能,如使用 Nelder-Mead 和非线性共轭梯度算法做优化、线性代数函数包括积分、微分和插值。

jStat 项目相对年轻,最缺乏的是丰富的绘图功能,计划在未来添加。之前没有清晰的路线图,jStat 团队决定未来要做计划,包括提供一个插件体系,支持对项目感兴趣的人扩展它。Williams 表示:

jStat 未来有很多计划。我们正在开发一个回归包,为更复杂的贝叶斯方法提供简单的线性回归。而且,还要提供一些更复杂的绘图功能,包括多元变量绘制(3D)。同时,进一步的设想是创建一个全交互式的 jStat 环境。

就像 cloud9 是一个在线 IDE 一样,jStat 希望提供一个在线 Matlab/R 的环境,跟踪变量、交互绘图和保存、恢复工作。

我们也希望创建一个插件体系,其他人可以为 jStat 创建扩展插件。我认为如果插件系统完善,jStat 会有巨大的潜力。

至于官方路线图,目前还很困难。现在我们正忙于重构和记录修改历史,一旦完成这些工作,我们会更新 jStat 网站并提供教程。希望未来几个月能够实现这个目标,往前迈一大步。如果达到这个里程碑,我们会更好地计划 jStat 的未来。

源代码可以从这里 Github/jstat 查看,基于 MIT license 授权。

对于更强壮和成熟的统计解决方案,可以使用 R ——完整的框架,可以执行所有的统计运算和绘制(支持 Unix、Mac 和 Windows)。但是 R 适合编写原生统计应用,而 jStat 适合轻量级跨浏览器 web 应用(不需要 R 提供的所有功能)。(jStat 的精简版本有40KB,而R 的Widnows 安装包有39MB)。

查看英文原文 jStat: A Lightweight Statistical JavaScript Library

2011-08-24 02:115715
用户头像

发布了 501 篇内容, 共 248.2 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

我们应该如何过好自己这一生?

Phoenix

心理学

Prometheus PushGateway 0.9 和 1.0 的区别

耳东@Erdong

Prometheus PushGateway 9月日更

python 学习笔记:day2——基本数据类型

秦时明月

Python编程

模块八作业

VE

架构实战营

Confluence OGNL 注入漏洞的严重安全问题

HoneyMoose

Vue进阶(幺贰陆):表格复用 TypeError: _self.$scopedSlots.default is not a function解决方法

No Silver Bullet

Vue 9月日更

你是一名技术管理者还是项目管理者?

菜根老谭

项目管理 技术管理

架构实战营 模块八 作业

脉醉

#架构实战营

[架构实战营]模块八作业

xyu

#架构实战营

21. AI会让人类大量失业吗

数据与智能

人工智能

SpringMVC源码分析-HandlerAdapter(3)-RequestMappingHandlerAdapter请求处理

Brave

源码 springmvc 9月日更

分布迁移下的深度学习时间序列异常检测方法探究

云智慧AIOps社区

深度学习 异常检测 技术学习 智能运维 分布迁移

索信达控股:新一代金融知识图谱解决方案的落地应用和研究

索信达控股

金融科技 金融 知识图谱

zookeeper迁移实践

小江

zookeeper 迁移数据

机场做好这道题,才能万户千家共婵娟

脑极体

架构训练营 模块七

小卷儿

老骥伏枥-network policy之iptables实现

Lance

在线SQL(Insert/Update)语句转JSON工具

入门小站

工具

中秋晴朗夜,我们与星月相见

脑极体

设计消息队列存储信息数据的MySQL表格

木云先森

架构训练营

python学习笔记:day1——python入门了解

秦时明月

Python编程

架构实战营模块八作业

maybe

模块八作业

king

作业8

柱林

带你学会区分Scheduled Thread Pool Executor 与Timer

华为云开发者联盟

线程 线程池 Timer 任务调度 JDK 1.5

消息队列数据存储设计案例-模块八

小牧ah

架构实战营

啥都复用不了,还谈什么中台!

菜根老谭

中台 复用 技术管理 平台架构

大力出奇迹,揭秘昇腾CANN的AI超能力

华为云开发者联盟

AI 算法 算力 CANN

linux之dd命令

入门小站

Linux

消息队列:RocketMQ事务实现

正向成长

RocketMQ事务

架构实战营1期模块八作业——中间件设计

tt

架构实战营

jStat:轻量级Javascript统计库_JavaScript_Abel Avram_InfoQ精选文章