概念地圖・階層叢集樹狀圖
分類:系統
這一頁不只是把一個概念解釋一遍——一張自己畫的結構圖,加上拿台灣情境從頭走一次的實例演練、這個框架什麼時候會騙你,以及它接回 P.A.I.N. 之後長什麼樣。一頁必須交付的三層 →
階層叢集樹狀圖:切在哪裡決定你有幾群客戶
一份名單擺在桌上,八個名字,誰跟誰比較像——光用眼睛看,多半只看得出一種印象。階層叢集樹狀圖做的是另一件事:先算出每兩個對象之間的距離,把最近的一對併起來,再把併好的那一團當成新的一個,繼續找下一對,一路併到只剩一團。八個名字要併七次,每一次都留下一個高度。併得早、高度低,代表這兩個很像;拖到很高才靠過來,代表它跟誰都不太像。整棵樹畫完,你手上還有一個決定沒下——橫著切一刀,切在哪個高度,就得到幾群。
八個客戶,七次合併,各在哪個高度
圖上寫的是樣本 1 到 8,你就當成手上八個客戶的編號。七次合併照高度由低到高排出來,一列就是一次併。
| 次序 | 這一次併了誰 | 合併高度 | 讀出來的意思 |
|---|---|---|---|
| 1 | 1 + 2 | 1.2 | 全場最像的一對,怎麼切都會在一起 |
| 2 | 3 + 4 | 1.8 | 另一組核心,位置在樹的右半邊 |
| 3 | 6 + 7 | 2.4 | 第三對核心,距離已經拉開一點 |
| 4 | (1,2)+ 5 | 3.0 | 5 靠向 1、2,左半邊長成三個一團 |
| 5 | (3,4)+(6,7) | 5.2 | 右半邊四個併成一大團 |
| 6 | (1,2,5)+ 8 | 7.4 | 8 拖到這裡才靠過來,全場最晚 |
| 7 | 兩大團合併 | 9.1 | 樹根,整份名單收成一團 |
真正要盯的是高度的落差。前四次都在 3.0 以下,第五次跳到 5.2,第六次再跳到 7.4——那個 7.4 就是樣本 8 的價碼:它要等到「距離放寬到 7.4」,才勉強跟誰算得上同一群。把切線放在 4.0,得到四群(1、2、5/3、4/6、7/8);放在 6.0,得到三群(1、2、5/3、4、6、7/8);放在 8.0,只剩兩群(1、2、5、8/3、4、6、7)。同一棵樹,三種答案,資料一個字都沒改。
這棵樹準不準,先看四個地方
一、距離是拿哪幾欄算的。樹的形狀由那幾個欄位長出來——多放一欄、少放一欄,同一批人可以站到完全不同的位置上。而且欄位之間的單位常常差好幾個數量級,沒有先標準化(把每一欄拉成同一個尺度),數字最大的那一欄就會自己決定整棵樹。自問:把最不重要的那一欄拿掉重跑一次,這棵樹還長得一樣嗎?
二、連結法選了哪一種。兩個「團」之間的距離要怎麼算,有好幾種定義:看兩團裡最近的一對(單一連結法)、看最遠的一對(完全連結法)、看併起來之後整體的離散程度增加多少(華德法)。三種算法用同一批資料會長出三棵不一樣的樹,而報表上通常只印結果、不印用的是哪一種。自問:手上這張圖是用哪一種連結法跑出來的,我問過嗎?
三、切線放在哪個高度。合併的順序是資料給的,群數卻是你給的——一刀下去切斷幾條枝幹,就有幾群。多數人切線的位置其實來自另一個地方:手上有幾個業務、公司想印幾種方案、簡報上放得下幾張卡。這沒有錯,但要講清楚那一刀是誰下的。自問:這一刀切下去之前,我心裡是不是已經先想好要幾群了?
四、那一支拖到很高才併進來的。每棵樹幾乎都會有一兩個晚到的名字。它可能是輸入錯誤,也可能是一個真的跟別人不一樣的人——而被單獨留在一邊,多半代表還沒有人替他設計過對應的做法。這一支是整張圖上訊息量最高的地方,卻最常被當成雜訊掃掉。自問:這個名字是資料髒了,還是我從來沒替這種人準備過東西?
一位營業員手上的八個客戶,合併一次給你看
一位證券營業員被主管要求把手上的客戶分成幾組來經營。他打開名單,八個名字,誰跟誰比較像這件事,怎麼看都像在憑印象。於是他把三個欄位攤出來:月成交次數、平均單筆部位、平均持有天數。三欄的單位差很遠,先各自標準化,再算歐氏距離——把三個數字看成空間裡的一個點,兩點之間拉一條直線,那個長度就是距離。以下的客戶 A 到 H 與所有數字都是為了說明結構而編的。
先用單一連結法跑一次,再換完全連結法跑同一批資料,兩次的合併高度並排如下。
| 合併對象 | 單一連結法 | 完全連結法 |
|---|---|---|
| A + B | 1.2 | 1.9 |
| C + D | 1.8 | 2.6 |
| F + G | 2.4 | 3.4 |
| (A,B)+ E | 3.0 | 4.7 |
| (A,B,E)+ H | 7.4 | 5.8 |
| (C,D)+(F,G) | 5.2 | 7.1 |
| 樹根 | 9.1 | 9.6 |
- 先決定拿哪幾欄來比:三個欄位標準化之後才進距離公式,否則部位那一欄以萬元計、成交次數以個位計,樹會變成「部位大小圖」。單位的問題在動手前就處理掉了
- 最近的三對先併起來:A 與 B 在 1.2、C 與 D 在 1.8、F 與 G 在 2.4——這三對怎麼算都黏在一起,是這份名單真正穩固的部分。三個核心不隨算法動搖
- E 靠過來,H 一直沒動:E 在 3.0 併進 A、B 那一團;H 要等到 7.4,是八個人裡最晚的一個。營業員回頭看名單才想起來,H 那三欄的組合他從來沒見過。H 孤零零地掛了大半棵樹
- 切在 6.0:得到三群——A、B、E 一群,C、D、F、G 一群,H 自己一群。分組表交上去,有一格裡面只有一個名字。一個人的「一群」,等於沒有經營方式
- 換完全連結法重跑:一樣切 6.0,一樣是三群,成員卻全換了——A、B、E、H 併成一群,C、D 與 F、G 反而拆成兩群。H 的孤立感在這張表上直接消失。同一份資料,兩張分組表
兩次跑出來的群數一模一樣,都是三群,這正是最容易讓人放心的地方——數字對得上,就以為結論穩了。但成員全變了:單一連結法讓 H 站在外面,完全連結法把 H 收進 A、B、E 那一團,還順手把原本黏在一起的 C、D 與 F、G 拆開。營業員如果只拿到第二張表,他這一季根本不會知道名單裡有一個誰都不像的人。客戶那邊什麼都沒變,差別全來自「兩團之間的距離要看最近的一對還是最遠的一對」這一個選項——它藏在跑分析那個人的預設值裡,從來不會出現在分組表上。真正該問的一句話很短:這張表是用哪一種連結法跑的。以上為說明結構用的示意情境,僅供理解框架之用。這一段談的是名單怎麼分組,不涉及任何投資建議。
這棵樹什麼時候會騙你
- 換一種連結法,那個孤立的名字就會消失。上面那張對照表就是現成的證據:同一批客戶、同一條 6.0 切線,單一連結法把 H 留在外面,完全連結法把它收進大團裡。單一連結法看的是最近的一對,所以容易長出一條一條串起來的鏈;完全連結法看最遠的一對,會傾向切出大小相近的球。兩種都不算錯,但它們回答的是不同的問題——而報表上印的通常只有結果。看到任何一張叢集分組表,先問算法,再看名字。
- 資料裡沒有群,樹還是畫得出來。把八個純隨機的點丟進去,一樣會得到一棵漂漂亮亮的樹,因為演算法的工作就是「一直併到剩一團」,它沒有「這批資料不該分群」這個選項。分辨的方法在高度:真的有結構時,群內的合併都很低、跨群那幾次會明顯跳高一階;沒有結構時,七個高度會平均地爬上去,看不到落差。所以要盯的是相鄰兩次高度的差距,形狀漂亮這件事什麼都證明不了。
- 沒標準化,距離就被單位綁架。月成交次數是個位數,平均單筆部位是六位數,兩個直接進歐氏距離,部位那一欄的差距會大到把另外兩欄壓成小數點後的雜訊——你以為在做三維分群,跑出來的卻是一張照部位大小排過的名單。標準化之後每一欄的影響力才對等;反過來說,如果你確實認為部位比較重要,那就明講權重,讓它成為一個寫下來的決定,別讓單位替你決定。
用痛點的眼光,看那個誰都不像的客戶
樹量的是相似,需求要另外問。
這棵樹畫得出誰跟誰的行為長得像,畫不出他們各自在痛什麼。三個欄位量到的都是結果——成交幾次、部位多大、抱多久——沒有一欄記錄他為什麼這樣做。兩個被歸在同一群的人,可能一個是沒時間看盤所以少動,一個是被上一次的損失嚇到所以不敢動;分組表上他們一模一樣,該說的話卻完全不同。所以最有價值的位置,是那個拖到 7.4 才被收編的名字。P.A.I.N. 的第一格問「誰在痛」,而樹會替你把那個「誰」單獨圈出來——他的行為跟現有的所有做法都對不上,通常代表你的服務目錄裡沒有一條是為他寫的。這種人數量少,卻常常是新做法的起點。今晚就能做的一件事:把那個最晚併進來的名字挑出來,打一通電話,問他上一次覺得麻煩是在哪一步,然後把他的回答寫在分組表旁邊。
常見問題
階層叢集和 K-means 差在哪裡?
最大的差別在「群數什麼時候決定」。K-means 要你動手之前就先講好分幾群,演算法再去找那幾個中心;階層叢集反過來,先把整個合併過程算完畫成樹,你事後再決定切在哪一刀——同一次計算可以看四群、三群、兩群長什麼樣。代價是計算量:階層叢集要算所有兩兩之間的距離,資料一大就吃不消。實務上常見的做法是先用階層叢集看結構、決定大概要幾群,再用 K-means 跑大資料。
要怎麼決定切在哪個高度?
最常用的判準是找「跳最大的那一階」:把七次合併的高度依序排開,看哪兩次之間的落差特別大,就切在那個縫裡。以上面那棵樹來說,5.2 跳到 7.4 是全場最大的一階,切在中間的 6.0 相當合理。但這只是參考——真正的限制通常來自你能負擔幾種經營方式。切出六群卻只有三套做法,那三群多出來的分法在實務上等於沒發生。先問手上做得出幾種對待方式,再回頭切。
幾千筆、幾萬筆資料還能用階層叢集嗎?
會很吃力。它要計算並保存所有兩兩之間的距離,資料量翻倍,成本大約變四倍,樹狀圖畫出來也會密到看不出葉子。幾千筆已經是需要斟酌的量級,幾萬筆通常改用別的做法:先抽樣跑階層叢集看結構、決定群數,再用 K-means 之類的方法套回全體;或是先做一輪粗分群,再對每一群內部跑階層叢集看細節。樹狀圖真正的強項在幾十到幾百個對象的「看清楚」,規模一大就該換工具。
合併高度可以直接當成「這兩群差多少」嗎?
只能在同一張圖裡比。高度的單位是你選的距離加上你選的連結法算出來的,換一種連結法整組數字就換一套——上面那張對照表裡,同一對客戶在兩種算法下是 1.2 與 1.9。所以跨部門、跨時間拿兩張樹狀圖比高度沒有意義,除非兩邊的欄位、標準化方式與連結法都一樣。同一張圖裡的相對關係則很可靠:誰先併、誰後併、哪一階跳得最大,這些讀出來的訊息才是樹狀圖要給你的東西。
打開那份名單,先找出誰都併不進去的那個名字。這棵樹跟顧客金字塔是兩種相反方向的分法——金字塔的層是人先訂好的,照貢獻高低往下排;樹的形狀由資料自己長出來,群數還要等你那一刀。分完組之後要決定每一群拿什麼去對待他們,可以接著看顧客價值地圖。
喜歡這篇文章嗎?
每週幫你拆二本好書,把判斷力、好書金句、好問題,直送你的信箱。
不適合你可隨時退訂 · 每週兩封,陪你把書讀進生活。
送出即表示同意我們依隱私權政策使用你的 email。