
工程郵袋
第一集:除雪服務的經濟學
我們 JMP 系統工程師時不時會遇到一些有趣的問題,這些問題在某種程度上超出了正常範圍聯合管理計劃用法。 這些應用程式通常都很聰明,並且讓人們明白使用數據不僅僅是為了解決業務或技術問題。
這是我從紐約州的一位用戶(也叫麥克)那裡收到的一個問題的範例,我和他認為分享這個問題會很有趣。
問題
麥克[JMP],
我正在使用 JMP 使用我找到的去年降雪總量數據進行操作。 今年夏天我搬到了新房子,現在有一條 387 英尺長的車道需要犁地。 我最近正在與一位掃雪機承包商交談,他試圖說服我簽訂季節性合約。 通常,當他按每次推雪收費時,只要我們有 3 英寸或更多英寸的積雪,就會按每次推雪 75 美元收費。 他出價 2,000 美元,只要我們下雪,他就會犁地。 他告訴我,去年我們下了大約 20 次 3 英寸或以上的雪,所以如果今年再次發生這種情況,我最終將支付 1,500 美元(75 美元 x 20)。 所以每次下雪我只需要多付 500 美元讓他犁地。

從我的數據中可以看出,去年只有 5 次降雪量達到 3 英吋或以上。 當然,我告訴這個承包商我沒興趣。 我最終雇了另一個人,每次推送 50 美元。 我想問您的問題是,為什麼 JMP 將圖表上的 15 英寸降雪總量置於 2.5 英寸和 3.0 英寸之間? 既然總數是按降序排列的,為什麼 15 吋不一直在右邊呢?
謝謝,
麥克[用戶]
我的回覆
嗨,麥克!
在回答您的問題時,我想您會發現“Greenfield Center 1.6 W”列的資料類型設定為“字元”。除了明顯的字母順序之外,字元資料的順序也變得複雜起來。 當您將其與圖形產生器中的計數降序選項配對時,預測會變得更具挑戰性。
我認為正在發生的事情是這樣的:圖形生成器首先按“計數降序”排序。 因此,行數最多的類別將顯示在左側,並隨著向右移動而減少。 當您有多個具有相同資料點數量的群組時,即 1 和 2、1.5 和 2.5 以及 15 – 9.5,圖形產生器將使用正常的排序規則。 由於該列是字符,這意味著它將遵循偽字母順序。 這意味著最後一組的順序為 15, 3, 5.5, 6, 9.5,因為字母順序是按字元從左到右排列的。 使用一個更受控制的範例,JMP 對 1 到 20 之間的數字進行排序的方式會有所不同,具體取決於資料類型是字元還是數字。 從數字上看,它是 1,2,3, …, 20,正如您所期望的那樣。按字母順序排列,它將是 1, 10, 11,12, 13, …, 19, 2, 20, 3, 4, 5, 6, 7, 8, 9。
解決此問題的一種方法是使用“值順序”列屬性。 您可以定義希望 JMP 使用的順序,它會覆寫預設值。 對於使用者定義的值順序,圖形產生器中使用的層次結構將是計數降序,然後是值順序,然後是「值順序」列屬性中未定義的任何內容的預設值。
最好的,
中號
更多想法
經過思考之後,我意識到還有一些其他方法可以解決這個問題,並且可以使用更多視覺化來證明這一點。 首先,讓我們進行一些資料清理。 麥克使用的數據來自美國國家海洋暨大氣總署的網站。該網站設定為一次下載一個月,因此需要一些串聯工作。 查看數據,每個站點的其他數字降水數據中使用了一些字元代碼。 M和T分別用於「缺失」和「蹤跡」。 這意味著兩件事。 首先,我們有幽靈數據。
其次,我們有一個閾值,低於該閾值,NOAA 認為沒有必要報告特定值。 我們必須以某種方式處理這些問題。 此外,數據以日月格式提供,JMP 將其視為字符,並且缺少年份。 這意味著如果我們要產生時間序列散佈圖,順序將不正確。 這也需要糾正。
首先,更正日期是一系列查找和替換操作,使用“-”作為“查找”,“/mm/yy”作為“替換”。 實際上,這看起來像這樣:

更正日期後,堆疊資料可能是個好主意。 這為分析提供了更多選擇。 資料堆積後,我現在可以指派缺失值列屬性,以使 JMP 將「M」視為缺失。 我還可以使用 recode 將“T”更改為數值。 這NOAA 的常見問題解答表示它認為微量降水是「會弄濕雨量計但小於 0.01 英吋測量極限的少量降水」。在本例中,我只需將其重新編碼為 0.01。
我要做的最後一件事是建立一個新列「沉澱組」。我實際上用過Brady Brady 的互動式分級 (V2) 插件,但在公式編輯器中執行邏輯非常簡單。 如果“Precipitation”大於 3 英寸,則返回“Plough”;小於3吋為「不犁」;如果資料遺失,則傳回「Missing」。

設定此列後,我隱藏並排除了所有缺失值。
在這種情況下,我想到了三種類型的視覺化。 分佈圖、長條圖和氣泡圖。 由於資料是堆疊的,因此每個資料都將使用本地資料過濾器來選擇感興趣的網站。 該分佈基於我之前創建的指標列,非常清楚地顯示 2016-17 賽季需要犁地五次。

在圖形生成器中創建的條形圖顯示了類似的情況,該條形圖使用參考線並根據是否需要耕作進行著色。
氣泡圖很有趣,而動畫故事是提高資訊影響力的好方法。 有多種實現可視化的方法,具體取決於品味和資訊。 氣泡圖也可以匯出為互動式 HTML5(透過執行附加資料表中的腳本進行匯出,然後使用適合您的作業系統的正確匯出選項)。
第一個氣泡圖是動畫時間圖。 製作動畫時,它會追蹤每日降水量,並根據降水量與犁耕臨界 3 英吋水平的接近程度為線條著色。

第二個範例顯示資料集中的所有站點,y 軸上同樣顯示每日記錄的降水量。在此範例中,我將降水量值作為大小調整變量,以便標記隨著 y 軸的爬升而變大。

此地圖範例是透過在資料來源相同的網站上定位 NOAA 站座標列表來建立的。 我建立了一個查找表,並使用虛擬連接根據車站名稱引入每個車站的緯度和經度。 與第二個氣泡圖一樣,標記的大小根據給定站點每日記錄的降水量來決定。 這張地圖對於最初的問題來說並不是特別重要,但當它製作成動畫時,它提供了一個有趣的視覺效果,顯示 2016-17 冬季紐約暴風雪的時間、地點和嚴重程度。 找點樂子,看看你是否能找到紐約時代廣場允許人們滑雪的風暴(提示:那是在 2017 年)。

您是否有有趣的問題或資料集想讓系統工程師查看?給我留言或留言。 也許我們會把它變成一個在運作的東西。
作者的話
對於那些再次閱讀本文的人,不,你沒有瘋,標題確實發生了一些變化。我收到了更新標題的請求,以便我們的搜尋引擎更容易找到。我只能猜測這是因為有些搜尋引擎是 19 世紀參考圖書館員的現代化身,沒有幽默感。對於任何不便,我們深表歉意。-M
編按:這是名為的系列中的第一篇
工程郵袋由 JMP 系統工程師撰寫,他們解答有關 JMP 的各種技術問題。