[數據解析實驗室]大數據的第零步: 建立目前已經擁有數據之間的關聯性

從Amazon透過長尾理論方法發展推薦系統,解決冷門商品銷售,到Google Analysis 產出的企業及網路分析,社交上的六度分隔理論等等,而這一切具效率的產品,似乎都源自於「大數據」。

透過數據分析統計,找到隱含中有價值的部分,建立一個商業模型的基礎理論,進而發展、修正產品,這樣的過程,在某一個時間點突然被「大數據」取代,過往熟悉的「統計分析」在當前似乎都被大數據「一言以概之」涵蓋,「大數據」變成琅琅上口的詞彙,但實務使用大數據的之前,必須先做好一些基本工作包括了對「數據」正確的基本分析處理。

大數據的誕生

以目前主流的電腦比較,Intel® Core™ i3-6100T Processor (3M Cache, 3.20 GHz),基本上低階的桌上型電腦 應該都具備4G以上的記憶體,更遑論獨立顯卡GPU高速運算能力,SSD或是T級以上大容量高速儲存設備。而這些硬體的變化,代表的是人們可以輕易進行一定規模以上的數據運算,除了可以儲存的更多並且更快。而當這些硬體環境變化,代表人類對數位資訊分析、流通、儲存,將可以加速、加大、持久性的儲存。

網路世界的實現,更加強了資訊的流通,所有的產業,試圖在自己的領域中,搜集所有資訊紀錄,進行分析找出數據中的價值。簡言之,「大數據」的出現,是硬體環境建立後的,必然結果。用科普的角度看待「大數據」,基本可以從「一種容易建立且具有強大分析運算的硬體環境」當作理解的出發點,進而開始想像大數據應用。

大數據被定義成三個向度:數量(Volume)、搜集分析速度(Velocity)與多樣性(Variety),這正是與過往「數據」明顯不同的地方,而硬體環境的快速進步、行動裝置及4G網路環境底下,任何企業都可以輕易地實現「搜集各種數據滿足大數據3V」。搜集處理大型數據門檻,在IaaS,SaaS, PaaS聚合服務底下,任何人都可以輕易地實現對大量數據的搜集分析處理。

儲存的容量不再是問題,我們透過例如像 AWS S3,RDS 所謂IaaS的服務,可以將資料幾乎無限放入一個硬體環境中,進行長久存儲和即時搜尋,透過GA這樣的SaaS服務,大量的數據被高速運算後有序整理成報表,這些過去被視為「數據處理高門檻」,都一一被打破。

這一切看起來似乎是那樣美好,大數據得以被輕易儲存,分析處理;但真實使用大數據之前,似乎無法找到一個好的定位出發,要如何開始使用大數據!?已有的資料和大數據的關係是什麼!?

「大數據」起點是理解自身原有的數據關聯,利用現有數據產生關連模型去擴展數據的應用能力!

暫時脫離「大數據」這個虛幻的名詞,回歸單純的議題「要儲存哪些數據,分析哪些數據,應用哪些數據」。

過往,我們處理數據上透過各種統計分析方法,去理解評估數據模型意義。相對於「大數據」其中的差異性僅在於,我們更貪婪的搜集數據進行存放,當數據搜集量越大,我們也相對會面臨「髒數據」(聚集各種型態的數據)、「稀疏數據」(網路使用行為上,大部分的使用者只瀏覽不給予評分)..等等的問題,這時候「數據演算法」重要性開始凸顯出來,這世界出現一種被稱為「資料科學家」的職務,透過「數據演算法」進行「清洗數據」,並在「巨大稀疏數據」中找到有價值的模型。

大數據的第零步 建立目前已經擁有數據之間的關聯性

我們透過一組數據例子,說明大數據應用怎樣從零開始並「定位」問題,找到答案。

過往企劃產品過程,通常利用關聯式資料庫中的資料,透過SQL語法從中挑選features,找出特定條件的使用者,進行TA分析行銷。這樣的過程中,經常發生的問題是,我們心中有一個很明確的目標,但卻不知道如何用數據準確的描述這一個目標。

以化妝品產業為例,常見的分析手法是將使用者網站行為、使用產品回饋、使用者品牌喜好等,經過搜集儲存於資料庫中,透過SQL的語法,(舉例 找出年齡在30~40歲間,有肌膚乾燥,喜愛特定品牌….議題的使用者抽出,當作一個資料集。)抽出後產生特定資料集。但這樣的做法往往造成的問題是,使用者特徵過度擬和,資料集數量偏少(當然有時也會有偏多的現象),當然還有其他的議題,例如資料集的多樣性不足等問題。透過這樣資料集產出的產品(例如EDM發送),常見問題有「推送個人化資訊」失真的狀況發生,且準確性,精準度拿捏,完全在於「人工的技巧及感受」,無法量化數據集產出的價值。

應用上我們可以歸納成一個議題「如何解決數據搜集後的清洗及產出」,而我們可以將此議題視為「大數據」的濫觴。

透過以下的場景應用為例,以簡單的「數據處理方法」來說明「數據」形成「大數據」的過程和「大數據的建模方法」。

定義問題 :尋找TA時,我們心中有一個很明確的目標,並且能用數據描述這一個目標族群

「大數據」定義為一種工具,用來結合已有的數據並提供解決問題的方法,在上述的應用場景中,實務上需要找的是類似的人,而不是「一模一樣條件的人」,也就是在一個特定的觀察角度,將所有使用者彼此的關聯性計算出來,連結所有的使用者建立一種「圖論」。去識別使用者,預測使用者行為,描述使用者行為,並使產品產出最大價值。


圖論 : 特定角度,觀察產品使用者,找出彼此關聯並且進行量化,協助使用者更快獲得相關結果

以下的例子是一個經常看到篩選使用者的過程,我們基於某一特定產品找出使用者群

我們設定一個題目 『利用 使用者在化妝品上關注的課題,建立使用者彼此間的關聯。找出關心的相同議題,來建立社交推薦基礎。』

希望透過使用者對課題的關注,將使用者彼此建立關係

下圖中每row 表示一個使用者,每column 表示一個使用者關心的議題

我們將上圖資料集轉換成一個矩陣(0:表示對該課題 ‘無興趣’,1:表示對該課題’有興趣‘)

利用一個簡單的算法進行說明,我們如何在特定商品中找出使用者及使用者之間的關聯,也就是在「特定商品-使用者關心課題」數據中聚合產生使用者相似度。(當然在實際應用上要解決這樣的問題不會是單一個算法就可以解決的。)

在計算任兩使用者的相似度前,需將使用者關注課題表達成向量的形式,亦即將使用者填寫所有的專注課題都視為一個個的向量維度,以該課題的權重為該維度的值,組合而成一向量,代表該使用者,在本例中我們僅先以{1:有;0:無}舉例說明,並無特別加上特徵權重,使用者i表達課題向量Di=(wi1, wi2, …, win),使用者j表達成Dj=(wj1, wj2, …, wjn),
則此兩使用者的餘絃相似度計算公式為:

FROM HTTPS://ZH.WIKIPEDIA.ORG/WIKI/餘弦相似性

餘弦相似性通過測量兩個向量的夾角的餘弦值來度量它們之間的相似性。0度角的餘弦值是1,而其他任何角度的餘弦值都不大於1;並且其最小值是-1。從而兩個向量之間的角度的餘弦值確定兩個向量是否大致指向相同的方向。兩個向量有相同的指向時,餘弦相似度的值為1;兩個向量夾角為90°時,餘弦相似度的值為0;兩個向量指向完全相反的方向時,餘弦相似度的值為-1。這結果是與向量的長度無關的,僅僅與向量的指向方向相關。餘弦相似度通常用於正空間,因此給出的值為0到1之間。

如此我們將所有使用者向量化後,可以計算使用者基於課題的相似度。

透過計算使用者餘弦相似度

我們可以得到使用者和任一使用者對於課題關注上的相似度

有別於現在利用SQL語法,挑選features,找出特定條件的使用者 ,我們可以透過計算「關注課題相似度」,量化擴大reach TA量化指標。

在完成相似度計算後,我們已經將每個使用者基於「課題」,建立出彼此的關係(相似度),換言之,我們在「舊有的數據」中產生了一組「新的數據關連」,並且解決了「Reach的TA數 指標量化」的問題。後續又可基於現有資料庫中產品的特性,建立「產品-產品的關聯性」,再將「產品與使用者之間的關連性」再進行結合,形成一個更高維度的「產品-使用者」的「圖論」,連結所有的產品和使用者。

最後我們在這一段先做一個簡單的總結。「應用大數據」並非一個過程去等待「數據搜集的結果」,透過現有的數據經過「數據清洗」,形成許多新型態的「數據集」重新聚合產生關聯,而這一階段的工作,我們稱之為「大數據第零步」。

Published by

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s