醫學大資料

來源:互聯網
上載者:User
關鍵字 傳統 淺談

摘要: 資料分析框架(傳統資料分析框架,大資料分析框架) 醫療大資料有著前面第一節提到的所有特徵。 在醫療大資料帶來各種優勢的同時,大資料隨之帶來的各種特性使得傳統的資料處理

資料分析框架(傳統資料分析框架,大資料分析框架)

醫療大資料有著前面第一節提到的所有特徵。 在醫療大資料帶來各種優勢的同時,大資料隨之帶來的各種特性使得傳統的資料處理和資料分析方法及軟體捉襟見肘,問題多多。 在大資料時代出現之前,受限於資料量的可獲得性和計算能力的有限性,傳統的資料管理和分析採用著不同的思路和流程。 傳統上,對於問題的研究建立在假設的基礎上進行驗證,進而研究事物的相關因果性,希望能回答「為什麼」。

而在大資料時代,海量資料的湧現提供了從不同角度更細緻更全面觀察研究資料的可能,從而打開了人們的好奇心,探索欲望,人們想知道到資料告訴了我什麼,而不僅僅是我的猜想是否被資料驗證了。 人們越來越多地用大資料採礦各種感興趣的關聯,非關聯等相關性,然後再進一步比較,分析,歸納,研究(「為什麼」變成一個選項而不是唯一終極目標)。 大資料與傳統資料思路上的不同導致了分析流程的不同,如圖一所示:

圖一

面對海量的資料和不同的分析思路,大資料的管理和分析與傳統資料分析的差異日益加大。 回答特定問題的單一預設結構化資料庫明顯不能完全勝任處理大資料的海量及混雜等問題。 資料的混雜多樣性具體可以從一些調查資料中表現出來。 SAS的一份調查報告顯示機構內的非結構化資料最多可以占到總數據量的85%,而這些非數位,非結構化的資料卻必須被量化分析和用到決策分析中 (Troester, 2012)。

另一份2013年進行的SAS調查報告顯示在461個提供完整回饋資訊的機構中只有26%的機構表示他們所擁有的大資料是結構化的 (Russom, 2013)。 此外,在機構中,分析的資料一般不會只有一個單一的來源。 Alteryx的調查報告顯示在200家被調查的機構中只有6%的機構表示他們的資料是只有一個來源,最為普遍的情況是5-10個來源,具體分佈如圖二 (Alteryx, 2014)。

調查中還顯示90%的被調查樣本表示有資料整合問題,37%表示需要等其他小組提供資料,30%表示不能得到他們想要的資料,一般估計是一個資料分析師的60%到80%的時間是花在資料處理準備階段上的 (Alteryx, 2014)。

圖二

由此可見有效的資料管理,資料庫建立及資料分析流程的重要性。 傳統的資料管理的過程包括抽取(Extraction),轉換(Transformation)和載入(load)。 通過ETL,可以賦予資料一種合適恰當的結構用於特定的分析發現。 具體資料準備分析流程如圖三所示:1)抽取單個或多個來源的資料 。 2)淨化,格式化,標準化,聚合,添加,或遵循其他特定的資料處理規則。 3)載入處理完的資料到特定的資料庫或儲存為特定的檔案格式。 4)採用各種方法進行資料分析。

圖三

ETL的中心內容仍舊適用于大資料,但由於大資料的大量性和多樣性對資料庫和資料管理及處理方法的要求越來越高,也越來越複雜,這樣線性處理整個資料變得相當耗費人力,物力,和時間。

此外,大資料的快速性,易變性也使得把資料儲存在單一的中央資料庫變的不太可行。 在這種情況下,最流行的思路是把資料分割處理,也就是把資料儲存到多個儲存節點(比如網路資料庫),在每個節點單獨處理資料(甚至處理完就接著進行初步分析,但處理的程度依客戶具體問題而調整),然後再匯總整合到一起, 提供給單個或多個資料庫,接著根據需要選擇合適的分析方法獲取有用結果。 ETL貫穿于整個大資料管理分析的流程中。 圖四演示了大致的大資料管理分析流程及一些大資料處理分析平臺工具的名字。

圖四

SAS的資料倉儲研究院(TDWI)針對現今存在的大資料處理分析平臺工具進行了一項調查以説明人們在選擇軟硬體進行大資料分析時能做出更好的決策。 針對大資料技術,特點,和消費者操作,調查提供了三個選擇:1)現在使用中,並且會繼續使用。 2)會在三年中開始使用。 3)沒有計劃使用。 圖五左側顯示了對於各種大資料分析平臺工具,被調查人員的回復比例。 圖五的右側顯示了平臺工具可能的潛在成長和對採用此工具做出承諾的被調查人員比例。

圖五

根據潛在成長和承諾的綜合考量,此調查還進一步把大資料分析平臺,工具分成4組:第一組為適度的承諾,中度到強的成長潛力;第二組為中度至強有力的承諾,適度增長潛力;第三組為弱到中度的承諾,適度增長潛力 ;第四組為中度至強有力的承諾,弱增長潛力。 圖六顯示了這些組別的內容分佈。 限於篇幅,本文不詳細介紹所列的每一平臺工具的具體內容,感興趣的讀者可以參考文獻獲取更詳細的介紹。

圖六

圖五和圖六都顯示了最流行的平臺和資料處理方式為開源免費的Hadoop和MapReduce。 伴隨著他們的潛在成長和承諾程度,可以預見,Hadoop和MapReduce正在並會繼續推動和促進大資料的處理和應用。

在此,我們簡單介紹一下Hadoop和MapReduce的概念。 Hadoop是一種基於JAVA的分散式資料處理框架。 它可以提供對儲存在多個硬體設備上的資料進行高吞吐率的讀寫。 更重要的是,它對大資料具有高容錯性 和對並行應用程式的高可用性。 Hadoop框架結構由若干名位元組點(NameNode)和資料節點(DataNode)組成。 一份數以萬計,百萬計的大資料檔案會被分割成更小的檔區塊儲存在多個資料節點裡,可以是任何電腦硬體設備。

有關這些檔的資料屬性資料資訊稱作metadata則被存儲在名位元組點裡(NameNode). NameNode主要管理檔案系統的命名空間和用戶端對檔的訪問操作記錄。 Hadoop的框架結構如圖七:

圖七

當訪問和操作資料檔案時,用戶端會聯繫名位元組點提取檔區塊的屬性資訊比如位置,檔案名等。 然後根據這些屬性資訊,用戶端直接從相應的資料節點同時讀取資料塊。 Hadoop本身具有冗余和複製功能,保證在單個硬體儲存設備出現故障時資料仍舊能被恢復而沒有任何損失,比如每個資料節點預設擁有3個備份之類。

此外,在有新資料節點添加到框架中時,Hadoop還可以自動平衡每個資料節點的資料載有量。 同樣,名位元組點也可以擁有冗余和複製功能,用於在單個儲存資料屬性資訊的名位元組點出現故障時可以恢復相應的資料屬性資訊。

MapReduce則是一種可以用來並行處理大資料的程式設計模型。 同一程式在Hadoop的框架下可以用各種不同的語言(JAVA,Ruby,Python等)按MapReduce的程式設計模型進行編寫和運行。 其關鍵就在於三個詞: map,reduce, 和並行處理。 我們通過一個例子來理解MapReduce的大致工作原理。 比如我們有一30個字的字串「開落花纏落花繞纏開繞笑瓜夜村村舍舍瓜夜藤繞下下藤繞嬉嬉笑娃娃」,任務是計算每個字出現的次數。

最簡單的方法是按序讀取每一個字建立標識索引並計算出現的次數值存入記憶體,如果是新字,值為1,如果是出現過的字則次數值累加上去。 此種方式是按循序的方式進行的,所花的時間會隨著字串的長度和複雜度程線性增長。 當字串是以萬計百萬計時,比如基因組資料,所花的時間將是相當驚人的。 並行處理則能節約相當多的時間。

我們先把原檔分割到幾個小檔塊,然後對每個小檔塊進行字的標識索引和附加數值(這兒不進行累計,只是簡單的單次點數),然後再排序重組把相同字放在一起,然後我們再用縮減法計算出字及其相應的出現次數值。 圖八顯示了具體的例子步驟:

圖八

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.