聚類分析算法及SAS實現


    聚類分析是用戶細分里面最為重要的工具,而用戶細分則是整個精准營銷里面的基礎。

    聚類分析方法分為:

  • 層次法:可分為凝聚式和分列式,適用於觀測數比較少的情形

1、凝聚式:將每個觀測都歸為一類,然后每次都將最相似的兩個類合並成一個新的類,直至所有的觀測成為一類或者達到所預訂的分類條件為止。SAS中的層次法都是凝聚式。

    分列式:將所有觀測歸為一類,接下來美的都把現有的類別按照相似程度一分為二,直至每一觀測都各自成為一類或者達到預訂的分類條件為止。

2、使用過程CLUSTER實現層次法

proc cluster data=  outtree=用於生成樹形圖的數據集 method=  <選項>;

  by variables;
  copy variables;
  id variables;
  rmsstd variables;/*指定了方根標准方差變量*/
  var variables;
run;
【注:"method= "指定做層次分析的具體方法,可以指定11種系統聚類方法:
  average:類平均法

  centroid:重心法

  complete:最長距離法

  density:密度估算法
  eml:最大似然譜系聚類

  flexible:可變類平均法

  mcquitty:可變法

  mcquitty相似分析法
  median:中間距離法

  single:最短距離法

  twostage:兩階段密度估算法

  ward:離差平方和法

<選項>:CCC用於輸出(cubic clustering criterion)值,稱三次聚類准則;

             pseudo用於輸出偽F統計量與偽T統計量;

             rsquare用於輸出統計量R方(越大表示類之間分得越開,聚類效果越好)與半偏R方(上一步與該步的差異,越小越好);】

對樹形圖進行控制:

proc tree data= haxis=用於自定義橫坐標軸(例如通過axis order=(0 to 1 by 0.1)事先定義,然后直接引用axis)  horizontal 用於指定生成水平數;

name 變量;

height 變量;

copy 變量;

id 變量;

run;

  • 划分法:在開始階段指定某幾個類中心,接下來通過計算將每個觀測暫時歸到距離其最近的類中心所在的類,並且不斷調整類中心直至收斂。

1、使用fastclus實現K均值聚類法,可用來處理規模較大的數據。

proc fastclus data=數據集 maxc=聚類分析生成的分類數目的最大值,默認100 maxiter=為重新計算種子類的最大迭代次數 out=指定輸出數據集;

var 變量;

run;

 

 

(未完待續)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM