SAS

SAS 文字分析 (16)

教學目標

初步了解 SAS 文字分析的基本應用概念。(此篇內容主要為課程心得筆記。)

重點概念

首先當我們需要進行文字分析時,主要會先將非結構化資料,透過自動化自然語言處理轉換為結構化資料,並且整合企業中既有的客戶結構化資料,以利透過統計演算法和機器學習演算法產生更準確的預測模型。而我們主要能夠透過手動設定 LITI 規則將能夠有效降低文字分析的誤分類率,SAS Visual Text Analytics 主要有提供透過專家判斷手動調整 LITI 規則,像是我們會透過 CLASSIFIER: XX 定義特定「字串」逗號用於「標準化」不同型態但相同意義的字或同義字,以及進行重要資訊的擷取,又可分為實體擷取和概念擷取,兩者差別在於概念主要是定義實體和實體之間的關聯,像是 CONCEPT_RULE: (RULE, “XX”, “_c{XX}”) 使用布林規則、距離規則,定義特定字串間的關聯 _c{XX} 用於定義需要回傳的字串 CONCEPT: XX 定義字串關聯 _w 指一段字串,或者像是 REGEX: 主要定義字之間的關聯,適用於日期、年份、電話號碼、… 等,以及 NO_BREAK: _c{XX} 主要定義不想出現的字串。

接著我們能夠在 SAS Viya 平台建置模型,我們先選擇「新增專案」,選擇類型為「文字分析」,選擇資料來源為 CAS 資料表格,按下「儲存」之後,就能夠建立專案,並且我們需要將資料來源中需要進行分析的欄位設定為「文字」。然後我們再點選「管線」,建立「文字分析: 資料存取」範本,這時新的管線中僅會有資料節點,再來我們僅需將自然語言處理節點中的文字剖析和特徵擷取節點中的主題加入至管線中,並且執行管線,我們就能夠透過演算法找出潛的主題和屬於主題的相關詞語和文章。

再來我們針對文字分析的結果需要如何進行優化,主要有三種方式,分別為增加語料庫、刪除不影響理解的贅字和調整主題演算法,像是我們針對不同產業進行文字分析時皆會有專有名詞和特定詞語,此時我們就會需要自訂語料庫,並且設定停用清單,其主要用於篩除大量使用,但是卻沒有任何價值的詞語。至於我們要如何判斷文件中的詞語是否重要,主要能夠透過詞語相關性 (TF-IDF) ,其重點概念主要為在特定文章出現很多次就會非常重要,並且我們在 SAS Visual Text Analytics 透過調整詞語密度和文件密度,就能夠縮小主題抓取範圍。

最後我們更能夠透過主題識別進行成分分析,最常見的主題模型就是 LDA,LDA 的全名為 Latent Dirichlet Allocation,其主要是表達文章概念的方式,文章是由不同主題以一定比例所組成,其中主題又由一組字詞以一定比例所組成。此時我們主要透過 LDA 主題模型將企業外部非結構化資料產生主題向量和企業內部結構化資料整合產生分析資料表 (ABT),以利透過決策樹、邏輯回歸和神經網路建立預測模型。

總結 SAS Visual Text Analytics 主要結合自然語言處理、機器學習演算法、與語言學規則,透過文字探勘出非結構化資料的價值,其特點主要有:

  1. 提供彈性整合語言學規則 (專家判斷)。
  2. 提供機器學習演算法 (深度學習)。
  3. 提供圖形化的網站操作介面。
  4. 提供超過 30 種語言的支援。
  5. 提供多種文字模型部署方式。

相關資源

SAS 文字分析 (15)

教學目標

初步了解 SAS 文字分析的基本概念。

重點概念

首先在 SAS Viya 平台中的文字分析處理程序,不論是自然語言處理、機器學習、LITI、…,主要有五大處理程序,分別為術語、概念、情緒、主題和分類,其中每個處理程序皆有對應的節點,像是術語主要是透過文字解析節點主要是從大量文字資料中自動進行提取,每個術語都有一個相關的角色,並且可以根據相似性和頻率識別和分類術語的拼寫錯誤,因為拼寫錯誤實際上是指另一個術語,所以它們在分析期間被視為同義詞,同義詞是一種提供使用者建立自定義術語,以及我們可以使用開始列表和停止列表來控制在文字解析期間保留或刪除哪些術語,解析結果還控制在主題發現中使用的術語,開始列表是一個資料集,其中包含要包含在解析結果中的術語列表,如果使用開始列表,則只有該列表中包含的術語才會出現在解析結果中,而停止列表是包含要從解析結果中排除的術語列表的資料集,我們可以使用停止列表來排除包含很少資訊或與文字探勘任務無關的術語。

接著概念節點主要是對於分析上下文中的資訊和提取有用資訊,也就是能夠讓我們使用語義屬性,實體類型,事實或關係,而我們主要使用寫入規則識別非常重要的概念,其主要是使用對於文字資訊的語言解釋 (Language Interpretation for Textual Information, LITI) 語法撰寫規則來提取文字。更進一步建立自定義概念,預定義概念主要是編寫規則的概念,至於概念擷取主要有三個步驟,分別為:

  1. 輸入文字內容:像是社群資料、新聞、電子郵件、…等。
  2. 解析概念分類內容:對應資訊和要提取文件檔的概念。
  3. 輸出結果:進行索引或輸入現有系統用於搜索和分析。

至於情緒節點要是識別在文件檔中表達的語氣或態度是正面、負面或中立的過程,其主要使用一組專有規則來識別和分析暗示情緒的術語,短語和字元串,然後根據該分析為每個文件檔分配情緒分數。

再來主題節點主要針對文件檔中出現的重要術語進行自然分組,其會自動生成主題,並且將其分配給文件檔,單個文件檔可以包含多個主題,主題的預設名稱是主題中經常出現的前五個術語,這些術語根據其權重按照降序排序。此外可以按照主題對最相關的文件檔進行排名,主題可以進一步合併或拆分,並且可以修改衍生主題以建立自定義主題。

最後分類節點主要是將具有共同特徵的一組文件檔識別為一個群組,我們主要可以使用將主題增加為類別,並且指定類別變數,當然我們也可以編輯為類別變數,以利透過自動產生的規則增加為類別主題,以及為自定義類別編寫規則。

相關資源

SAS 實驗設計 (3)

教學目標

初步了解 SAS 實驗設計中有關增量回應模型的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先我們主要會遵循科學方法根據資料來獲得很重要的準確結果,資料科學實驗可以證明某些事情是否成功,並且找出影響最有效的方法,當我們能夠衡量所採取的行動的價值時,評估模型部署就能夠進行真實的測試,並且透過提升值選擇正確的模型,以及決定如何應用模型的結果,在資料庫行銷應用中,這需要透過控制組根據各種模型評分仔細追踪客戶的回應,像是將實際結果與預期進行比較,挑戰者比較冠軍的結果,找到了適合的模型。當我們在考慮設計實驗來評估結果時,需要確保隨機選擇任何測試組並獲得相同的處理過程,透過實驗使我們可以評估識別關鍵的許多因素互動,這些實驗基於資料能夠讓資料科學家仔細控制因素,以利模擬類似實驗室環境。此外資料科學實驗室可以透過許多實驗來豐富嘗試小規模的想法,成功的實驗可以導致企業營運方式的變化,請注意也有可能會產生意外的後果,像是產品推薦產生新銷售的計劃,將會造成銷售另一種產品之淨利潤損失的後果。

接著使用傳統預測模型的直接行銷活動針對所有可能購買的客戶,這種方法都會導致他們購買的商品會浪費金錢,然而使用訓練資料集 (實驗和控制) 的增量回應模型測量增量直接影響行銷的有效性,這些模型尋找可能購買或積極回應的客戶行銷活動,此時產生的收入主要稱為增量收入。因此我們應該選擇哪些客戶進行促銷提供最大化淨利潤,行銷建模工具專注於總體回應的機率最高的預測客戶,針對增量回應建模背後的想法是比較兩者之間回應率的差異,對照組 (未應用行銷活動) 和實驗組 (應用行銷活動),其衡量所採取行動的真實效果的指標,並且在沒有行動的情況下,附加值不會意識到,而最常見的增量應用回應建模是針對性行銷活動,增量回應模型用於識別誰需要進行促銷優惠,也就是僅在促銷時預測誰將購買產品,以利透過識別正確的目標來節省行銷成本,請注意雖然我們假設存在增量回應,但是卻不知道有哪些增量客戶。

再來 SAS Enterprise Miner 中的增量回應節點具有用於變數選擇的內建工具,這個工具基於衡量資訊價值的差異,在每個潛在輸入變數的對照組和實驗組之間,稱為淨資訊價值,淨資訊價值主要測量資訊值之間控制組和實驗組的差異,因此增量回應模型變數選擇的最佳測量為淨資訊價值,其中重要的是因為增量回應建模是依靠雙重計算,計算公式為增量效應 = 實驗結果 - 控制結果,而淨資訊價值方法為直觀、易於實施和靈活,修改證據權重的概念和資訊價值。至於選擇變數表顯示按淨資訊值排名的前 50% 的輸入變數,淨資訊價值評分代表與模型回應具有最強相關性的變數是每個輸入的實驗組和對照組之間資訊值的差異變數,因此淨資訊價值主要用於對輸入變數進行排名。此外在 SAS Enterprise Miner 中使用驗證資料集,則自動使用懲罰淨資訊價值,所謂懲罰淨資訊價值 = 淨資訊價值 - 處罰,處罰訓練之間淨證據權重的差異和驗證資料,以及選擇可提高模型穩定性的變數。然而增量回應節點基於逐步回歸模型,這代表著我們可以選擇一些標準自動變數選擇技術之間向前、向後和逐步回歸,預設情況下不執行變數選擇,也就是說使用所有候選輸入變數,在回歸模型中要為模型選擇變數,請使用以下模型選擇標準提供 AIC,SBC,驗證錯誤和交叉驗證錯誤,至於針對增量模型診斷,主要在於最高十分位數的高增量率,底部十分位數應該是低增量率,並且在所有十分位數,預測和預測之間的差異觀察到的增量反應率應該很小。

最後有關增量銷售分析預設設定是從模型中為每個客戶估算預期收入,我們可以透過指定每個觀察應使用一個固定收入進行設定,並在屬性收益中指定常量收入回應,屬性成指定行銷活動的成本為每個客戶聯繫,若增量收入大於直接成本,則表示客戶有利可圖,屬性成本的預設值為 0,而若沒有回應主要是因為未觀察目標選擇的偏差,此時我們將能夠透過 Heckman 的兩階段選擇模型進行修正。

相關資源

SAS 機器學習 (8)

教學目標

初步了解 SAS Visual Data Mining and Machine Learning 產生機器學習模型的基本概念,此篇主要為學習筆記。

重點概念

首先當我們已經確認擁有足夠且適當的資料,並且將資料轉換為適合建模的形式,以及確認要包含在我們模型中的關鍵特徵,此時若要使用模型,則我們能夠使用強大的機器學習演算法來建立預測模型或發現資料中的模式。我們應該嘗試以不同的方法來識別演算法和設定演算法的選項為我們的特定應用程式產生最佳模型,至於必要建模任務,主要有五個步驟,分別為:

  1. 選擇演算法
  2. 改善模型
  3. 優化模型的複雜性
  4. 正規化和調整模型的超參數
  5. 建立整體模型

接著機器學習的模型通常難以解釋,實際上機器學習模型建立預測需要思考,若模型有用,則需要由企業組織使用以自動方式快速做出決策的運作方式,然而將資料寫入資料庫就是機器學習最困難和乏味的方面,這個過程稱為模型部署。我們通常會建立多個模型,因此首先要評估多個模型,然後比較這幾個模型並確定通常稱為冠軍的最佳模型,接著將冠軍模型部署到生產中,這個過程稱為評分,即便過了已部署模型,必須對其進行監控,然後根據要求進行更新,簡單來說模型評估主要是評估所建立模型的成效,至於必要部署任務,主要有五個步驟,分別為:

  1. 評估模型
  2. 比較模型
  3. 為冠軍模型評分
  4. 監控模型效能時間
  5. 根據需要更新模型

再來沒有模型是最好的,特別是在考慮資料在部署模型時的變化,所有模型都基於所提供的資料,資料描述了問題或分析了業務情景,當場景發生變化時,資料會發生變化,模型也會變化在預測方面降低,沒有模型是最好的,特別是隨著時間的推移,此時我們必須針對多個維度比較多個模型,分別為:

  1. 訓練速度
  2. 評分速度
  3. 部署可行性
  4. 噪音容忍度
  5. 解釋能力

此外根據業務需求評估模型能夠解釋預測非常重要,在某些業務情境中,目標可能會動態變更,因此模型需要訓練得非常快速, 在某些情況下模型需要即時評分,所以評分過程非常重要,請注意沒有通用的最佳模型,根據取決於解決問題和業務需求方面的要求選取最適合模型,而最適合模型可以來自多個模型的整合。

最後過度擬合雖然能夠精確地擬合訓練資料,但是通常會導致不良新的資料結果,預測建模目的是泛化,即預測新的資料,在相同資料上評估模型通常適合模型,導致樂觀的偏見評估,糾正樂觀偏見的最簡單策略是資料分割,其中一部分資料用於擬合模型,其餘資料用於驗證。訓練資料集用於使模型適合所提供的資料,該資料集使模型能夠實現學習輸入變數和目標之間的關係,但是過度訓練基於此資料集的模型將可能會導致模型在新的資料中表現不佳。

相關資源

SAS 機器學習 (7)

教學目標

初步了解 SAS Visual Data Mining and Machine Learning 產生機器學習模型的基本概念,此篇主要為學習筆記。

重點概念

首先許多資料探勘資料庫具有數百個用於預測目標 (相依變數或回應變數) 的潛在模型輸入 (獨立變數或解釋變數),此時在 Model Studio 中我們能夠透過變數選擇節點拒絕基於選擇結果的輸入變數來減少輸入變數的數量,並且儘管被拒絕的變數還是會被傳遞至管道中的後續節點,但這些變量不會被後繼建模節點用作模型的輸入變數。因此變數選擇節點是一個資料探勘預處理的節點,其能夠快速識別輸入變數,這對預測目標變數非常有用,然後,我們能夠透過一個建模節點更詳細地評估輸入變數的資訊。

接著變數選擇節點中的變數選取方法,主要能夠分為無監督選取和監督選取,所謂無監督選取主要是識別共同解釋最大值的輸入變數差異值,使用此方法將不會考慮目標變數,無監督選取主要透過 VARREDUCE 程序以執行無監督變數選取識別一組共同解釋最大資料量差異的變數,變數選取主要是基於協方差分析。所謂監督選取主要是識別共同解釋最大值的輸入變數目標中包含的變異量,監督選取主要透過 VARREDUCE 程序以識別一組共同的變數來執行監督變數選取的過程解釋回應變數中包含的最大變異量,監督選取主要基於 AIC , AICC 和 BIC 停止標準,值越小越好。

再來監督選取變數除了預設為快速監督選取之外,我們更能夠透過以下四種變數選取方法進行變數選取,分別為:

  1. 線性回歸選取
  2. 決策樹選取
  3. 森林選取
  4. 梯度加速選取

所謂線性回歸選取適合普通最小平方的變數選取迴歸預測模型,這對於間隔目標和二元目標有效,在一個案例中二元目標或具有用戶定義格式的二元目標,預設數字建立值為 0 或 1 的變數,然後取代目標,線性回歸選取主要指定 REGSELECT 程序以執行基於線性回歸選擇普通最小平方回歸。其提供了許多效果選擇方法,包括後向、前向、前向交換,逐步方法,以及現代 LASSO 和自適應 LASSO 方法,它還提供了廣泛的功能,可以通過各種方式自定義模型選取和停止標準,從基於計算效率的顯著性水平的標準到現代的,計算密集基於驗證的標準。所謂決策樹選取訓練決策樹預測模型剩餘平方和主要是用於計算每個預測變數的變數重要性,以及相對變數的重要性,我們能夠定的門檻值用於選擇最有用的預測變數。決策樹取取主要使用 TREESPLIT 程序以基於 CHAID 執行決策樹選擇,卡方,熵,基尼,資訊增益比,F 檢定和變異目標標準,其產生了一個分類樹,模擬分類回應或回歸樹,模擬持續的反應,不論哪一種樹皆稱為決策樹,因為模型是表達為系列 IF-THEN 語句。所謂森林選取透過擬合多個決策樹來訓練森林預測模型,剩餘對每個預測變數計算平方和變數重要性,對所有預測變量求平均值樹和指定的相對變數重要性門檻值用於選擇最多有用的預測變量,樹系選取主要用於建立預測的 FOREST 程序,其由多個決策樹組成的模型。至於梯度增強選取透過擬合一組梯度來訓練梯度增強預測模型決策樹,針對每個預測值計算殘差平方和變數重要性,變數在所有樹中的平均,以及我們相對變數重要性門檻值主要用於選取最有用的預測變數,梯度加速選取主要指定 GRADBOOST 程序用於建立由多個決策樹組成的預測模型。

最後我們在 Model Studio 中從訓練建立訓練樣本和驗證樣本資料,以利用於評估變數選取,我們能夠選擇所有上述方法進行變數選取,但這可能會導致處理時間長,具體取決於所使用的資料和分散式平行處理的環境。此外除了變數選取能夠減少輸入變數,我們更能夠透過變數分群減少輸入變數,特別是許多輸入變數皆是冗餘,冗餘的輸入變數可能會降低分析,像是破壞參數估計的穩定性、增加過度擬合的風險、混淆解釋性、增加計算時間、增加資料收集和擴充的成本、…等。變數分群主要分為不相交或分層的群組,不同群組中的變數是有條件的獨立給予本身的群組,對於包含多個變數的群組,選擇對該群組中的變化貢獻最大的變數作為代表變數,而所有其它變數都被拒絕,所以我們能夠透過變數分群找到最佳變數分析,並且消除了共線性,減少了冗餘,有助於揭示底層資料集中輸入變數的結構,有效減少變數數量。

相關資源