Microsoft Azure

資料分析 Customer Churn Models (1)

教學目標

初步了解如何透過 Microsoft Azure Machine Learning 雲端服務進行客戶流失分析的評估實驗和部署應用。

重點概念

首先企業中經常會需要管理客戶流失的有效策略,因為吸引新客戶的成本高於留住現有客戶的成本,電信、零售和金融產業皆使用客戶流失模型開發更好的產品、服務和體驗,以利帶來更高的客戶留存率。然而我們要如何建立客戶流失模型呢?此時我們若透過 Microsoft Azure Machine Learning 雲端服務就能夠在最短時間內以最有效率的方式評估模型的成效。

接著流失模型能夠讓企業預測哪些客戶最有可能流失,並且理解導致流失可能的原因,其中以分類演算法比較常被使用,同時在 Microsoft Azure Machine Learning 中提供各式各樣的分類演算法,包括決策森林、邏輯回歸、類神經網路、… 等。然而在建立流失模型之前,我們必須了解應用於訓練和測試流失模型的資料集,主要有五大事項,分別為:

  1. 了解每個資料集中有哪些基本資訊。
  2. 了解是否需要透過資料集產生更有意義的衍生資訊。
  3. 了解資料集中的資料如何進行分佈。
  4. 了解資料集中每個欄位類型是數值型還是類別型。
  5. 了解資料集中每個欄位的遺失值數。

再來傳統解決方主要是預測流失傾向較高的客戶,透過行銷活動和特別待遇滿足他們的需求,不同產業和不同消費群眾之間會有不同作法,但是共同點皆是必須將額外客戶維繫工作量到降至最低,因此常見作法為以流失機率來評分每位客戶,然後針對對於公司最有利潤的前幾名客戶進行處理,此時考量不僅是處理客戶流失的整體策略,而是需要考慮相關的風險容忍度、決度程度、合理成本、客戶區隔、…等因素,解決客戶流失問題時常用的問題解決模型,主要有:

  1. 建立風險模型,需要考量採用方案將會如何影響客戶流失機率和風險。
  2. 建立決策模型,需要考量決策程度將會如何影響客戶流失機率和客戶終身價值。
  3. 建立區隔模型,需要考量不同客戶區隔提供最佳的行銷活動方案。

此外風險、決策和區隔模型是個循環能夠適用於解決許多商業問題,客戶流失分析只是其中一種明顯的案例,因為此案例能夠指出複雜商業問題的所有特徵,同時這種問題無法以簡單的預測方案來解決。

最後當我們了解應用於訓練和測試流失模型的資料集和解決客戶流失問題時常用的問題解決模型,我們就能夠開始透過 Microsoft Azure Machine Learning Studio 雲端服務建立客戶流失分析的相關模型,主要有五個步驟,分別為:

  1. 準備和了解資料。
  2. 前置處理資料和特徵選擇。
  3. 建立應用於預測客戶流失分析相關的模型。
  4. 評估不同模型的成效。
  5. 部署模型至正式環境。

總結我們可以透過 Microsoft Azure Machine Learning 雲端服務建立客戶流失分析的相關模型,以利進行客戶流失分析的評估實驗和部署應用,至於在企業最常使用 SAS Enterprise Miner 工具建立分析模型,然而在「使用 Azure Machine Learning 分析客戶流失」這篇官方文章中則比較使用 Machine Learning Studio 建立模型和使用 SAS Enterprise Miner 12.1 桌上型版本建立模型,比較結果為雖然 Machine Learning Studio 比 SAS Enterprise Miner 12.1 桌上型版本建立模型快 15% ~ 25%,但是正確性大致相等,僅供參考,此外針對大數據進行客戶流失分析時建議採用雲端服務的解決方案。

相關資源

資料科學 Microsoft Azure (1)

教學目標

初步了解如何透過 Microsoft Azure 雲端服務相關的資料科學之概念與應用。

重點概念

分析類別

首先在「Predictive Analytics with Microsoft Azure Machine Learning」書籍中提到 Gartner 針對所有分析分為四個類別,分別為:

  1. 描述性分析:主要回答發生了什麼事?應用於描述統計、資料分群和商業智慧。
  2. 診斷性分析:主要回答為什麼發生?應用於商業智慧、內容分析和實驗設計。
  3. 預測性分析:主要回答將來會發生什麼?應用於邏輯回歸和機器學習。
  4. 規範性分析:主要回答我們該做些什麼?應用於蒙地卡羅模擬法和線性程式優化。

其中規範性分析主要會推薦最佳的方法優化業務結果,一般來說規範性分析主要會結合預測性分析和業務規則,像是詐欺可能性超過門檻值就拒絕交易、最佳的投資組合、最佳的貨品運送路徑、…等情境應用皆是屬於規範性分析。然而從描述性分析到規定性分析,分析的複雜性逐漸增加,同時針對客戶進行分析時,我們會建立許多不同的客戶模型,像是客戶流失模型預測客戶流失的可能性、客戶區隔模型根據市場行銷目的將客戶放至不同的行為細分類別、客戶傾向模型預測客戶消費傾向對應適當的行銷方案。

接著現今熱門的聊天機器人技術應用是否也能夠應用上述四種分析方式進行實作,像是 Microsoft Azure Bot Service 機器人服務搭配辨識、知識、語言、語音和搜尋的 Microsoft Azure Cognitive Services 認知服務,應該要能夠解決企業問題,此外聊天機器人若是回答發生了什麼事就是描述式分析,若是回答為什麼發生就是診斷性分析,若是回答將來會發生什麼就是預測性分析,若是回答我們該做些什麼就是規範性分析。若不採用機器學習的技術則僅是進行描述式分析和診斷性分析,但若採用機器學習的技術則就會是進和規範性分析。
行預測性分析

分析階段

再來資料科學專案進行分析的流程主要有五個階段,分別為:

  1. 定義業務問題。
  2. 獲取和準備資料。
  3. 開發模型。
  4. 部署模型。
  5. 監視模型成效。

所謂定義業務問題的階段對於我們執行資料科學專案非常重要,因為若沒有定義正確的業務問題,就有可能會耗費數週或數月建構複雜的模型解決錯誤的問題。有關資料科學的專案應該提供正確的洞察,以利進行更明智的商業決策,因此分析理應符合商業的目標,而不應該盲目的使用,此時我們可以透過一些咨詢技術與框架協助業務關係人確定商業目標和範圍。

所謂獲取和準備資料的階段我們主要會耗費 75% 至 80% 的時間, 但卻是後續建模把原始資料較成優質資源的重要步驟,避免垃圾進垃圾出的問題發生。在此階段將會從資料庫、客戶關係管理系統、日誌文件檔案、…等來源系統取得原始資料,接著透過 ETL 流程確保正確的資料以正確的格式轉換出來。一但我們取得正確的資料時,將會為了建模進行分析和準備,包括處理遺漏值、離群值和資料轉換,通常若一個變數超過 40% 的遺漏值就不適合使用,因為會導至統計資料存在很大偏差,除非遺漏值代表關鍵資訊,若要使用則我們可以採用平均值和中間值取代遺失值,但若應用於預測模型的建置將會影響預測的結果。此外針對變數我們會透過相關性分析、主成分分析和因素分析了解變數之間的關係,以及透過特徵選擇標識出模型使用的正確變數。

分析演算法

所謂開發模型的階段我們主要會根據業務問題和資料決定適用於建模的演算法,演算法主要可以分為:

  1. 分類:主要將人事物歸類至多個類別的群組中,同時二元分類也廣泛應用於預測,常用演算法為邏輯回歸。
  2. 分群:主要將資料歸類至多個未知的群組中,同時分群經常應用於行銷活動中找出目標群眾,常用演算法為 K 平均值。
  3. 回歸:主要將預測數值輸出的回應變數,其目標是從一組測變數預測結果,常用演算法為決策樹。
  4. 模擬:主要將現實世界中不同行業的流程進行建模和優化,常用演算法為蒙地卡羅模擬法。
  5. 內容分析:主要將文字、圖片和影片分析出洞察資訊,透過統計和語言分析理解文字所代表的意義,常用演算法為文字探勘。
  6. 推薦引擎:主要將根據客戶喜好推薦產品,主要有二大演算法,分別為協同過濾和購物籃分析。

所謂部署模型的階段我們主要會將模型部署至正式環境中,以利協助客戶推動真正的商業決策,在大多數情況下會根據客戶環境以多種不同方式進行部署和整合決策管理平台,因此部署模型需要實作資料轉換和預測演算法。

所謂監視模型成效的階段我們主要會監視在正式環境驗證好的模型,以利確保如期運作,這非常重要因為任何資料驅動的模型隨著各種不同的原因其模型的準確性將會下降,因此我們要能夠透過密切監視正式環境的模型,即時發現準確率下降,此時我們將會重建模型。至於模型要多久重建一次,主要會根據不同的業務領域會有不同的頻率,在穩定業務環境通常每年一次,而在動動業務環境通常每月、每周或每日一次。

機器學習服務

最後 Microsoft Azure Machine Learning Service 機器學習服務主要是讓資料科學家和開發者能夠使用預測分析將資料轉換成洞察,同時透過 Microsoft Mahine Learning Studio 工具能夠讓資料科學家和開發者快速構建、測試、開發和應用最新的機器學習演算法之預測模型,其中主要有五個步驟,分別為:

  1. 導入來源資料。
  2. 資料預先處理。
  3. 特徵工程和資料標籤。
  4. 訓練、評分和評估模型。
  5. 比較和選擇模型。
  6. 儲存訓練之後的模型。
  7. 建立預測實驗。
  8. 部署發佈 Web 服務。

總結 Microsoft Azure 提供了機器人服務、認知服務和機器學習服務,將有助於資料科學家與開發者能夠使用預測分析將資料轉換成洞察,同時以機器人服務搭配認知服務解決我們的日常生活中各式各樣的問題,試想目前邁手一支手機不離身,在未來幾年內每個人只需拿起手機對著機器人服務說出任何問題,就能夠透過認知服務識別問題代表的意義,再藉由機器學習服務提供客製最佳化的解決方案供我們進行參考,以利採取行動。

相關資源

雲端服務 Microsoft Azure (2)

基本介紹

教學目標

初步了解如何透過 Micorsoft Azure 進行多通路行銷的應用服務架構。

重點概念

網路層

您的 App 行銷客戶將會來自於全世界各地,此時可以透過 「Azure 流量管理員」 進行負載平衡和分散流量的應用之外,若存取的資料為靜態內容時,更可以透過「Azure CDN」進行自動存取最接近的網路節點取得相關內容,最後針對機敏資料的存取,可以透過「Azure Active Directory」認證身份和授權資源的應用,目前支援 Active Directory、Microsoft、Facebook、Twitter、Google 等帳號的身份驗證。

服務層

行動 App 開發可以透過 「Azure行動服務」 可以解決開發行動 App 時所需要的伺服器服務,像是資料同步、身份驗證和 API 基本服務,此外針對跨平台的 App 開發,也可以透過「Azure 網站和應用程式」快速開發網站,以及 API 進階服務。當然除了文字和圖片之外,提供影音直播串流是最能吸引使用者下載 App 的意願,此時可以透過 「Azure 媒體服務」 完成串流應用,同時支援所有平台裝置的影音編碼格式。最後行動 App 最實用的功能就是推播通知,此時更可以透過 「Azure 通知中樞」 完成推播應用,同時支援所有平台裝置的推播通知註冊與應用。

資料層

針對行動 App 所需的非結構化的靜態內容,可以透過 「Azure 儲存體」 進行不同型態的檔案儲存,接著行動 App 就能夠透過專屬的網址進行存取相關內容,當然針對有關聯結構的資料,更可以透過「Azure 資料庫」進行管理,直接提供 HA 架構,以及根據不同的價格方案也能提供完整的備份及還原服務但是往往資料庫存取會有效態上的瓶頸問題,此時透過 「Azure 快取」 就能夠有效的提升資料存取的效能。最後每當使用者操作任何行動 App 時就會產生許多使用者記錄,此時龐大的記錄量可以透過 「Azure HDInsight」 進行儲存,之外再搭配 Apache Hadoop 相關的技術架構進行資料分析。

Architecture blueprint for Multichannel marketing application. (Microsoft Azure)

相關資源

雲端服務 Push Notification (1)

基本介紹

教學目標

了解各家雲端公司所提供推播服務的功能與費率,以及自建推播通知的服務需要處理的項目。

重點概念

免費方案

雲端公司 Facebook IBM Microsoft Amazon
推播服務 Parse Push Push for Bluemix Azure Notification Hubs Simple Notification Service
每月推播則數 100 萬 100 萬 100 萬 100 萬
每次推播則數 N/A N/A 10 萬 N/A

管理功能

雲端公司 Facebook IBM Microsoft Amazon
推播服務 Parse Push Push for Bluemix Azure Notification Hubs Simple Notification Service
群組功能 有 ( 頻道 ) 有 ( 標籤 ) 有 ( 標籤 ) 有 ( 主題 )
進階條件 N/A N/A N/A
排程推播管理 N/A 有 ( $200 / 月 ) N/A
註冊查詢 N/A 有 ( $200 / 月 )
A/B 測試 N/A N/A 有 ( A/B 測試服務 )

超額付費

雲端公司 Facebook IBM Microsoft Amazon
推播服務 Parse Push Push for Bluemix Azure Notification Hubs Simple Notification Service
萬則推播計價 $0.5 $0.2 $0.01 $0.005

(註: 以上相關資料截至 2014 年 10 月。)

自建服務

自建推播通知的服務需要處理的項目。

  1. 儲存裝置推播識別碼的服務。
  2. 排程推播條件篩選管理的服務。
  3. 提供推播訊息至對應推播伺服器的服務。
    (註: 篩選目標裝置進行即時推播將會是效能處理最主要的瓶頸。)

至於推播服務架構規劃可以參考 「Orchestrating iOS Push Notifications on Google Cloud Platform」 文章。

相關資源

雲端服務 Microsoft Azure (1)

基本介紹

教學目標

初步了解如何透過 Micorsoft Azure 機器學習的雲端服務,進行電影推薦實驗。

使用教學

建立專案

  1. 開啟 Microsoft Azure 機器學習官方網站 ,按下「立即開始使用」按鈕。
  2. 點選「 + NEW」按鈕,接著搜尋「Recommender」關鍵字。
  3. 選擇「Movie Recommender - Development」 建立新專案。

了解流程

  • Movie Ratings (Saved Datasets)
    電影評分資訊,某個人 (UserId) 在何時 (Timestamp) 針對某部電影 (MovieId) 進行評分 (Rating) 。
  • Project Column (Data Transformation - Manipulation)
    主要進行資料的轉換,將資料中的時間的資訊排除。
  • Split (Data Transformation - Sample and Split)
    主要進行資料的轉換,將資料特定比例當成機器學習的訓練樣本資料。
  • Train Matchbox Recommender (Machine Learning - Train)
    透過訓練樣本資料以 Matchbox 演算法產生推薦結果。
  • Score Matchbox Recommender (Machine Learning - Score)
    以 Matchbox 演算法產生預測分數進行評估。
  • Evaluate Recommender (Machine Learning - Evalute)
    進行推薦演算法的評估。

進行實驗

了解流程的運作之後,接著在下方點選「RUN」按鈕,就能進行實驗,最後只要點擊在每個流程的下方圓點點選「Visualize」即可查看每個流程產出的結果。

Microsoft Azure - Mechine Learning Sample

相關資源