如何對用戶進行聚類分析?
需要搜集用戶的哪些特徵?需要多少樣本量?應用定量方法還是定性方法?
需要搜集用戶的哪些特徵?
聚類分析變數選擇的原則是:在哪些變數組合的前提,使得類別內部的差異儘可能的小,即同質性高,類別間的差異儘可能的大,即同質性低,並且變數之間不能存在高度相關。
常用的用戶特徵變數有:
①
人口學變數:如年齡、性別、婚姻、教育程度、職業、收入等。通過人口學變數進行分類,了解每類人口的需求有何差異。
②
用戶目標:如用戶為什麼使用這個產品?為什麼選擇線上購買?了解不同使用目的的用戶的各自特徵,從而查看各類目標用戶的需求。
③
用戶使用場景:用戶在什麼時候,什麼情況下使用這個產品?了解用戶在各類場景下的偏好/行為差異。
④
用戶行為數據:如使用頻率,使用時長,客單價等。劃分用戶活躍等級,用戶價值等級等。
⑤
態度傾向量表:如消費偏好,價值觀等,看不同價值觀、不同生活方式的群體在消費取向或行為上的差異。
需要多少樣本量?
沒有限制,通常情況下與實際應用有關,如果非要加一個理論的限制,通常認為,樣本的個數要大於聚類個數的平方。
①如果需要聚類的數據量較少(&<100),那麼三種方法(層次聚類法,K-均值聚類法,兩步聚類法)都可以考慮使用。優先考慮層次聚類法,因為層次聚類法產生的樹狀圖更加直觀形象,易於解釋,並且,層次聚類法提供方法、距離計算方式、標準化方式的豐富程度也是其他兩種方法所無法比擬的。
②如果需要聚類的數據量較大(&>1000),應該考慮選擇快速聚類別法或者兩步聚類法進行。
③如果數據量在100~1000之間,理論上現在的計算條件是可能滿足任何聚類方法的要求的,但是結果的展示會比較困難,例如不可能再去直接觀察樹狀圖了。
應用定量方法還是定性方法?
聚類分析是一種定量分析方法,但對聚類分析結果的解釋還需要結合定性資料討論。
1.聚類分析的定義與用途
聚類分析(Cluster Analysis)是一種探索性的數據分析方法,根據指標/變數的數據結構特徵,對數據進行分類,使得類別內部的差異儘可能的小,即同質性高,類別間的差異儘可能的大,即同質性低。
2.聚類分析的方法
①層次聚類法(Hierarchical),也叫系統聚類法。既可處理分類變數,也可處理連續變數,但不能同時處理兩種變數類型,不需要指定類別數。聚類結果間存在著嵌套,或者說層次的關係。
②K-均值聚類法(K-Means Cluster),也叫快速聚類法。針對連續變數,也可處理有序分類變數,運算很快,但需要指定類別數。K-均值聚類法不會自動對數據進行標準化處理,需要先自己手動進行標準化分析。
③兩步聚類法(Two-Step Cluster):可以同時處理分類變數和連續變數,能自動識別最佳的類別數,結果比較穩定。如果只對連續變數進行聚類,描述記錄之間的距離性時可以使用歐氏(Euclidean)距離,也可以使用對數似然值(Log-likelihood),如果使用前者,則該方法和傳統的聚類方法並無太大區別;但是若進行聚類的還有離散變數,那麼就只能使用對數似然值來表述記錄間的差異性。當聚類指標為有序類別變數時,Two-Step Cluster出來的分類結果沒有K-means cluster的明晰,這是因為K-means演算法假定聚類指標變數為連續變數。
3.聚類分析的步驟
①確定研究目的:研究問題關注點有哪些、是否有先驗分類數…
②問卷編製:態度語句李克特項目、有序類別…
③確定分析變數:問卷變數的類型,連續or分類,有序類別or無序類別、是否納入後台數據,變數間相關性低…
④聚類分析:聚類分析方法選擇、數據標準化方法、聚類類別數確定…
⑤結果檢驗:類別間差異分析、是否符合常理…
⑥聚類結果解釋:類別的命名、類別間的差異、結合定性資料解釋…
需要搜集用戶的哪些特徵?需要多少樣本量?應用定量方法還是定性方法?
我通俗地解釋下吧
聚類分析,是對樣本進行分類,可以對樣本的所有樣本量進行聚類(稱為Q型聚類),也可以對樣本的所有變數進行聚類(稱為R型聚類)。問題中搜集用戶特徵就是變數,沒有要求,什麼都可以,看你要對用戶的哪些特徵進行分析那就選為變數唄。所以可以應用定量分析方法,也可以用定性分析方法。對樣本量或者變數的個數沒有限定,2個以上吧,不然就一類要怎麼分 lol 。不過結果是你想分成多少類都可以,一般我們都用5到6類。
以下我解釋下怎樣進行聚類分析。為使打字方便,以下內容我假設是進行Q型聚類,即對樣本的所有樣本量進行聚類。R型聚類分析方法可同理得。
聚類分析的原理是選取一種標準,對研究對象按照這種標準進行分析分類。這種標準可以有距離,相關係數或是夾角餘弦值等等。一般情況選取距離來對研究對象進行分析分類。研究對象之間的距離也有很多種計算方法,比如歐氏距離法,明氏距離法等等,一般我們用歐式距離法。計算公式是兩點之間的距離開方。
接下來就可以進行聚類了!
如果要用手工進行分類,可以有最小距離法,最大距離法,類平均法,中心法等等。原理是按照這幾種方法的距離計算方法將距離最短的兩個研究對象聚在一起,然後拿已經聚在一起的兩個研究對象看成新的研究對象繼續算與其他對象的距離,繼續將距離最短的聚在一起。重複這個方法就可以將所有研究對象都聚類完成了。最好畫個樹狀圖顯示,之後你就可以看到你想將他們分為多少類都可以。
對於大數據和多變數我們現在都用軟體啦,推薦SPSS。手工的演算法只適合玩玩小數據。以下介紹用軟體方法。一般有K-means演算法和系統聚類法。
#1 K-M聚類法原理是首先你告訴軟體你要分成多少類,假設三類,軟體會隨機選取三個研究對象假設它們是這三類的類中心。然後計算剩下所有研究對象到這三個類中心的距離,選擇最短距離的聚為一類,這樣便可以將所有的研究對象進行了一次分類。還沒完,因為一開始三個點是隨機選取,所以要進行檢驗。通過判斷分成這三類中,每一類之間的方差是否達到符合的標準,不符合就要再來一次。重新計算第一次分類出來的結果,選取每一類中新的中心做為新的三個類中心,然後再進行分類。直到每一類之間點方差小於某個值(忘記了好像是0.02),變完成分類了。這種方法只能用在Q型聚類。但這個演算法比較快,平常也叫快速聚類法。
#2 系統聚類法原理是將n個研究對象看成n類,然後將距離最近的兩類合併為一類;再從n-1類中選擇距離最近的兩類合併,依此類推,直到所有研究對象合併成一類。最終結果用樹狀圖或冰柱圖顯示出來。這類方法可以用在Q型也可以用在R型。而且結果出來之後你可以根據自己需要想分成多少類都可以。
小弟第一次回答這麼長問題,有錯誤歡迎指出,有疑問歡迎提出。一不小心就用手機碼了這麼多字 o_O
所謂聚類分析,其實是根據不同類別之間的親疏關係來進行歸類(親疏關係用距離來衡量。n多距離可以選做參考)。所以是定量的方法。 哪些特徵? 這個就不是方法能決定的,而是問題所決定的。比如對不同班級的學生成績做聚類。那收集不同班級的各科成績當然就是好的特徵,收集他們的身高,就不是很必要了(當然,你也可以認為成績和身高有關係。。) 樣本量這個,,功夫不到家啊,我還沒學,回頭查查資料,看能不能補上這一塊。
從統計學習的角度來看,聚類分析是一種無監督的學習過程。通過用戶的某種距離之間的遠近來確定哪些用戶被聚為一類。距離,不僅僅包括了常見的歐幾里得距離,還有馬氏距離,甚至夾角的餘弦也能表示距離。距離很大程度上是做分析的人本身來定義的。因此,對於第一個問題,需要收集什麼特徵,這需要具體問題具體分析。需要樣本量,你有多少用戶做聚類就是多少。聚類本身不需要估計參數,因此考慮樣本量是沒有意義的。但是對於用以聚類的距離,可能需要進行某些估計,但這就是另外一個問題了。
需要搜集用戶的哪些特徵?答:哪些特徵要根據你的業務目標,雖然聚類是無監督學習,但任何挖掘都有背後的業務背景,根據業務背景挑選變數。
需要多少樣本量?
理論上聚類的樣本越大越好。學Matlab吧,神軟體,啥都有!
推薦閱讀: