← 全部概念地圖
標準

概念地圖・馬可夫世代模型

分類:管理

這一頁不只是把一個概念解釋一遍——一張自己畫的結構圖,加上拿台灣情境從頭走一次的實例演練、這個框架什麼時候會騙你,以及它接回 P.A.I.N. 之後長什麼樣。一頁必須交付的三層 →

馬可夫世代模型:一群人分成幾格,成本堆在原地那一格

那一批黑水虻幼蟲進場那天是四十萬隻,養殖場的白板上就一個數字:預計出料噸數。三天後再看,白板上還是那一個數字。可是這四十萬隻沒有一起往前走——有的轉了預蛹,有的還趴在原來那一盆裡,有的已經算進損耗。馬可夫世代模型做的事很單純:把一群人(或一群蟲)分成幾個狀態,替每一個狀態標上「這一個週期會往哪裡去」的機率,然後一個週期一個週期推下去。推出來的東西很具體:每一格上面各站著多少人,以及那一格這一個週期要花多少錢。

健康、生病、死亡三個狀態,六支轉移箭與各自的停留成本 三個狀態橫排:左邊圓形的健康、中間圓形的生病、右邊方框的死亡。健康射出三支箭——繞回自己留在原狀態 0.85、走向生病 0.12、跨過生病直接到死亡 0.03;生病也射出三支——繞回自己 0.55、回到健康 0.30、走向死亡 0.15。死亡是吸收態,進去就出不來。每一個狀態正下方標著這一個週期停在那裡的成本:健康 200 元、生病 1500 元、死亡 0 元。右下方一條窄帶提醒,同一個圓射出去的箭,機率加起來是 1。 三個狀態、六支轉移箭:一個週期之內,一群人怎麼移動 健康 生病 死亡 0.03 0.12 0.30 0.15 0.85 0.55 吸收態,進去就出不來 這一個週期停在這裡的成本 這一個週期停在這裡的成本 這一個週期停在這裡的成本 200 元 1500 元 0 元 繞回自己的那一支弧=這一個週期留在原狀態 同一個圓射出去的箭,機率加起來是 1
每一個週期都按人頭收一次錢,帳單長什麼樣,全看那一刻有多少人停在哪一格。

三個狀態之間,每一個週期怎麼移動

先把上面那張圖讀成一張表。三行對應三個狀態,每一行往外射出去的機率,加起來一定是 1。

狀態留在原狀態往別格走停在這裡一個週期的成本
健康0.85生病 0.12、死亡 0.03200 元
生病0.55健康 0.30、死亡 0.151500 元
死亡1.00走不出去(吸收態)0 元

「留在原狀態」那一欄最容易被跳過,可是帳單主要就長在那裡。一個人連續六個週期都停在健康,機率是 0.85 的六次方、約 0.38,成本是 6 個週期各 200 元、合計 1200 元;同樣連停六個週期在生病,合計 9000 元——同一段時間、同一個人頭,兩張帳單差了 7800 元。至於健康直接跳到死亡那 0.03,單看一個週期像雜訊;連推六個週期,它累出來的量就得認真算。第三行更值得看一眼:死亡那一格的「往別格走」是空的,人只會往那裡積,所以圖上要把它畫成方框,免得有人以為那裡也會流動。

哪一種事情拆成狀態才有用,先看四個地方

一、分得出來,才叫一格。一個批次養到中段,現場的人要能站在盆邊指著說「這一批現在在這一格」——靠體長、體色、活動狀態,肉眼幾秒就分完。分不出來的中間態(「快要轉了」)不該獨立成一格,那種格子的機率永遠估不準,因為連誰在裡面都認不清。格子的邊界要能被現場的人重複執行,別讓它停在會議室裡的定義。自問:我這件事,講不講得清楚「現在在哪一格」?

二、週期要跟你真的會去量的節奏對齊。翻盆、採樣、分級,現場本來就有一個固定節奏;狀態轉移的週期就設成那個節奏,機率才有東西可以估。週期設得比量測還密,中間的數字是硬編出來的;設得太鬆,一個批次會在一個週期之內連跳兩格,圖上那支箭就說謊了。自問:從一格走到下一格,有沒有一個固定的週期?

三、至少要有一格是進去就出不來的。出料現場的損耗就是那一格:算進去的回不來,也不會再變成可出料的貨。吸收態的價值在於它替你累積——它是整張圖唯一一個只進不出的帳戶,最後停在那裡的數字,就是這一批真正的損失。少了它,人會在幾格之間永遠繞圈,你永遠看不出誰真的離場了。自問:有沒有哪一格是進去就出不來的?

四、每一格要標得出停在那裡的單位成本。沒有這一欄,狀態圖就只是一張流程圖。標的時候單位要寫死:每多少頭、每一個週期、多少錢——飼料、電、人力、佔用的盆位,全部攤進去。單位一含糊,「哪一格最貴」這句話當場就有兩種答案,而且兩種都有人拿去下決定。自問:停在原地那一格,每一個週期要花多少?

一場黑水虻養殖的六個週期,走一遍

實例演練

底下這家台灣中部的黑水虻養殖場,是為了把這個結構講清楚而編出來的示意情境,沒有指涉任何真實公司。它的狀態切成四格:幼蟲、預蛹、成蟲、損耗,損耗是吸收態,一個週期等於 3 天。轉移機率是幼蟲留在原地 0.60、轉預蛹 0.35、損耗 0.05;預蛹留在原地 0.50、轉成蟲 0.42、損耗 0.08;成蟲留在原地 0.95、損耗 0.05。停留成本按每十萬隻、每一個週期算:幼蟲 4200 元、預蛹 1800 元、成蟲 900 元、損耗 0。

  • 週期 0(進場那天):四十萬隻幼蟲,全部站在同一格,這一天的停留成本 16800 元。白板上那個出料噸數,這時候還沒有騙人
  • 週期 1(第 3 天):幼蟲 24 萬、預蛹 14 萬、損耗 2 萬。同一批人第一次分岔。機率表開始說話
  • 週期 2(第 6 天):幼蟲 14.4 萬、預蛹 15.4 萬、成蟲 5.88 萬、損耗 4.32 萬。成蟲第一次出現在圖上。出料那一欄終於有東西可以填
  • 週期 6(第 18 天):幼蟲 1.87 萬、預蛹 4.34 萬、成蟲 21.65 萬、損耗 12.14 萬,損耗率 121400 除以 400000 等於 30.4%。三成沒有走到終點
  • 週期 6 那一天的帳:幼蟲 785 元、預蛹 781 元、成蟲 1949 元,合計 3515 元。頭數只有預蛹那一格的一半不到,帳單卻幾乎一樣厚
  • 白板上那一欄:出料噸數只反映得了成蟲那 21.65 萬隻,另外三格在同一塊板子上根本沒有位置。被看見的,永遠是已經走到終點的那一群

六個週期跑完,最值得記住的接縫落在那 1.87 萬隻幼蟲身上。它們占還在場那 27.86 萬隻的 6.7%,卻吃掉週期 6 停留成本的 22.3%;而且再往下推,它們每一個週期還有 0.60 的機率繼續留在原地——那是一筆會自己續約的帳。白板上的出料噸數看不到它們,因為那個數字只計成蟲。狀態圓做的事其實很土:它逼你把「還沒走到終點的人」也排進帳裡,而且是按週期排、每一格分開排。真的要動手,第一刀通常落在把 0.60 往下壓——飼料濃度、盆內密度、翻盆的時機,每一項都直接改那個數字。以上為說明結構用的示意情境,僅供理解框架之用。

狀態轉移什麼時候會騙你

  1. 「下一步只跟現在的狀態有關」這個前提,常常是假的。馬可夫模型把話講得很白:一個人下一步往哪走,只看他現在在哪一格,跟他怎麼走到這裡完全無關。現場多半沒有這麼乾淨——在幼蟲那一格卡了五個週期還沒轉預蛹的那一群,往前走的機率會比昨天剛進場的低,它們體質本來就不同。真要修,做法是把「已經待了幾個週期」也做成狀態:幼蟲一期、幼蟲二期以上,各給各的機率。格子會變多、資料會變薄,但至少那支箭上的數字不再是一個被平均掉的假數。
  2. 吸收態未必真的出不來,機率也不會乖乖待在原地。圖上把死亡與損耗畫成吸收態,那一格確實回不去。可是很多題目照抄這個畫法就出事:流失的客戶會回來,離職的員工會回鍋,把它們畫成吸收態,等於預設回流是零。另一半的問題在機率本身——0.35 是某一批、某個溫度、某種飼料下量到的;換季換料,那個數字就得重量一次。用一組固定機率硬推六個週期,誤差是一層疊一層往上長的。
  3. 「最貴的那一格」有兩種讀法,講的時候一定要把單位講出來。單位成本上,幼蟲那一格最貴:每十萬隻、每一個週期 4200 元,預蛹 1800 元,成蟲 900 元。可是週期 6 的總額排法完全換了一組——幼蟲 785 元、預蛹 781 元、成蟲 1949 元,最大一筆落在成蟲,因為停在那裡的頭數最多。同一句「幼蟲最貴」,少講「每十萬隻」那個單位,聽的人就會拿去砍錯地方。開會前先把單位寫在白板上,比事後解釋省事得多。

停在原地的那一群,帳是誰在付

痛點視角

留在原地那一格,帳照樣每個週期記一次。

每一個週期都有一部分人沒有往前走,帳就落在他們身上——週期 6 那 1.87 萬隻幼蟲,占還在場頭數的 6.7%,吃掉那一個週期 22.3% 的停留成本。《痛點》問的第一件事是「誰在痛、痛多深」,狀態圓給的答案很直接:痛的是停在原地那一格,痛多深就寫在成本欄裡。可是這張圖畫得出每一格的人數與帳單,畫不出那些人為什麼不動——飼料配方不對、盆子太擠、還是採樣的人根本沒把他們算進來,機率 0.60 一個字都不會說。所以看到某一格的往前機率偏低,第一個動作應該是走去現場看那一盆蟲,表上的數字改不動現場。今晚就做一件事:把你手上正在跑的那件事分成三到四格,只填一欄——每一格這個月停了多少人。填完那一欄,你會知道下一個要去看的是哪一格。

常見問題

馬可夫世代模型和世代分析差在哪?

世代分析追一批人隨時間還剩幾成,畫出來是一條往下走的線;狀態模型把那條線上「還在的人」再分格,告訴你他們現在停在哪裡。兩種算法吃的是同一批資料,只是切法不同:前者回答「還剩多少」,後者回答「剩下的那些人現在在做什麼、這個月要花多少錢」。想看每一格的成本,就得先有狀態;想看整體衰減,一條留存曲線更快。多數團隊會先畫線,等到有人問「那些沒走的到底卡在哪」才回頭補格子。

轉移機率要從哪裡估?資料要多少才夠?

最省事的估法是數次數:把每一個週期的期初人數與期末去向記下來,某一格往下一格的次數除以那一格的期初人數,就是那一支機率。難的是樣本小的格子——成蟲往損耗只有 0.05,一個週期只走掉幾百隻,抽樣抽出 0.02 或 0.09 都不奇怪。做法有兩種:把好幾個週期合併起來估,或先給一個保守值撐著,等資料長出來再修。重點是把「這個數字是用幾個週期、幾隻蟲估出來的」記在旁邊,日後有人拿它下決定時才知道能信到什麼程度。

狀態要切幾格才合適?

兩個條件同時成立才值得獨立成一格:現場的人分得出來,而且分開之後成本或去向真的不同。黑水虻那四格就是這樣長出來的——幼蟲、預蛹、成蟲的停留成本各是 4200 元、1800 元、900 元,損耗則是進去就出不來。切太細,每一格的樣本都變小,機率估出來全是雜訊;切太粗,所有人被平均掉,你看不出誰卡住。三到五格通常夠用,真的要再細分,優先細分那個「停很久又很貴」的格子。

一個週期該設多長?

跟你真的會去量的頻率對齊。黑水虻那個場景設 3 天,因為翻盆與採樣就是 3 天一次;訂閱制多半設一個月,因為帳單一個月出一次。週期設得比量測還密,中間那些數字是硬編出來的,推六期只是把同一個假設重複套六次;設得太鬆,一個批次在一個週期內連跳兩格,圖上那支箭就對不上實際發生的事。先看行事曆再決定週期長度,比先決定週期再去湊資料實在。

依狀態把手上那群人分一次,數數看每個月有幾成留在原地。想先看「同一批人還剩幾成」那條線怎麼畫,可以接世代留存曲線;想看同一套分艙被拿去推疫情走勢的版本,看SEIR 傳染病分艙模型。

發現引用或事實有誤?請寫信回報,我會依更正政策修正。

喜歡這篇文章嗎?

每週幫你拆二本好書,把判斷力、好書金句、好問題,直送你的信箱。

不適合你可隨時退訂 · 每週兩封,陪你把書讀進生活。

送出即表示同意我們依隱私權政策使用你的 email。