jStat:輕量級Javascript統計庫

碼頭工人 13年前發布 | 8K 次閱讀 jStat

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
      來自: InfoQ

 本文由用戶 碼頭工人 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!