| 揚聲器 |
文字稿 |
| 傑夫·珀金森 |
在談到JMP功能開發時,我們的下一位演講嘉賓John Sall對如何確定優先順序有著獨到的見解。我們確實需要對功能進行優先排序… |
| |
我們想投資哪些功能?那麼,我們要如何判斷哪些功能最重要呢?那些能增強產品功能的功能才是我們該努力的方向嗎? |
| |
那麼,增加一些使其更具吸引力或更性感的功能,或者增加一些專注於緩解疼痛、減輕分析負擔的功能呢? |
| |
約翰認為,緩解疼痛應該是我們研發團隊的主要動力。約翰是SAS的共同創辦人,也是JMP的首席架構師,JMP是他30多年前創立的。 |
| |
對於擁有數據並需要一種方法來探索數據的科學家和工程師來說,他們需要一種在桌面上輕鬆進行視覺化探索的方法。 |
| |
他將談到JMP開發的驅動力,以及我們如何發現並著手開發想要的功能。那麼,約翰,我謹代表JMP歡迎你。謝謝。 |
| 約翰·霍爾 |
謝謝你,傑夫。我們現在正在北卡羅來納州卡里市新建的數位會議中心進行現場直播,這裡可以容納更多的人。 |
| |
那麼,我們就把燈光調暗一點吧。 |
| |
其實我不在視訊會議中心,我其實在家。所以我有一個家庭辦公室。哎呀,不是那個。 |
| |
和大家一樣,我也是在家主持這場會議。不過,我們先切換到企業背景,然後開始吧。 |
| |
那我該聊些什麼呢? |
| |
嗯,JMP 發布新版本的時候,如果大會聯盟也配合 JMP 的新版本發布,那我們就會討論新版本。但隔年,我總是會選擇一個主題。例如,有一年我選了“大型統計”,有一年選了“幽靈數據”,還有一年選了“隱藏功能”。 |
| |
兩年前。今天我的主題是字母A開頭的長字。 |
| |
嗯,這些字詞概括了JMP開發的主題。那麼,讓我分享一下我的螢幕。 |
| |
和 |
| |
最小化 |
| |
這裡。分享。 |
| |
那麼,哪個主題最重要呢?以下是三個以字母 A 開頭的單字…這些單字都很長,以字母 A 開頭。 |
| |
正如傑夫剛才提到的,首先是合成代謝。合成代謝的作用就是促進肌肉生長,進而增強JMP的效力。 |
| |
合成代謝過程建構器官和組織,這些過程促進細胞生長和分化,從而增加身體體積。 |
| |
因此,提升 JMP 的功能將是一個契機,當然非常重要,但接下來… |
| |
它具有催情作用,讓JMP更性感、更刺激,充滿探索的快感。所以我們也希望這成為它的一個特點。 |
| |
但我們也關心您在工作流程中的進展,所以止痛藥是第三個詞,意思是緩解疼痛。 |
| |
緩解疼痛。 |
| |
所以我希望大家能表達類似以下這些虛構的引言:「版本 15 剛剛幫了我大忙……節省了我以前需要辛勤工作數小時甚至數天的時間!」這真是大大減輕了我的痛苦。 |
| |
或者,「我以前必須一個一個地做,現在一次性就能搞定!」真是省了不少事。或者,“我以前必須用好幾個工具才能完成所有工作,現在用 JMP 就能搞定一切!” |
| |
或者,“我向同事們展示了我是如何輕鬆完成的,他們都驚呆了!”或者,“我以前必須手動編寫所有這些程序,現在只需點擊幾下滑鼠就搞定了!” |
| |
或者「JMP 讓我保持專注,讓我能夠專注於分析數據,而不是過多地分散注意力到操作細節上。」這正是我們想要聽到的緩解痛苦的表達。 |
| |
為什麼呢?因為痛苦和挫折感會嚴重打擊積極性。心流狀態至關重要。進入心流狀態時,你不會分心。在心流狀態下,你更有可能從數據中學習並有所發現。 |
| |
賦能固然重要,但新功能往往只有少數人使用,而舊功能則被很多人使用。因此,我們希望讓舊功能更好地發揮作用。 |
| |
為了減少使用過程中的痛苦。當然,生產力很大程度取決於我們工具在時間利用上的效率。因此,如果我們能夠讓使用者更輕鬆、更快速地獲得結果,那將是巨大的勝利。接下來,讓我們來看一些例子。 |
| |
首先是資料表自帶的腳本。這裡並排顯示的是早期 JMP 版本的一個範例。我記得是 JMP 14 或 13 版本。 |
| |
以前你需要按住滑鼠鍵點擊這個按鈕,然後會彈出一個選單項,然後你才能找到執行按鈕來執行該腳本。 |
| |
但新方法在腳本旁邊直接加入了一個播放按鈕。你只需點擊該播放按鈕,就無需下拉選單了。 |
| |
嗯,這算不上什麼巨大的進步,你可能會覺得點擊按鈕和下拉式選單之間的差異並不大。但對新用戶來說,這卻是一大進步,因為新用戶不再需要理解… |
| |
熱鍵下方會有一條提示訊息。但腳本旁邊就是播放按鈕。這樣就能更理解這些是腳本。 |
| |
在 JMP 中,能夠將腳本與資料一起儲存是一項非常重要的功能,我們希望使用者能夠立即掌握這項功能。 |
| |
這樣就不用到處翻找或查看提示來了解它的運作方式了。而且能夠儲存所有腳本也非常方便。 |
| |
數據表本身就儲存了這些數據,沒有其他地方可以儲存。這樣,對於新用戶來說,播放按鈕就很容易被忽略。光是這個簡單的改動就減輕了不少用戶的痛苦。 |
| |
我們很遺憾沒有在 JMP 中更早做出這樣的改變。 |
| |
我們來談談數據準備。資料準備過程中最重要的事情之一就是將來自多個資料來源的資料整合起來。 |
| |
JMP 從第一個版本開始就必須具備連接實用程式的功能。但這仍然涉及複雜的對話和處理多個數據表。 |
| |
這裡有一個經典的例子,我出租電影,我們有電影租賃交易表。 |
| |
其中包含客戶資訊、商品編號、訂單日期、訂單年份,以及我們的電影租賃庫存,包括每部電影的詳細資訊。然後是客戶資訊…客戶資訊等等。我們想提出一些問題,需要用到所有這三個表,例如: |
| |
哪些性別在哪些類型的電影中占主導地位?嗯,這涉及到 |
| |
需要遍歷所有三個表,當然,使用連接命令是最佳方法。我取得交易數據,然後我 |
| |
將其與客戶資訊合併。當然,客戶 ID 就是匹配項。 |
| |
我想把一列資料也包含進去,並且我想把交易端的不匹配項也包含進去。這樣,即使我沒有客戶數據,也不會遺失交易數據。這叫做左外連接,這樣就建立了一個新的資料表。現在,我想把這個數據表連接到… |
| |
到庫存數據。所以我按物料編號連接,然後進行匹配,我還想進行左外連接,現在我有了 |
| |
又多了一張表。所以現在,我不再只有三張表,而是有五張表,這是連結的結果。但現在我可以用類型來回答性別問題了。 |
| |
不同性別的人租看哪一種類型的電影比較多? |
| |
而且還涉及到創建所有這些新的中間數據表。 |
| |
原來還有更簡單的方法,可以大幅減少這些額外步驟和表格帶來的麻煩。所以,讓我撤銷這張表格。 |
| |
我想指出的是,在「表格」命令下,有一個名為「JMP 查詢產生器」的命令,它會開啟 Sequel 功能。 |
| |
對於連接表來說,這比所有那些連接對話方塊都要容易得多,但它仍然會建立一個新的資料表。 |
| |
但就在幾個版本前,我們推出了更出色的功能,可以進一步減少痛苦,那就是虛擬連結。所以,如果我查看這個事務表, |
| |
我注意到它已經加入了。 |
| |
所以,當我準備電影庫存表時,每部電影都透過項目編號進行唯一標識。所以我給每部電影分配一個項目編號。 |
| |
連結 ID 表示它是唯一標識的,這就是我為該表建立索引的方式。類似地,我有一個專案 ID 來識別客戶資料。當我準備交易資料時,這兩個 ID 在某種意義上是外鍵。 |
| |
這是一個連結引用,它透過它們之間的標識 ID 引用不同的資料表。因此,它會自動鏈接,我已經有了回答這個問題所需的一切資訊。所以我可以這樣做。 |
| |
對於每個 |
| |
性別,我可以 |
| |
找到我想拍的電影類型。然後我發現,動作片更受男性歡迎,而家庭電影更受女性歡迎。 |
| |
rom.com 上更多是女性用戶等等。所以我已經回答了涉及三個表的問題,而無需遍歷所有連接,因為透過匹配表中的 ID 列,它們實際上已經連接起來了。 |
| |
所以我做了 |
| |
這樣可以大大緩解疼痛。所以,我們還是就此打住吧。 |
| |
所以我認為,數據表連接在各個版本中都帶來了很多痛點。 |
| |
錄製, |
| |
這是我們準備資料集時主要做的另一件事。 |
| |
很多版本以前,我們開始進行非常簡單的重新編碼,當時我們只設定了一個欄位用於儲存舊值和新值,新值的初始值與舊值相同,然後我可以剪下、貼上或編輯這些值來進行重新編碼。 |
| |
新增到新列或現有列。 |
| |
Recode 的每個版本都經歷了顯著的改進,我們對目前的狀況感到非常興奮。現在讓我們來看看這個醫院資料集,特別是地區醫院的資料集。現在 Recode 的表現非常出色… |
| |
在列標題中點選右鍵或右鍵選單。然後我可以逐一操作。 |
| |
選擇一堆事物,並將它們分組為新的值,例如診所。 |
| |
但我認為也有很多捷徑。我最喜歡的捷徑之一是… |
| |
將相似的值分組。因此,我可以設定一個字元差異數量的閾值等等,它會自動將所有這些分組。例如,它會將所有拼字略有不同的地區醫院歸為一組。 |
| |
我仍然可以… |
| |
好像漏掉了一個。不過沒關係,我現在可以把它和其他的歸為一組了。 |
| |
所有鄉村醫院都已按配對自動分組,看起來我這裡還能再配對到一家。 |
| |
現在突然之間,我有了成果。我省去了重新編碼的大量精力。 |
| |
當然,JMP 15 也增加了一些新功能,這裡我就不一一展示了,但我想提一下。如果您有另一個包含所有資料的資料集, |
| |
……證明了……對於這些類別,我可以進行匹配,並在找到與所有這些事物都匹配的名稱時,選擇最接近的匹配項。 |
| |
因此,Recode 在各個版本中經歷了多次迭代改進,以減少操作上的繁瑣。當然,想想看,我們花在準備資料的時間和分析資料的時間相比,究竟哪個比較多? |
| |
通常,我們70%到90%的時間都花在了資料準備上。因此,減少這項工作的繁瑣程度和耗時,就成了巨大的勝利。所以,減輕資料輸入的痛苦至關重要。 |
| |
點擊數值。這裡是 |
| |
城市資料集。 |
| |
假設我在查看某些數據的細節時,例如某個數據可能是異常值,我想更詳細地了解它。那我可以把它轉換成一個連結。所以,我們… |
| |
我們把它轉換成維基媒體頁面之類的東西。我要把那段文字複製到那裡,然後轉到“列訊息”部分,再把它轉換成鏈接,也就是表達式處理程序。 |
| |
現在我可以拿 |
| |
這 |
| |
表格並將其轉換為網頁 |
| |
地址。所以 |
| |
我打算去wikipedia.org,然後… |
| |
將該城市名稱更改為首字母大寫,然後我可以在該行上進行測試,結果顯示為奧爾巴尼。 |
| |
所以現在我要說… |
| |
哦,好的。 |
| |
現在我可以點擊任何城市,然後查看該城市的維基百科條目。或者,它也可以將其轉換為地圖座標。所以我可以…我們複製這段文本,然後轉到“訊息”列,現在,我將不再顯示之前的內容,而是… |
| |
標題要用大寫字母。 |
| |
讓我們來看看解析是否正常。現在我可以點擊丹佛,它會查詢丹佛和谷歌地圖上的信息。 |
| |
好的,我已經把一些操作做成了連結……我可以進行搜索,可以提交地圖請求等等。我甚至可以 |
| |
把這段程式碼貼進去,然後點擊它,它就會讀出城市的名字。我認為這賦予了我們在資料表中儲存連結的強大功能。 |
| |
無論是連結到網頁或執行其他操作,任何可以用存取控制清單 (ACL) 表達的功能,都可以用這些事件處理程序來實現。這可以大大減少很多麻煩。 |
| |
我最喜歡的緩解疼痛技巧之一就是批次處理,也就是按住 Command 鍵或 Control 鍵進行多次重複操作,這樣就能進行許多類似的分析。好的, |
| |
這不僅適用於選單命令,還適用於許多按鈕、調整圖錶框架大小以及執行其他操作、將內容貼到圖表中等等。 |
| |
那我們來看一個例子。我們點擊…或直接對所有這些列進行分佈計算。 |
| |
假設我想擺脫 |
| |
這是箱線圖。 |
| |
如果我一直按住 |
| |
對於該選單項,我會移除該項目的箱線圖。但我想要移除所有選單項目的箱型圖。所以我要按住 Command 鍵,取消勾選箱線圖,現在所有這些選單項目的箱型圖都已取消勾選。現在我可以取消勾選分位數了。 |
| |
它將取消所有檢查,因為它已接收該命令並向該視窗中的所有活動物件廣播,對於理解該命令的活動物件(例如,分位數命令),它將服從該命令。 |
| |
現在,即使是一些與彈出對話框相關的功能,此方法也適用。那麼,我們來看看統計摘要。我按住命令鍵,自訂一下統計摘要。 |
| |
假設我不需要信賴區間,但需要缺失值的數量。我會說,好的,它會將此應用於所有… |
| |
所有的一切。為了做到這一點,它必須 |
| |
將對話結果整理成腳本,然後將該腳本廣播到該視窗中的所有其他位置。 |
| |
這種情況並非總是發生。有時,每次分析都會收到提示。我們每次發布都會嘗試這樣做。 |
| |
為了實現更多細節,對話會在廣播之前完成,這樣就能將相同的對話廣播到所有可用的地方。當然,我還可以廣播其他所有更改,例如更改所有這些項目的大小,或者我可以廣播 |
| |
更改背景顏色,我可以將所有圖表的背景顏色都更改為橙色。 |
| |
這似乎與該幀框相關。因此,這種廣播方式成為了非常強大的工具。 |
| |
所以, |
| |
這為我們大多數人省去了很多痛苦,但仍然有一些情況,例如今年早些時候出現了 40,000 個分組,他想對所有 40,000 個分組進行反向預測,這會提示你 40,000 次。 |
| |
這個問題將在版本 16 中修復。這對那位用戶來說無疑是個好消息。 |
| |
正在保存公式列。 |
| |
我喜歡公式列。當你擬合模型時,可以儲存一列預測結果。但在這個預測結果中,有一個即時公式,因此你可以查看該公式,可以修改它,可以將其應用於新傳入的資料。你可以對其進行分析,以便保存公式。 |
| |
如果你有 |
| |
使用 JMP Pro,您可以存取公式庫並執行許多其他操作。您可以從中產生程式碼等等。因此,保存公式的功能非常重要,但有時 |
| |
例如,如果按組保存公式,保存公式就會有很多額外的微妙之處。 |
| |
例如,我們來擬合一下,這是糖尿病數據,我們在這裡擬合反應變數。 |
| |
針對所有這些預測因素,我們希望分別針對每個性別進行分析。 |
| |
那我們就這麼做吧。 |
| |
因此,我們依性別一和性別二分為兩組。現在假設我們想要保存 |
| |
事實上,這兩者都是預測值。現在 |
| |
過去,我們曾嘗試過許多止痛方法, |
| |
儲存後,資料會儲存到本機資料表中。在「重做」功能表下的資料表視窗中,可以看到按群組劃分的表格。 |
| |
所以,對於 gender=1,這個虛擬資料表中有 235 筆記錄,你可以顯示 gender=1 的資料。這裡有一個表格變量,顯示了按組別劃分的數據。 |
| |
它會將資料保存到這個臨時表中,而不是保存到你實際保存的表中。 |
| |
但 |
| |
之前您儲存預測公式時,我們會將其儲存到實際資料表中。我看一下,我剛剛儲存了 gender=1 的資料。 |
| |
如果我查看該公式,它顯示如果 gender=1(即按群組劃分的子句),則它具有該變數的線性組合,從而形成預測。 |
| |
然後,如果我輸入 gender=2,或按住命令鍵來廣播預測公式,現在它就包含了這兩個值,我就可以同時使用 gender 1 和 gender 2 這兩個子句。所以它每次都會按組向輸出添加一個子句。 |
| |
順便說一下,儲存其他內容時也會發生同樣的情況,例如我儲存一列殘差時,這次我們按住命令鍵。 |
| |
如果我保存一列殘差,它會按組保存每個殘差,並保存與該組對應的殘差。這就像從原始回應中減去預測公式一樣,但這次不是公式列。 |
| |
在 JMP 中,我們幾乎在所有地方都這樣做了(雖然並非所有地方都如此),並將檔案儲存到不同的群組。 |
| |
或者在某些情況下,透過 WHERE 子句,它會將結果儲存到原始資料表中,並滿足 if 語句中的條件。好的,就是這樣。 |
| |
省了不少事。如果沒有這個功能,資料就會保存在一個臨時表中,然後你就得把公式複製貼上到原始表中,然後再建立條件語句。所以我們解決了這些問題。現在假設我又保存了一遍,重新走了一遍流程, |
| |
和 |
| |
然後又做了另一件事,比如說使用不同的變量,其中一些變量被移除, |
| |
然後又保存了一遍。 |
| |
所以, |
| |
當我保存預測公式時,這次按住了廣播鍵,但它實際上創建了一個新的公式,而不是保存到舊的公式中,並在新公式後面加了一個2。那麼,它怎麼知道不要保存到舊的公式中呢? |
| |
嗯,每次擬合都有一個 ID。如果我查看屬性 |
| |
透過 ID,它有一個編號,這是一個每次擬合都會重新產生的唯一編號,因此只要它具有不同的 ID, |
| |
不同的分組將與一個分區具有相同的 ID。但只要分組 ID 相同,它們就會保存到同一個位置。否則,它將創建一個新的位置來保存它。 |
| |
此外,每當我們提到預測值時, |
| |
尤其是預測公式, |
| |
它會建立一個屬性,其中包含創建者資訊,在某些情況下還會包含其他資訊。在本例中,它包含目標變數 y(即預測變數),以及擬合最小平方法的創建者資訊。 |
| |
然後,當你使用其他平台(例如 JMP Pro)進行模型比較時,該模型比較工具就能辨識出哪些預測值對應哪些創作者,以及目標受眾。因此,它可以追蹤所有這些信息,從而為這些增值平台帶來更多價值。 |
| |
所以, |
| |
公式列的工作原理是新增子句,並使用其他屬性,包括按 ID 排序。 |
| |
如果將預測子句儲存為分類變量,它會保存一系列變量,其中包含每個回應等級的機率,以及所有元資料和所需資訊。這應該可以省去很多麻煩。 |
| |
所以, |
| |
從模型中移除效果。 |
| |
好,我們來看一個例子。 |
| |
合身 |
| |
身高體重剛好適合。 |
| |
好,這裡有一個高次多項式的例子。這是一個七次多項式。 |
| |
比 |
| |
六次多項式等等。但你會相信這種擬合嗎? |
| |
結果表明,如果透過引入高階多項式項或增加變數來賦予模型更大的靈活性,就能提供更多擬合的機會。而在這個例子中,情況是… |
| |
這樣一來,就可以靈活地對先前的數據和最後一個數據點進行深入分析,以便更好地擬合最後一個數據點。 |
| |
所以這是過擬合。它…它用那個參數來擬合噪聲,而不是擬合… |
| |
數據本身。 |
| |
因此,當模型規模龐大時,過度擬合始終是一個問題。 |
| |
你想擬合的是訊號,而不是雜訊。好的,大型模型往往會為預測結果引入更多變異,因為預測結果畢竟是… |
| |
它取決於他們使用的 y 變量,但該 y 變量也是該變量的系統部分加上該變量的誤差部分(如果該變量部分存在誤差)。 |
| |
如果結果具有隨機性,那麼你的預測就包含了這種隨機性。如果你賦予它過大的彈性,最終結果就會… |
| |
過度擬合問題是指,如果將所有變數都納入模型,預測結果反而會變得更差。 |
| |
因此,解決之道在於縮小模型規模,即減少模型的大小或減少模型中係數的大小。 |
| |
這樣一來,模型隨機項的這種變異性傳遞到預測值的幅度就會更小。 |
| |
在小規模的實驗設計問題中,這不成問題,因為資料量小,而且資料分佈均衡,能夠很好地擬合你想要建立的模型。但對於任何大型模型中的觀測資料而言,過度擬合都是一個切實存在的問題。 |
| |
因此,直到我們在 JMP Pro 中引入交叉驗證功能,使用者才開始意識到這一點。如果您擁有 JMP Pro,您可以設定驗證列。 |
| |
這將保留部分數據,以便估計保留資料集的誤差。例如,我正在嘗試預測混凝土的性質。 |
| |
這取決於混凝土中所有這些成分,我為此建立了一個龐大的模型。如果我運行這個模型,但保留一部分數據,然後查看其 R 平方值, |
| |
我用SLUMP模型擬合得很好,R平方值為79。但是在驗證集上,我的R平方值卻是負值。 |
| |
任何負的 R 平方值都意味著它的擬合效果比僅擬合平均值更差。所以,如果我只擬合平均值,R 平方值將為零。如果我擬合整個模型,R 平方值會比這差得多。因此,對於大型模型,擬合效果可能會比僅擬合平均值更差。 |
| |
這其實有點適得其反,因為模型規模太大,而且我們沒有努力縮小模型規模。模型主要受雜訊而非訊號的影響。所以這是一個你應該注意的問題。 |
| |
因此,關鍵在於能夠減少模型的大小。 |
| |
現在我們引入了一個模型對話框命令來實現這一點。 |
| |
讓我們深入了解糖尿病模型。 |
| |
我可以運行這個模型,假設我想剔除很多不太重要的因素,例如年齡。 |
| |
年齡對模型的影響完全可以忽略不計,所以我希望排除年齡因素。這樣的話,我就可以重新擬合模型了。 |
| |
要嘛先把年齡因素考慮進去,然後再排除掉。或者,我可以直接回到模型對話框,調整年齡並將其移除,但我這裡可能有一長串模型,來回切換操作會很費力。 |
| |
所以,與其那樣做… |
| |
讓我想想,我在這裡做什麼? |
| |
在幾個版本前,我們推出了一個名為「效果總結」的新報告。 |
| |
借助事實摘要功能,可以輕鬆地對模型進行子集劃分,從而提高預測精度。 |
| |
降低其靈活性。 |
| |
所以我可以說,年齡,我可以把這個因素拿掉。 |
| |
或者說,變數很多。我們再去掉三個。 |
| |
LDL,嗯,這看起來比較重要。所以我可以儲存這個模型了。 |
| |
我們把它保存到資料表中吧。 |
| |
後來我回來後說,嗯,讓我記住那個有這個功能的型號。 |
| |
我其實可以撤銷之前的操作。所以我可以撤銷那個操作,然後它就恢復原狀了。 |
| |
三個變量,我可以撤銷操作,它會恢復年齡。所以實際上,當我使用效果匯總編輯模型時,它實際上會儲存所有這些資訊。如果我查看該腳本, |
| |
我可以看到這個歷史記錄。所以每次我使用效果模型時,它都會儲存一個歷史記錄子句。當我執行撤銷操作時,它會撤銷到該歷史記錄的狀態。 |
| |
所以刪除很容易。我也可以加東西。如果我減去這兩個東西,我可以把它們加回來。比如說,我可以把年齡加回來。 |
| |
這樣做不太好,但我可以做到。我也可以透過匯入一個縮小版的模型來編輯模型。 |
| |
在模型對話方塊中加入複合效果等等。 |
| |
現在,大型模型還會出現另一種情況: |
| |
(讓我撤銷一下)。 |
| |
使用大型模型時, |
| |
你做了很多假設檢定。 |
| |
因此,如果您有大量的假設檢驗,則需要考慮一些調整,其中之一稱為錯誤發現率。因此,您不應將所有這些 p 值視為獨立的檢驗, |
| |
我想進行調整,使這些 p 值能夠校正多重檢定偏差以及模型子集選擇偏差。這樣我就可以應用錯誤發現率 (FDR)。 |
| |
對此進行了修正。因此,我不再使用常規的 p 值,而是使用錯誤發現率調整後的 p 值。現在我的做法更符合實際情況。這有助於我解決過擬合問題和假設檢定中的選擇偏差問題,尤其是在進行大量多重檢定時。 |
| |
事物。 |
| |
所以, |
| |
現在 |
| |
我們來吧 |
| |
接下來學習下一個主題,即變換。 |
| |
認為 |
| |
你想做一個模型, |
| |
但 |
| |
你想擬合的是 y 的對數,而不是 y。 |
| |
首先,你需要在資料集中建立一個新列。 |
| |
記錄並 |
| |
然後對於 Log y,你 |
| |
請指定一個… |
| |
計算公式。 |
| |
我可以接受 |
| |
一份日誌。 |
| |
現在我可以回到我的模型規格並執行 Log y 操作了。 |
| |
然後我就找到合適的衣服了。 |
| |
哦,它不見了,我做錯了什麼? |
| |
忘記輸入 |
| |
客觀論證。 |
| |
所以現在我可以 |
| |
擬合 Y 的對數 |
| |
現在 |
| |
我已經完成了。但我們來運行性能分析器吧。 |
| |
我的分析器是基於 Y 的對數進行的。讓我儲存預測值。我的預測公式是基於 y 的對數進行的。 |
| |
現在我得去手動編輯一下了… |
| |
用這個公式,然後取其指數。 |
| |
把它恢復到原來的規模。所以,用這種方式轉換會非常痛苦。 |
| |
嗯,幾個版本之前。 |
| |
我們引入了變換。 |
| |
所以我可以進行這種變換, |
| |
將其轉換為對數 |
| |
現在可以直接在那裡將其用作轉換,它並不屬於數據表。它是一個帶有公式的虛擬變量,但並未添加到資料表中。 |
| |
現在我可以將我的模型擬合到對數 y 上。我們開始吧。 |
| |
去掉年齡訊息,這樣比較適合一些。 |
| |
哎呀。 |
| |
我也選了那個。 |
| |
現在我已經擬合了響應 Log y。 |
| |
如果我進行這樣的分析,我會得到什麼結果? |
| |
因子剖面分析,簡稱剖面分析器。它不是分析 y 的對數,而是分析 y 本身。剖面分析器將 y 視為一種變換,然後判斷:我可以反轉這種變換,從而回到原始尺度。它正是這樣做的。 |
| |
它 |
| |
透過對 y 取對數進行反變換,將預測值轉換回原始尺度。 |
| |
對於大多數可以展開的變換,它都會這樣做。如果變換涉及多個變數等等,它就無法展開,只會執行變換本身。所以原始的 |
| |
儲存列時也會出現同樣的問題。保存預測公式時, |
| |
它保存的是以 y 為單位的預測公式,而不是以 y 的對數為單位的預測公式。 |
| |
因此,這些方法可以極大地節省時間,並且在使用變換時節省大量精力。 |
| |
所以,還有… |
| |
讓我 |
| |
再次患上糖尿病 |
| |
再做一次……考慮另一種變換。 |
| |
當你進行變數運算時, |
| |
你可以進行 Box-Cox 轉型。 |
| |
和 |
| |
在因素分析中,Box-Cox 選項 |
| |
它會告訴你你是否改變了一系列的功率函數, |
| |
什麼,最好的做法是什麼?直接取消轉換嗎?那樣的話 Box-Cox lambda 值就等於 1 了。 |
| |
如果計算結果為零,就相當於取其對數;如果計算結果為-1,就相當於取其倒數。 |
| |
負一次方。如果你計算的是 0.5 左右,那就相當於求它的平方根。 |
| |
它告訴你,如果這個模型更接近平方根變換,其中 lambda 為 0.453,那麼在針對該變換調整的變換尺度上,模型會擬合得更好。這是 Box-Cox 轉換中的最優值。 |
| |
你可以放大查看。 |
| |
用放大鏡看清 |
| |
為了更精確地獲取它。 |
| |
所以, |
| |
所以現在我可以變形了,而且是在幾個版本之前。 |
| |
我可以……我新增了幾個列。其中一列是使用變換重新擬合的,它會建立一個新視窗來顯示變換後的回應。 |
| |
另一個方法是替換變換,我這就去做。與其用 0.453,我不如直接取平方根轉換 (0.5),現在我用這個變換來擬合模型。 |
| |
現在 lambda 的最佳值在 1 左右,這就是它應該在的值,因為它已經透過 Box-Cox 變換進行了轉換。現在我可以儲存這個預測值了。 |
| |
進行分析等等。我什至可以撤銷這些操作。所以如果我不喜歡這次的調整,想恢復到原始狀態,我可以恢復到原始狀態並重新調整。 |
| |
所以, |
| |
我們已經做了很多減輕痛苦的工作。 |
| |
在轉變反應方面。 |
| |
現在 |
| |
當你擁有大量數據時,會有一種特殊的痛苦,一種特殊的痛點。 |
| |
我們投入了大量精力,力求以更少的痛苦解決重大問題。 |
| |
無論你有很多行、很多列、很多組,還是有很多模型要嘗試, |
| |
當今世界,我們生活在一個大數據時代,也面臨許多重大問題。 |
| |
因此,如果我們有一些最初設計用於處理小問題的分析方法,那麼它可能不適用於大問題,而大問題的核心問題在於需要處理的輸出太多了。 |
| |
如果將同一個模型擬合到 1000 個變量,我就需要處理 1000 份報告。如果我要在 1000 列中尋找異常值,那麼就只有異常值,你知道,每一列都會產生單獨的報告,以此類推。我希望能夠… |
| |
為了更有效率地處理大量大型資料集,我們開發了篩選選單。 |
| |
它旨在解決這類大型問題。此外,JMP 中還有許多其他功能可以更好地解決大型問題。例如,時間序列分析。新的時間序列預測平台可以預測多個時間序列,而不僅僅是一個。 |
| |
因此,篩選平台上的項目會探索異常值、探索缺失值、探索模式。這些用於檢查數據,然後尋找關聯性,進行回應篩選。 |
| |
過程篩選、預測因子篩選。當然,時間序列預測是新增功能。它不在篩選選單中,但它是專門為處理大型問題而設計的。 |
| |
所有這些功能不僅利用了更簡潔的結果呈現方式(無需產生成千上萬份報告),而且還提高了計算效率。它們採用多線程技術,從而充分利用了您的… |
| |
多個 |
| |
CPU 中的核心數越多,速度就越快。 |
| |
假設您有很多過程數據,有 568 個變數。那麼,哪些變數看起來正常呢?過程篩選功能正是為了解決這個問題而設計的。它可以依穩定性排序,也可以依能力(Ppk)排序,也可以依哪些變數異常排序。 |
| |
控製圖指標、失控帳戶等等。 |
| |
但是,我更喜歡的是那些能將所有流程展示在一張圖表中的工具。其中有兩個我特別喜歡。一個是… |
| |
目標圖顯示 |
| |
每個進程在規範限制下的表現如何,如果是符合規範的進程,則位於此處的綠色區域。 |
| |
如果數值處於臨界值,則位於黃色區域;如果不是臨界值,則位於紅色區域;如果數值很高,則表示波動過大;如果數值偏離臨界值,則表示有問題。 |
| |
和... |
| |
它偏離中心,它偏離目標。 |
| |
但如果它處於綠色區域,那麼這是一個良好的流程,我們在版本 15 中引入了 |
| |
圖形元素,懸停幫助 |
| |
這樣,當你把滑鼠懸停在某個進程上時,就能看到它。然後是另一個進程。 |
| |
我最喜歡用一張圖表來概括所有這些信息,並減少查閱所有報告的痛苦,那就是流程表現圖。縱軸顯示的是能力 Ppk 是否在規格限制範圍內。 |
| |
所以,如果你的數值高於 1.33 這條線,那麼就數值分佈而言,你的數值符合規格限制,一切正常。你完全在規格限制範圍內。 |
| |
如果…那麼穩定性指標就在 x 軸上。所以,如果一個過程相當不穩定,即使它可能具備某種能力,但仍然不穩定。因此,如果你觀察這個過程,它可能會有一些問題。 |
| |
穩定性問題,有時會有些不穩定。如果你處於黃色區域,那麼你… |
| |
能力強但不穩定等等。紅色區域是糟糕的區域,既無能力又不穩定。因此,現在要查看成百上千個進程變得輕而易舉,而過去這卻非常痛苦。 |
| |
問題是,變化最大的是什麼?以下是一些調查數據: |
| |
多年來,你曾多次詢問他們的活動情況。你當時是否… |
| |
去露營?還是去賭場賭博?還是你感冒了?你知道,所有這些活動,你想知道在所有這些活動中,哪一項(還有…) |
| |
我認為,在95項不同的活動中,哪一項的影響最大?所以你要做的就是,你知道…你可以做的一件事就是一次只做一項。 |
| |
並按調查年份配對該活動。 |
| |
與其一次只看一個,我可以查看反應篩選結果。 |
| |
只要看一張圖表,就能看出哪些方面變化最大。 |
| |
所以這裡展示的是所有95項指標的圖表。首先是P值負對數所代表的顯著性, |
| |
我們稱之為對數價值,它已經根據錯誤發現率進行了調整。因此,它能消除一些選擇偏差,因為你對所有p值進行了排序。 |
| |
選擇後面的…低P值。我發現租錄影帶的變化最大,錄影帶從錄影帶從錄影帶變成了錄影帶,當然,錄影帶最終被淘汰了。所以,變化是必然的。 |
| |
另一盤錄影帶改變了很多,收集東西進行回收也改變了很多,娛樂家人也改變了很多。 |
| |
還有一個影響較小但效應量很大的問題:你是否使用網路?當然,這項調查是在網路出現之前進行的。因此,情況已經發生了很大變化。所以,關於變化最大的問題是什麼? |
| |
現在很容易了,但以前卻很難。 |
| |
你還問了一個關於大數據的問題,那就是缺失值在哪裡。所以,這裡是… |
| |
280 個變數。 |
| |
缺失值在哪裡?我需要擔心嗎?我查看了「檢查缺失值」報告,發現只有五個變數有缺失值。 |
| |
有些資料集只有一個變數或一個缺失值,但有些資料集有許多缺失值。因此,當我進行分析,尤其是多變量分析時,我可能不想包含所有缺失值。 |
| |
452 個變數中有 376 個。或者,如果我想包含 J,我可以這樣做。 |
| |
並填補這些缺失值 |
| |
這樣做就可以了。 |
| |
所以, |
| |
下一個問題,數據中是否有異常值? |
| |
在這個過程中,我總共收集了 387 個測量值。我想找出其中是否存在異常值。現在,我們在篩選選單中加入了這項功能。我可以 |
| |
調整靈敏度。 |
| |
讓我們提高它的靈敏度。 |
| |
這樣一來,異常值和重新掃描的次數就會減少。 |
| |
我可以看 |
| |
在 |
| |
9。很多時候,一串9被用來表示缺失值,這些9可能是真實的9,但它們也可能只是缺失值的指示符。因此,對於這種情況,我可以說,將這些9添加到缺失值程式碼中,這樣記憶體就改變了。 |
| |
現在我可以 |
| |
返回上一層目錄(這裡有很多變數),重新掃描,這樣就不用擔心缺失值的問題了。 |
| |
所以,以前要查找異常值是一件很麻煩的事。 |
| |
雖然仍然是一項繁重的工作,但比以前容易多了。 |
| |
現在,在版本 15 中,我們新增了另一個篩檢平台。數據是否存在可疑模式?這裡有一些來自臨床試驗的實驗室數據。這是尼卡地平的實驗室模式數據。有 27 個實驗室結果可能需要檢查。所以我調用 |
| |
新平台可以探索缺失值。它會向我展示,我是否有連續的值?例如,我有一個值 0.03536,但它連續出現了七個,從第 1 行開始。 |
| |
2065。我可以為這些單元格著色,也可以查看這些值,也許是最後一個結轉的值,這可能沒什麼可疑之處。在這種情況下,是… |
| |
是同一個人。所以,或許將最後一個值結轉到下一個值是合理的,但如果你已經分發了這些東西,這種情況就非常罕見了… |
| |
如果,如果你假設這些事物呈現隨機分佈的話。 |
| |
還有最長重複序列。所以對於這個變量,我們從第 2816 行開始,也從第 3034 行開始,有四行連續的值相同。所以如果我給這些值著色,就能看到連續四行。如果我 |
| |
轉到下一個序列,你會發現連續有四個序列的值相同。這可能是由於將相同的值從一個地方剪切粘貼到另一個地方造成的。 |
| |
所以,探索模式就是在尋找這些內容。你還可以查看這27個變數中的每一個的詳細信息,尋找可疑情況的跡像等等。 |
| |
數據處理方式的不良影響等等。 |
| |
所以, |
| |
探索模式是解決重大問題的一部分。 |
| |
所以, |
| |
緩解疼痛。我們的研發工作大多集中在讓分析流程更順暢、更輕鬆、更省時、更舒適。鎮痛藥。 |
| |
我們並不總是知道什麼是真正的痛苦。所以我們需要依靠回饋來確定關注點。當我收到那些我必須回覆數百次的郵件時, |
| |
我們聽取了回饋,感同身受,並已修復此問題,現在您可以向擁有數千條訊息的群組進行廣播。 |
| |
這樣可以隻公佈一次對話的結果,而不是重複多次對話。所以,您的回饋對其他人更有幫助,因為我們第一次沒有註意到這個問題。因此,請給我們您的回饋意見。 |
| |
經過我們已經取得的所有改進,我們認為資料準備和分析流程已經變得更加順暢,中斷更少,流程更加順暢。 |
| |
所以, |
| |
與其把時間花在克服障礙上,不如把時間花在從數據中學習、理解數據。 |
| |
分析。人們可能會想它們是否源自同一個字根,當然,我們不喜歡縮寫這兩個字。 |
| |
分析(Analytics)一詞源自於希臘文analyein,我不知道該如何發音。 |
| |
但在希臘文中,它的意思是打破、釋放或解脫。它指的是將複雜的事物分解成一個部分,以便我們能夠理解。 |
| |
當然,這正是我們進行數據分析,也就是數據科學的工作。而“鎮痛藥”(analgesics)一詞則是由不同的詞根組合而成:“an-”意為“無”,“algesis”意為“疼痛”。所以,前綴相同,但字根略有不同。 |
| |
不要縮寫這些字。 |
| |
具有合成代謝和催情作用。我們追求力量。 |
| |
我們所做的許多工作都是為了給您更強大的數據分析工具,其中許多工具都在 JMP Pro 和 JMP 中。 |
| |
我們希望數據能帶來令人興奮的感覺,你知道,那種發現的快感。 |
| |
學習如何使用JMP的強大功能令人興奮,我們覺得這很刺激。你知道,這就像催情劑一樣。 |
| |
所以,力量和激情對我們來說也很重要。它不僅僅是緩解疼痛。 |
| |
那我們明年要做什麼呢? |
| |
嗯,以字母 B 開頭的長單字。 |
| |
先從A開始,接下來是B,對嗎? |
| |
明年我們將發布 JMP 16,所以我們今年要討論的就是它。至於後年我們要討論什麼,就不得而知了。非常感謝。我們希望您在分析數據時能少受苦。 |
| 傑夫·珀金森 |
非常感謝你,約翰。我們很感激。這是一場精彩的演講,多年來我們目睹了許多痛苦, |
| |
你說的完全正確。緩解疼痛對我們來說非常重要。 |
| |
我們確實收到了一些問題,其中一個問題其實已經回答過了,我們在問答環節中也回答了一些,但我還想問問你們。 |
| |
它既能緩解疼痛,又能帶來一些吸引力,還讓JMP更強大? |
| 約翰·霍爾 |
我覺得大家最喜歡的就是圖表建構器了。 |
| |
只要拖曳這些變量,再點擊幾下,就能得到想要的圖表,而且修改起來也非常方便,這種感覺真是太棒了。 |
| |
所以,這很刺激。它功能強大,還能緩解疼痛;以前很難做到。所以我認為這是每個人都喜歡它的原因。 |
| |
當然還有…JMP 是一款功能豐富的產品,我們為其中的所有功能感到自豪。實驗設計等等。 |
| |
這其中蘊含著巨大的力量,我們也努力讓這個過程變得簡單。很多事情都湧上心頭。 |
| 傑夫·珀金森 |
非常好。非常感謝你,約翰,我很感激。如果你喜歡這次演講,我有兩點建議。第一,我們會把這個發佈出去。 |