蒐尋本站(Google AJAX Search)

2013年11月23日

R 研討會心得

紀錄一下參加研討會後的心得

目前R Project在統計領域的確是很火熱,很多的期刊也都接受

而最新的統計演算法也被期刊要求一定要提供程式碼以供檢驗

這也說明了為什麼R的package會如此的豐富與及時了,據稱目前已經有超過5000套以上的package可以讓人選擇安裝了

不過我想 R 最主要被疑問的一點,應該還是在於學習曲線過高

畢竟凡事就是如此,取捨而已

R強大的優點有那些??

  • 編寫程式語言
  • GUI客製程度
  • OUTPUT輸出客製化
  • 繪圖能力客製化
  • 連結其他語言/平台的能力(例:C、JAVA、SAS、SPSS、MINITAB、STATA)

以上這幾點,其實說穿了就是強調你可以自行打造出你所想要的,但是反過來就是可能會有無窮無盡的東西需要你先行瞭解 XD

不過如此今天想要玩BIG DATA,要繞開R可能不是一件簡單的事

畢竟上面有提供蠻多最新的解決方案

先來談一下BIG DATA在實務上要考量的點有那些??

  • 儲存方式 --使用資料庫軟體進行管理?
  • 戴入記憶體--在BIG DATA的狀況下,一般電腦的DRAM絕對會被幹爆
  • 計算方法(演算法)
  • 計算速度

可以想見當你的資料量愈大的時候,遇到的問題就會愈多

如果是計算方法上的問題時,可能就需要重新改寫。改寫的程度,目前被定義如下:

  • 不需改寫→
  • 部份改寫(例:循序切割 CYUNKING)→
  • 大幅改寫(例:MLE估計量)→
  • 大幅改寫+多核心→
  • 全面改寫(例:Streaming Data)

當然依情況而定,可以略分為2種,一種就是使用全部資料進行運算,一種就是使用抽樣方式

如果是使用全部資料時,可以想像將資料進行切片,然後再依序進行處理

如果系統有支援多核處理時,就可以想像將蛋糕切片後,同時分給8個人處理(8核處理器)

如果系統有支援多台電腦平行處理時,就可以想象想蛋糕分給一大群軍隊,各自帶開進行處理

而使用抽樣方式當然會比較不需要如此,但是抽樣的技術就會變得很重要

略分成2種,一種當然就是單一隨機抽樣,先概略分群後再進行抽樣

另一種就是多個隨機抽樣,抽取多次後再加以平均 or投票 (隨機森林決策樹)

當然抽樣的方式最大的挑戰就是要夠隨機,所以這真的需要很深厚的統計功力與對商業智慧流程的瞭解

而目前雖然DRAM的價格已經低價化,不過進行BIG DATA分析時,記憶體不夠才是顯示出你進行的是了不起的大案子…所以底下就整理一下研討會中所提到的套件

  • BigMemory
  • Ff
  • DataBEL 具備將大型矩陣
  • PdbBase 這個找不到套件,有可能是我抄錯了 不過那暫時不是我目前的重點,這提供了一個MPI平行處理介面,等有時間再找

另外R也提供了很多與資料庫相關的套件

  • RMySQL:MySQL
  • RPostareSQL:PostareSQL
  • RODBC:IBM DB2、Oracle、MS SQL
  • Tsdbi
  • MonetDB.R 新型開放資料庫 內建多核平行運算 內建基本統計
  • Revolution R 算是IBM所強化過後的R商業版,和免費的R的差異應該就是它提供了不一樣的儲存方式,並搭配更優化過後的資料庫

再列幾個講者所介紹的 R+Hadoop套件

  • Hire
  • rHadoop Client
  • Hadoop Streaming
  • RHIPE
  • Rhadoop

最後講者的建議是因為資料庫軟體有對一些基礎統計像是排序之類的計算進行優化

如果是相對簡單的統計功能,如果能由資料庫內建功能中執行取得(例:SQL)就直接處理

另外當然就是使用64位元的作業系統,因為這樣可以解除4Gb Dram的限制

並且搭配使用Unix-Base的作業系統,因為多核、平行運算的能力相對於windows體系是強悍很多的

沒有留言:

張貼留言

歡迎留下你的想法
只要您擁有 Google 或 OpenId帳號即可留言
待檢查後即可顯示於網頁

隨機推薦

Powered by Stuff-a-Blog
/*以下是google分析的程式碼 /*以上是google分析的程式碼