【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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:115693
用户头像

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

关注

评论

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

mock.js的作用

与风逐梦

大前端 后端 Mock

云小课 | 区块链关键技术之一:共识算法

华为云开发者联盟

区块链 区块链技术 共识机制 共识算法

如何高效工作,享受品质生活?看看少数派的经验总结吧

博文视点Broadview

JavaScript 有关数组的 slice 截断函数

HoneyMoose

干货 | 数据为王,携程国际火车票的 ShardingSphere 之路

SphereEx

数据库 开源

华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有多大?

华为云数据库小助手

华为云 GaussDB GaussDB(for MySQL)

Vue进阶(六十四):iframe更改src后页面未刷新问题解决

No Silver Bullet

Vue iframe 跨域 8月日更

游戏“外挂”?—— AI生成游戏最强攻略

华为云开发者联盟

AI 游戏 华为云

SQL 是产品经理必会技能

蒋川

数据库 sql 产品 后端

Rust从0到1-高级特性-Traits 进阶

rust Traits 高级特性

InnoDB解决幻读的方案——LBCC&MVCC

阿Q说代码

MySQL innodb MVCC 8月日更 LBCC

netty系列之:在netty中使用protobuf协议

程序那些事

Java Netty 程序那些事

docker入门:vue和可视化界面的部署,另附ngxin配置

小鲍侃java

8月日更

面试侃集合 | SynchronousQueue公平模式篇

码农参上

队列 SynchronousQueue 8月日更

开源demo | 快速搭建在线自习室场景

anyRTC开发者

音视频 在线教育 视频直播 在线自习室

微信业务架构

一叶知秋

架构实战营

微信业务架构图-外包学生管理系统架构

毛先生

架构实战营

从Docker到Kubernetes | 爱数云原生演进历程

爱数技术范儿

Kubernetes 云原生

5年程序员问我:什么是断言?

CodeNongXiaoW

测试 后端 接口工具

接口管理工具ApiPost使用——(响应结果可视化)

Proud lion

大前端 后端 Postman 开发工具 接口文档

Ubuntu Server 20.04 搭建Nacos集群

玏佾

nacos 部署 搭建

IntelliJ IDEA 如何显示提交输入的信息历史

HoneyMoose

redis6安装和可视化工具

4ye

redis 后端 8月日更

合约量化系统开发(炒币合约/机器人炒币App)

获客I3O6O643Z97

智能合约 量化机器人 合约量化

制作第三方库时,我们的资源到底在哪?

fuyoufang

ios swift 8月日更

多云管理中的多租户解决方案

鲸品堂

多租户 多云管理 实践案例

面对不同的业务场景,选择零码还是低码?

华为云开发者联盟

开发者 低代码 零代码 AppCube 业务场景

sql task4 集合运算

橙橙橙橙汁丶

遗留系统演进

Kubernetes 微服务 etcd 架构设计原则 演进式架构

Week1 Homework

Ray_c

#架构实战营

带你入门antv.g6流程图

华为云开发者联盟

可视化 流程图 API graph 图可视化引擎

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