| 揚聲器 |
文字稿 |
| 克萊·巴克 |
謝謝,我叫克萊‧巴克,是JMP團隊的統計開發人員。今天要介紹的是JMP Pro 16版本的新功能,叫做項目選擇。這個功能是我和我的同事帕里斯·費森和歐內斯特·帕蘇爾一起開發的。 |
| |
因此,文字資料在實踐中變得越來越普遍。我們可能擁有客戶對我們產品的評價,也可能擁有某些事件的描述或我們某些設備的維護日誌。 |
| |
在這個例子中,在我的幻燈片上,這是來自… |
| |
飛機事故…我們樣本資料中的事故資料集。 |
| |
每一行數據都描述了一起航空公司事故、墜機或其他類型的故障。 |
| |
如果您從未使用過文字瀏覽器平台,它是在 JMP 13 中引入的,我們主要使用它來幫助匯總和分析文字資料。 |
| |
因此,它可以輕鬆完成一些常見任務,例如查看出現頻率最高的字詞和短語,也可以輕鬆執行諸如文件聚類或主題分析等操作。而這一切都由所謂的文檔詞項矩陣所驅動。 |
| |
那麼,什麼是文檔詞項矩陣呢?最簡單的理解方式是,它就是一個指示變數矩陣,用來表示每個文件是否包含特定的字詞或片語。 |
| |
我們可以根據詞語在每篇文檔中出現的頻率來賦予其權重。因此,每篇文檔都對應文檔詞項矩陣中的一行,每一列代表一個詞語。 |
| |
舉個簡單的例子,第一行是「披薩包裝令人沮喪」。所以我們用 1 代表包裝, |
| |
一行中,「pizza」(披薩)和「frustrating」(令人沮喪的)都賦值為 1,其他所有字詞都賦值為 0。同樣地,第二行中,「smell」(氣味)、「great」(很棒)、「taste」(味道)和「pizza」(披薩)都賦值為 1,其他字詞都賦值為 0。這只是對每份文件中出現的字詞的簡單概括。 |
| |
我還提到過,文檔詞項矩陣有幾種變體。最簡單的是二進位形式;它只包含 0 和 1。 |
| |
但我們可能希望包含每個單字出現頻率的訊息,所以這裡是另一個稍長的句子,其中「pizza」出現了多次。 |
| |
在二元文檔詞項矩陣中,「披薩」這一列的值仍然是 1,因為我們不關心它出現的頻率。而對於三元詞項矩陣,它的值為 2,因為三元詞項矩陣由 0、1 和 2 組成。如果該詞未出現,則值為 0;如果出現一次,則值為 1;如果出現多次,則值為 2。 |
| |
即使某個字在這裡出現了四次,我們仍然將其編碼為 2。詞頻的計算非常簡單,就是每個字在該文件中出現的次數。 |
| |
以上是三種非常簡單的加權方法,我們還提供 TF-IDF 加權,它有點像相對頻率,您可以在[此處插入連結]了解更多關於這些加權方案的資訊。 |
| |
文字瀏覽器平台。 |
| |
那麼下一步是什麼?接下來你可能想用什麼? |
| |
你或許想利用這些文字來幫助你達成某些目標。所以,我在這裡編造了一些家具評論,每條評論都配有星級評分,對吧? |
| |
所以我們可以認為,這些評論能給我們一些線索,讓我們了解為什麼有人會給產品高分或低分。例如,在第一條評論中,用戶寫道“說明書令人沮喪”,而他只給了我們3分。如果…如果這種情況經常發生,而且很多人都在評價… |
| |
許多低評分都與說明書有關,這可能表明我們需要改進家具附帶的說明書。 |
| |
所以,簡單來說,就是把這些數據當作迴歸模型。我們將…我們將使用文檔詞項矩陣, |
| |
我們將把它和我們的回應資訊結合起來,然後進行迴歸分析。 |
| |
這將有助於我們了解顧客為什麼喜歡或不喜歡我們的家具,或我們生產的任何產品。 |
| |
它可以幫助我們對物體進行分類,根據描述,我們稍後會看到一些例子,或者我們可能想根據一些機器的維護記錄來了解為什麼有些機器會發生故障或不會發生故障。 |
| |
我們實現這個目標的方法非常簡單。 |
| |
我們實際上只是在建立一個迴歸模型,其中每個 X(或預測變數)都是項矩陣中的一列。因此,如果我們對產品評分進行建模,那就是一個簡單的線性迴歸;如果我們… |
| |
如果我們對一個二元結果進行建模,例如客戶是否會推薦我們的產品。 |
| |
可能長達數百字,不全部使用也是合理的。並非所有資料都有用,因此我們將對迴歸模型應用變數選擇技術,從而得到一個更簡單、易於解釋且擬合良好的模型。 |
| |
在底部,很容易就能將這些指標變數與我們的回應評分(星級評分)結合起來進行視覺化。 |
| |
因此,我們將在 JMP 16 中提供的解決方案是將迴歸模型引入文字瀏覽器平台。如果您曾經使用過通用迴歸平台進行變數選擇,那麼我們實際上是將該平台嵌入到文字瀏覽器中。 |
| |
因此,如果您擁有 JMP 專業版,您將在文字瀏覽器的紅色三角形選單中看到術語選擇項目。 |
| |
這正是我們真正感到興奮的地方。它使得建立和改進這類迴歸模型變得輕鬆快速。 |
| |
所以,當您啟動這個平台時,我們稍後會進行一些演示,但先簡單介紹一下, |
| |
在發布之初,它只是詢問我們對此的反應以及我們想要採用的模式類型。 |
| |
因此,它既可以處理連續回應(例如星級評分),也可以在指定連續回應時提供篩選器,以便您可以根據回應篩選出某些行。 |
| |
當回應列為名目變數時,我們需要選擇目標水準。例如,在本例中,您會推薦我們的產品嗎?是或否。我們將對…進行建模。 |
| |
我們將對推薦數量進行建模。 |
| |
如果回應級別為多級,例如藍色、綠色、黃色,我們將選擇要建模的級別,稍後我們將看到一個例子。 |
| |
然後,在您指定回應之後,我們將向平台提供一些關於我們想要擬合的模型類型的信息。 |
| |
那麼,在進行變數選擇時,我們是要使用彈性網路還是 Lasso?這兩種方法都是廣義迴歸中內建的變數選擇技術。我們又該如何進行驗證呢?是使用 AIC 還是 BIC? |
| |
此外,我們還可以指定文檔詞項矩陣的詳細資訊。我們可以選擇權重,也可以選擇要考慮的最大詞項數量。例如,如果我們想考慮出現頻率最高的 200 個字,現在就設定為 200。 |
| |
那麼,當你啟動程式並點擊運行按鈕後會發生什麼事?基本上,它會執行所有操作。 |
| |
你需要做的就是這個。它會在後台正確設定數據,這樣你就不用擔心了。它會進行變數選擇,所以我們現在有了一個我們認為對預測反應有用的詞語子集,並且它會以簡單易懂的方式呈現結果。 |
| |
解讀報告需要一些時間,而且它具有很強的互動性,我們稍後會看到。以前可以透過以下方式完成這項工作: |
| |
將文件詞項矩陣儲存到您的資料集中,自行啟動通用迴歸平台, |
| |
但你現在不必再那樣做了。現在選擇就這麼多了。 |
| |
那麼,在模型規格中,我們如何知道該選擇什麼? |
| |
可用的估計方法有彈性網路法和套索迴歸法。記住這兩種方法區別的簡單方法是: |
| |
彈性網路傾向於選擇相關的預測變數組。因此,在這種情況下,當我們的預測變數都是單字時, |
| |
這意味著它會傾向於選擇那些經常一起出現的詞組。例如,如果你想到「instruction」(說明)和「manual」(手冊), |
| |
由於說明書中的詞語經常同時出現,這兩個預測因子會高度相關,彈性網絡模型很可能會同時選擇它們,而套索回歸模型則可能選擇“說明書”或“手冊”,但不一定會同時選擇兩者。 |
| |
驗證方法有 AIC 和 BIC。 |
| |
因此,一般來說,AIC 傾向於過度選擇模型,而 BIC 傾向於選擇不足。所以在我們的規範中, |
| |
只是 AIC 傾向於選擇更大的詞集,而 BIC 傾向於選擇較小的詞集。 |
| |
就我個人而言,我傾向於在設定中經常使用 AIC,因為我寧願多用一些詞語也不願用太少的詞語,但這真的只是個人偏好問題。 |
| |
文件用語權重… |
| |
我指的是文檔詞項矩陣權重。 |
| |
這真的取決於你的問題。比如在這個例子中, |
| |
評論中多次出現「油漆」一詞。這可能意味著評論者非常… |
| |
這位評論者認為油漆非常重要,這可能對我們的回歸模型有意義,因此我們希望使用頻率之類的權重而不是二元權重。 |
| |
所以,一旦你啟動了術語選擇,最終就會進入類似這樣的介面,我們這裡有 |
| |
左側是所有文件的摘要,右側是我們選擇的所有字詞。我現在先略過這部分;等我們開始示範的時候再看會更清楚。 |
| |
我們認為另一個非常有用的功能是摘要,您可以使用術語選擇來擬合一系列模型,然後所有模型都會匯總在頂部,您可以來回切換查看。我們稍後會看到這一點。 |
| |
那我們來看看這個平台。 |
| |
首先,我們來看這個。 |
| |
JMP 範例資料資料夾中的飛機事故資料集。 |
| |
所以表格中的每一行都代表一起事故。我們知道飛機受損程度、人員傷亡情況,以及事故描述。最後一列是對事故經過的詳細描述。 |
| |
所以我們將啟動文字瀏覽器,如果您以前從未使用過文字瀏覽器,左側顯示的是最常用的術語,右側顯示的是最常用的短語,也就是詞組。 |
| |
所以我們希望用這些字來理解 |
| |
是什麼導致碰撞造成更大的損失,或是更嚴重的傷亡?所以我們要點選紅色三角形選單,選擇相關術語。 |
| |
現在我們看到了剛才看到的這次發射,我想了解更多關於損傷的信息,對吧?特別是,我想區分飛機被摧毀和受損較輕的情況,所以我們要選擇被摧毀的目標等級。 |
| |
我還要提一下,這種提前停止的功能其實是一種節省時間的功能。 |
| |
當我們進行變數選擇時,對於更大的問題來說,這可能會非常耗時。如果您選取此複選框,它會顯示類似這樣的意思: |
| |
我們認為我們的模型已經夠好了;我們決定提前結束。除非我知道有更大的問題,否則我通常不會勾選這個選項。 |
| |
所以,我就用 Elastic Net 和 AIC 來代替,然後我們開始運行。 |
| |
現在後台正在做的是,它創建了我需要用來擬合這個迴歸模型的數據,並在後台擬合迴歸模型,現在我有了總結結果。所以每個 |
| |
左側面板匯總了所有文件,這是第一起飛機事故,這是第二起,目前是空白的。 |
| |
第一個事故是,飛機撞上了跑道邊的雪堆。 |
| |
我們已經將所有重要的詞語突出顯示,藍色詞語的係數為負,橙色詞語的係數為正。 |
| |
如果我們對單字感興趣,可以查看右側的面板。我通常喜歡按係數排序,所以您可以直接點擊頂部按鈕。 |
| |
因此,在這種情況下,係數為負的單字被銷毀的可能性較小。所以如果 |
| |
文件中包含「著陸」一詞,如果飛機已經到達著陸點,那很可能不是什麼嚴重的事故。因此,這些情況發生的可能性較小。 |
| |
被摧毀。另一方面,我們也可以看看最正面的詞彙,這些詞彙與飛機被摧毀的事件連結最為緊密。 |
| |
而這些字詞包括「火災」、「目擊者」。如果他們正在採訪目擊者來描述事件經過,那很可能意味著當時在飛機上的乘客無法接受採訪。 |
| |
所以,火、雷達、旋轉、夜晚,這些都是與…密切相關的字。 |
| |
被摧毀。 |
| |
現在,我們可能也對受傷程度感興趣,具體來說,我們將關注最嚴重的受傷程度。 |
| |
我們將再次進行學期選擇。 |
| |
為了簡單起見,我就接受這個結果吧。 |
| |
所以現在我們可以做同樣的事情,但現在關注的是傷病程度。 |
| |
所以,如果受訪對象包括機長或著陸人員,那麼就傷情程度而言,這些傷勢可能並不嚴重。 |
| |
但如果再次提到雷達、夜晚、山脈,這些字眼就嚴肅得多。所以我們可以快速地在這兩種回答之間來回切換,看看哪些字詞能夠預測這兩種答案。 |
| |
受傷程度和損失程度。 |
| |
那我們來看另一個例子。 |
| |
這是我非常喜歡的一點。之前我舉例子裡提到了披薩,現在我們要聊聊啤酒。顯然,這些都是我非常喜愛的東西。 |
| |
所以我這裡有的是…我根據一些啤酒評論下載了每種啤酒風格的描述。 |
| |
身體. |
| |
所以每款啤酒都有描述。 |
| |
上面還寫著啤酒的產地。所以我們有… |
| |
美國、德國、愛爾蘭。 |
| |
使用術語選擇功能查看 |