使用 JMP 遞歸分析進行預測大家好,
我嘗試使用 JMP 的遞歸分析來預測我們機器未來的維修次數和成本,但遇到了過度預測的問題。我使用機器人過去 90 天的生命週期資料訓練了一個模型(對數線性 NHPP),然後預測了目前新增的維修次數和成本。基本上,我使用 90 天前的數據進行建模和預測,並使用當前數據驗證結果。結果顯示過度預測約 30%。我還嘗試了比例 NHPP 模型,得到了類似的過度預測結果。模型的適配度看起來不錯。就總維修次數的預測而言,模型表現良好(過度預測低於 10%)。只有新發生的維修事件的預測效果不佳。
我的問題是:
有沒有辦法減少這種過度預測?我正在考慮將預測週期從90天縮短到45天,以獲得較短的預測視窗。但我很想知道是否有其他方法可以嘗試。
我知道還有其他預測模型。由於我一直在使用遞歸模型來研究修復問題,並且已經很熟悉它了,所以我想充分利用這項研究。
謝謝。
基礎資料分析與建模回覆:使用 JMP 遞歸分析進行預測能否提供一份匿名化(表格 > 匿名化)或子集化的資料版本,並附上您的分析結果?這或許有助於我們提出其他方案。
回覆:使用 JMP 遞歸分析進行預測您好,這是一個很好的建議。
我將用以下截圖解釋我的操作步驟,截圖顯示的是一個機器人的數據。實際資料集包含約 15,000 個機器人。請不要使用我的範例值來擬合模型——預測值是基於所有 15,000 個機器人的累積公式產生的。
左側表格的前三列包含90天前的資料:機器人ID、年齡和成本(1表示已維修,0表示研究結束)。這三列用來擬合JMP遞歸分析比例泊松過程模型(還有另外15,000個機器人,我沒有展示,這裡只用一個機器人來示範我的操作)。然後,我得到了該模型的累積公式。第四列「年齡加90天」(目前年齡)被代入此公式,以計算第五列「90天內的預測維修次數」(目前時間的預測值)。
值 6.28代表該機器人 941 歲時的預計總維修次數。因此,預計該機器人在最近 90 天內的維修次數為: 6.28 − 3 = 3.28 。為了計算總數,我將每個機器人最老齡時的所有預測維修次數相加,得到預測總數。我將每個機器人所有實際維修次數(90 天前)相加,以獲得實際維修總數。然後,我計算這兩個總和之間的差異(最近 90 天的預測維修總數)。
右側表格(目前數據)顯示,截至941天,實際上僅發生了3次維修,與90天前相同。因此,該機器人最近90天的實際維修次數為3-3= 0 。我還計算了所有機器人最近90天的實際維修次數。
當我比較這兩個數字時,我發現預測值始終偏高。例如,對於所有 15,000 個機器人,最近 90 天內的實際修復次數是 6,996 ,而對同一機器人的預測維修量為 9,306 — a 預測值偏高 33.0% 。我嘗試了幾個不同的時間窗口,預測值總是偏高 30% 左右。
我擔心自己可能做錯了什麼事。
你覺得怎麼樣?謝謝。
我還附上了一份模擬數據,供有興趣的人參考。
資料包含三列:機器ID、成本(1表示維修,0表示研究結束)及使用年限。問題是如何利用這些數據預測未來90天內的維修狀況。謝謝。
回覆:使用 JMP 遞歸分析進行預測根據實際資料的形狀和您選擇的模型參數,您可以獲得截然不同的模型。您的模擬資料在末端存在異常值,這也會影響預測結果。根據提供的數據,我是否包含年齡平方項(Age^2)會導致模型結果截然不同。您的模型與資料的適合程度如何?

回覆:使用 JMP 遞歸分析進行預測最後出現的異常情況是由兩台有風險的機器引起的,而這兩台機器恰恰是最老舊的。
我只使用了比例PP模型,沒有使用縮放或形狀效果,圖形看起來如下:

有兩件事我不懂:
為什麼選擇年齡作為尺度效應和形狀效應?這樣做並沒有產生曲線。這是為什麼?擬合曲線在哪裡?
為什麼要嘗試年齡的平方?
謝謝。
回覆:使用 JMP 遞歸分析進行預測我不確定這會造成多大問題,但對於循環模型來說,您的系統資料應該按時間順序排列,因為 JMP 似乎不會自動重新排序,但這會對模型產生影響。以下是您的範例資料中兩個順序錯誤的機器 ID。如果您的資料中沒有出現這種情況,則可以忽略此提示。

復發分析適用於數據屬於可修復系統的情況。可修復系統並非指系統能夠被修復,而是指修復後的狀態。事件發生後,機器人是否與事件發生前完全相同?或者機器人「煥然一新」?如果機器人“煥然一新”,則該系統不可修復,因為本質上您擁有的是一個全新的系統。
這一點之所以重要,是因為如果你的資料是一個可修復系統,它會被建模為指數系統,事件會隨著時間的推移而更頻繁地發生。如果你的數據不是一個可修復系統,而你嘗試使用復發分析,它通常會高估你的預測結果,因為它假設情況會持續惡化。一個不可修復系統隨著時間的推移,其修復次數應該會趨於穩定,這通常遠低於指數系統的修復次數。
如果機器人“和新的一樣好”,那麼對每個事件進行獨立建模(即年齡不是累積的)並使用生命週期分佈平台可能更有意義。
回覆:使用 JMP 遞歸分析進行預測你好,
謝謝你的解釋。
我嘗試了按時間順序和不按時間順序的範例。看來 JMP 的重複分析功能可以自動處理按正確順序排列的範例。
我們的系統是可修復的,我們假設修復後的效能與修復前一樣好。所以機器人會隨著使用時間的成長而老化。這就是我們選擇重複性分析的原因。我認為我們找到了預測過高的原因。我們沒有扣除機器人維修期間的時間,導致了「永生偏差」(我剛學到的專業術語)。我正在排除維修期間的時間,看看是否還會出現預測過高的情況。
謝謝你的建議。