SAS

SAS 文字分析 (13)

教學目標

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

重點概念

首先在許多行業的商業環境中文字分析的應用非常受歡迎,像是我們能夠使用社交媒體的文字資料應用於預防犯罪和詐欺偵測,其中文字分析包含用於從非結構化資料中獲取洞察力的工具和技術。而典型的資料探勘預測問題主要是以數字形式處理資料,但是文字資料通常僅以可讀的文件檔形式提供,其內容可以是電子郵件、客戶評論、公司報告、新聞文章、網頁、…等。而文字探勘會先嘗試獲得文件檔的定量表示,一旦文字被轉換成一組數字,足夠獲取文字資料中的模式,任何傳統的統計或預測模型或資料探勘演算法皆可以用於產生洞察或預測建模。

接著常見的文字探勘專案主要涉及以下任務:

  1. 資料收集:任何文字探勘研究專案的第一步是收集分析所需的文字資料。
  2. 文字解析:解析文字主要使用自然語言處理從文件檔中提取、清理和建立單詞詞典,其中包括識別句子,確定詞性和詞幹,以及涉及解析提取的單詞以識別實體、刪除停用詞和拼寫檢查,此外從文檔中提取單詞之外,還檢索與文本相關聯的變數。
  3. 文字過濾:過濾文字主要在數千個文件檔的語料庫中,可能會有許多與區分文件檔或總結文件檔無關的術語,此時我們必須手動瀏覽術語才能消除不相關的術語,這通常是所有文字探勘步驟中最耗時和主觀的任務之一,因為其需要相當的相關主題或領域專業知識。
  4. 文字轉換:轉換文字主要使用基於線性代數的方法處理文字的數字表示,像是潛在語義分析、潛在語義索引和向量空間模型,其中矩陣的維度由文件檔數量和集合中的術語數量決定,該步驟主要使用奇異值分解逐個文件檔矩陣的降維。
  5. 文字探勘:探勘文字主要涉及應用傳統的資料探勘演算法,像是分群、分類、關聯分析和連接分析,此外文字探勘是一個迭代過程,也就是文字過濾 -> 文字轉換 -> 文字探勘,其涉及使用不同的設定進行重複分析,包括或排除術語以獲得更好的結果。

再來文字探勘專案的資料收集步驟很大程度取決於業務問題,這涉及回答以下簡單問題:

  1. 該專案需要哪些資料?電子郵件、客戶評論、公司報告、新聞文章、網頁、…等。
  2. 資料在哪裡?資料庫、資料倉儲、網頁、…等。
  3. 資料如何提供? PDF 檔案,XML 檔案,Word 檔案,Excel 檔案,網頁、…等。
  4. 資料何時應收集 (非靜態資料)? 在特定事件之前或之後,來自維基百科或部落格的資料需經常更新。

當確定了解決當前問題所需的資料,下一個挑戰就是收集資料,並且將其轉換為 SAS 文字分析能夠進行處理的格式,此時我們很可能在專案中遇到以下任何一種情況:

  1. 資料隨時可用作 SAS 資料集。
  2. 資料在資料庫中以檔案提供。
  3. 需要從網際網路上收集資料。

請注意在 SAS 中進行文字探勘的過程中要求資料作為 SAS 資料集提供,並不代表著來源資料必須以 SAS 資料集的格式存在,若是 SAS 資料集,則我們可以直接建立資料來源進行文字探勘,若不是 SAS 資料集,則來源資料必須轉換為 SAS 資料集,有多種方法可以使用 SAS 資料存取功能從資料庫中可用的資料建立 SAS 資料集,我們可以使用 SAS Enterprise Guide 導入資料或 SAS Enterprise Miner 中的檔案匯入節點輕鬆將常用格式檔案件,像是 CSV 檔案或 Excel 檔案,以及 SAS Text Miner 更能夠從目錄或網頁上的文字檔案動態建立 SAS 資料集,主要是是使用文字匯入節點。該節點需要包含所有來源檔案、目標目錄的來源目錄以儲存所有已轉換的檔案,SAS Text Miner 會瀏覽來源目錄,從該目錄中的檔案中提取文字,並在目標目錄中創建純文字檔案,文字轉換中會省略 SAS Text Miner 無法讀取的任何形式的源文件,以及若每個檔案中的字符數超過 32,000,則檔案將被截斷。此外若從網頁收集來源資料,則該節點將在提取過程之前對網站進行爬蟲,檢索文件並將其放入來源目錄中。

最後在許多情況下,我們可能需要將這些不同形式的文字資料組合起來進行文字探勘,此時 SAS Enterprise Miner 和 SAS Text Miner 具有易於使用的功能,可以從這些檔案導入資料,並且準備 SAS 資料集,此外 SAS 中強大的網頁爬蟲功能可透過文字匯入節點使用,從而可以更輕鬆地檢索網頁上可用的資料,而 SAS中的每個資料導入任務都可以透過使用者界面或撰寫 SAS 程式碼執行,同時我們更能夠使用 Perl 的正則表達式可以獲得更多文字處理功能,以利分析師能夠透過資料提取,合併和轉換獲取無數功能,這些功能通常在開始文字探勘分析之前執行。

相關資源

SAS 優化研究 (2)

教學目標

初步了解 SAS 優化研究的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先我們可以透過優化改善決策過程,分別為:

  1. 結構性 (Structure):了解決策的動機。
  2. 一致性 (Consistency):推動所有決策目標。
  3. 可重複性 (Repeatability):隨著時間推移以相同方式做出決策。
  4. 適應性 (Adaptability):更新且保持相同的原則。
  5. 持久性 (Persistence):與個人經驗無關。
  6. 可擴展性 (Scalability):解決更大且複雜的問題。

接著數學優化的分類問題,主要能夠分為四種類型,請參考下表。

所有連續變數 一些整數變數 所有整數變數
線性函數 線性規劃 (LP) 混合整數線性規劃 (MILP) 整數線性規劃 (ILP)
非線性函數 非線性規劃 (NLP)

至於解決數學優化問題就是代表著找到最佳解或確定數學優化問題沒有最佳解。

再來線性規劃的條件限制在多個維度下決定了可行區域,若滿足所有條件約束,則解決方案是可行的,像是下述線性程序有決策變數 X 和 Y,而可行區域的維度由限制中包含的決策變數的數量確定,因此下述線性規劃為二個維度,此外線性規劃問題將具有有限數量的極值點解,但是兩個最佳解之間的任何點也將是最佳的,因此也可能是獨特、無限或沒有最佳解。

線性規劃問題範例

1
2
3
4
5
maximize 15x + 20y
subject to x + 4y <= 220
x + y <= 120
3x + 5y <= 360
x >= 0, y >= 0

最後極端點是可行區域的角落,最佳解是一種可行的解決方案,可以是最大化或最小化的目標函數,若有可行的解決方案,則總有一個極值點最佳解任何解決方案,若沒有可行的解決方案,則我們會認為線性規劃問題是不可行的,像是若限制條件 3x + 5y <= 360 被限制 3x + 5y >= 360 代替,則問題是不可行的,若目標可以任意大或在最小化,則線性規劃問題是無限的。

相關資源

SAS 優化研究 (1)

教學目標

初步了解 SAS 優化研究的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先優化是作業研究,工業工程與管理所組成的科學,其是選擇產生最佳效果的可用操作之過程結果。而數學優化主要有三個階段,分別為:

  1. 描述分析 (Descriptive):發生了什麼?
  2. 預測分析 (Predictive):將會發生什麼?
  3. 指示分析 (Prescriptive):應該怎麼做?

接著優化的業務案例,主要有:

  1. 計劃生產:確定應生產幾種可能的產品組合中的哪一種實現最高利潤。
  2. 設施位置:找到與該位置相關的最佳站點,像是新工廠,材料供應商和配送中心。
  3. 投資組合選擇:最大化投資回報率,同時平衡回報與風險。
  4. 人員分配:使人員符合工作要求,以便滿足當前需求和預期的變化,取決於預算和人力資源要求。
  5. 供應鏈計劃:找到將產品從工廠轉移到配送中心的最低成本方式到商店,併計劃可能的中斷或擴展。
  6. 促銷營銷:確定促銷優惠,投放渠道的最佳組合,和客戶最大化營銷投資的整體回報。
  7. 供應商選擇和評估:選擇要處理的供應商滿意要求和最大化槓桿,使用各種標準對供應商進行評級。
  8. 庫存補貨:重新訂購級別和最大庫存水平,以滿足要求客戶服務目標和最小化成本。
  9. 定價決策:根據成本和區域需求建立並維持最佳日常價格模式和有競爭力的價格資訊。

再來從 SAS 資料集中讀取集合和參數值,並將模型輸出寫入 SAS 資料集是 OPTMODEL 程序應用優化分析的重要部分,其中 SOLVE 語句導致數學優化模型從宣告建立陳述並解決,其產生包含最佳目標值的解決方案摘要和解決時間。

1
2
3
4
5
6
proc optmodel;
/* 宣告集合 (Sets) 和參數 (Parameters) */
/* 宣告模型元素 (Elements) */
solve;
/* 輸出摘要統計 */
quit;

最後優化建模處理流程主要為定義業務問題代表著做出必要的假設和近似將其表示為理想地在合理的時間內解決之優化模型,若無法在業務問題的上下文中解釋優化問題的最佳解決方案,模型就有可能必須進行修改,所以我們針對商業問題會透過公式產生優化模型,產生解決方案以利解釋商業問題,同時再度修改優化模型。

相關資源

SAS 實驗設計 (2)

教學目標

初步了解 SAS 實驗設計的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先實驗設計涉及十個屬性,分別為:

  1. 回應 (Response):回應主要是依變數或目標變數在預測建模中這被稱為目標,選擇適當的回應用於特定目的進行實驗,在分析實驗中收集的資料時,可以使用多個回應變數。
  2. 因子 (Factor):因子主要是一個潛在的獨立變數,回應測量變化來源,因子是可由我們控制的特定的屬性之一。
  3. 因子水平 (Factor Level):因子水平主要是因子的特定值或設定,因為一個因素在研究者的控制之下,所以可以選擇和使用在實驗中不同的值或水平。
  4. 影響 (Effect):效果主要是測量關係因子水平和回應指標之間的變化,其主要是因子不同水平回應值的差異。
  5. 權力 (Power):權力主要是我們檢測效果的機率。
  6. 實驗單位 (Experimental Unit):實驗單位主要是最小可以應用治療的單位。
  7. 治療 (Treatment):治療主要是所有因素的組合,每個因素在一個層面和典型的營銷背景下,一個治療方法構成一個獨特的優惠。
  8. 正交 (Orthogonality):正交主要是至少有代數解釋、幾何解釋和統計解釋三種方式來考慮重要性
  9. 複本 (Replication):複本主要是發生於當多個實驗單位接受同樣的治療,因此實驗設計需要針對個別因素進行複本。
  10. 平衡 (Balance):平衡主要確保了因子治療的正交性,雖然有可能不平衡的設計是正交的,所有平衡因子設計都是正交的。

其中治療是所有因素的組合,每個因素在一個層面,若我們會有三個因素 (Factors),每個因素分為兩個層次 (Levels),則會有八種可能的治療方法 (Treatments)。適當的實驗單元取決於實驗的目的,實驗通常針對個人或家庭,網站實驗單位,實驗設計通常是存取,因為識別回訪者的問題使其變得困難或不可能識別個人。儘管考慮什麼是有幫助的,為了獲得足夠的資訊,應該為我們的實驗提供適當數量的觀察結果檢測因素的影響,諮詢統計專家可以幫助進行這些計算。

接著通常與實驗設計相關的另外兩個術語是區塊 (Blocks) 和協同變異 (Covariates),所謂區塊是實驗單元組,在某種程度上通常是同質的,其代表干擾變異,像是地區、學校和公司,所謂協同變異是實驗單位的特徵,被測量但是不能分配或強加的在他們之上,其代表干擾變異,像是年齡,性別和收入。此外有時會處理區塊和協同變異可以互換,並且區別並不總是很清楚,區塊通常是分類的,可以被認為是作為一組實驗單位,區塊通常是在模型中用作隨機效應,而協同變異可以是連續的或分類的個別實驗單位的特徵,協同變異是被測量實驗單位的特徵,但不能分配或強加的在他們之上,阻止限制隨機化,協同變異可以是連續的或分類的固定預測變數。

再來根據觀點和技術,效率對不同的人代表著不同的知識,在這種情況下,效率由與成本相關的大量資訊代表實驗,但是資訊量可以有不同的含義和成本實驗可能意味著不同的事情,無論一個人的觀點如何,效率越高越好,若分子增加或分母減少,或兩者都有效,則可以提高效率。像是市場行銷執行副總裁可能會考慮測試項目的數量和總的財務成本,統計學家可能會將資訊量量化為誤差範圍估計的影響,較小的誤差範圍意味著更多的資訊,財務成本的主要驅動力是總樣本量,效率被定義為按總樣本量測試的項目數量。

最後資料科學家使用不同類型的實驗回答問題,其中最常見的實驗類型就是 A / B 測試,所謂 A / B 測試,或稱冠軍挑戰者測試其是非常簡單的設計,常用於網站設計和電子商務。在這些設計中有許多不同的因素,隨機分配為實驗中進行不同特徵的因子設計的效果比較許多替代方案,直到挑選出最適合的冠軍方案,與任何設計一樣 A/B 測試也有缺點,其最關心的是我們不能確定冠軍的哪個特徵 (與挑戰者或挑戰者相比),使其更受歡迎,這使得很難將發現推廣到其他設計專案,但是在快速市場反應電子商務的測試環境,能夠針對每一個新問題都不需要更複雜的實驗設計而獲得經驗客戶偏好的速度。

相關資源

SAS 實驗設計 (1)

教學目標

初步了解 SAS 實驗設計的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先統計模型可以回答問題,正如在擬合模型在設計實驗時理解主題領域非常重要,資料科學家可以回答很多問題,主要包括:

  1. 我們是否擁有執行分析的資料,並且回答這個問題?
  2. 我們是否考慮了控制中,並且無法控制變數的類型?

而我們的問題是否代表著需要進行比較?或者我們有做過實驗嗎?所謂實驗主要是了解某項事情進行一系列的科學測試行動和仔細觀察其影響,以作為測試完成的事情,並且了解我們要做的事情有多好或有多糟糕。此外實驗與觀察資料不同,我們可以從中得出的結論類型。

接著相關並不代表著因果關係,透過實驗使我們能夠識別因果驅動因素,與預測建模相比,實驗的優勢是回答了因果關係的問題。我們更聰明的工作和進行實驗,為了得出關於一個變數是否影響另一個變數的因果推斷,有必要使用一個實驗。此外我們還需要考慮下下問題,分別為:

  1. 我們想回答的問題是什麼?
  2. 我們想要答案之母體是多少?
  3. 我們想要比較什麼類型的東西是可以控制嗎?
  4. 我們如何衡量結果?
  5. 我們無法控制影響的衡量結果有哪些?

請注意在分析結果實驗時,若使用滋擾變數進行建模將會有可能增加誤差變異,而大量樣本、隨機分配樣本和因素之間的相互作用通常會減少誤差變異。

再來我們會啟用小規模部署實驗,實驗主要是在受控制的條件下進行的系統程序或控制以發現未知的效果影響,並且在分析業務流程時,實驗是通常用於評估哪些輸入對輸出有重大影響,以及這些輸入應該是為了達到預期的效果。我們能夠透過許多不同的方式設計實驗來收集此資訊,應該對許多業務決策進行事實檢查評估是否有預期的後果,小規模測試許多可能的情境使我們能夠比較哪個是最有利可圖,成功的小規模實驗將使其變得更容易向利益相關者傳達價值,並且實驗回答因果關係的問題。

最後實驗設計涉及多個屬性,我們可以透過推論母體、母體實驗單位和感興趣回應變數定義來設置實驗的屬性,此外我們還必須做到確定實驗中將使用哪些因子和因子水平,指定對將要做出的決策有意義的效果的大小以及指定檢測有意義效果的能力。至於我們必須決定使用哪種方法 (因子和水平的組合),每次所需的複製次數,重要的平衡和正交性實驗設計的整體效率以及我們經常要在資源限制內獲得最多資訊妥協選擇。

相關資源