Stata:聚类分析-cluster
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
连享会视频课 · 因果推断实用计量方法
作者:李秋萍 (中国地质大学)
邮箱:liqiuping2017@outlook.com
目录
1. 简介
2. 理论背景
2.1 聚类分析的原理
2.2 聚类分析统计量
2.3 聚类分析的类型
3. Stata 实操
3.1 cluster 命令
3.2 clustermat 命令
4. 参考文献
5. 相关推文
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 简介
聚类分析是一种探索性的数据分析,用于分类观察和辨别不同的群体的多元统计分析方法; 将样本或变量根据数据特征 (内在相似性 ) 划分成不同类别,类别内的数据差异尽可能小,而类别之间的差异尽可能大; 它适合用来分析复杂的数据集,通常使用的回归建模方法可能由于异常值、复杂的相互影响或违背假设而不适用; 应用方向广泛,被广泛应用于数据挖掘、经济分析、地质勘探、土壤分类、天气预报等各个领域。
2. 理论背景
2.1 聚类分析的原理
基本思想:研究的样本或变量之间存在着程度不同的相似性 (亲疏关系)。
基本原理:根据样本自身的属性,用数学方法按照某种相似性 (或差异性 ) 指标,定量地确定样本之间的亲疏关系,并按这种亲疏关系程度对样本进行聚类。
分析步骤:
对数据进行变换处理; 找出能够度量样本或变量之间相似程度的统计量; 利用统计量将样本或变量进行分类; 决定类的个数,得出聚类结果。
2.2 聚类分析统计量
研究样本或变量的相似性的数量指标有两种:
相似系数:性质越相似的样本或变量,它们的相似系数越接近于 1 或 -1,而彼此越无关的变量或样本相似系数越接近于 0。常用相似系数统计量有两个:
相关系数
夹角余弦
距离:将每一个样本看作 p 维空间的一个点,用某种度量测量点与点之间的距离,距离较近的归为一类,距离较远的点归为不同类。常用距离统计量有以下几种:
绝对距离
欧式距离
兰式距离
马氏距离
切比雪夫距离
2.3 聚类分析的类型
根据聚类对象的不同,分为 Q 型聚类和 R 型聚类:
Q 型聚类:样本之间的聚类,按照变量对所观察的样本进行分类,常用距离来测度样本之间的相似程度。 R 型聚类:变量之间的聚类,按照样本对多个变量进行分类,常用相似系数来测度变量之间的相似程度。
根据聚类方法的不同分为系统聚类、K 均值聚类、模糊聚类、图论聚类法等,其中,
系统聚类法:最常用的聚类方法之一,又称为层次聚类 (hierarchical cluster)。事先不确定要分多少类,先把每一个对象作为一类,然后按照一定层次进行分类聚类。不仅度量个体之间的距离,还度量类与类之间的距离,由类间距离定义的不同产生不同的聚类方法;
K 均值聚类法:又称为快速聚类 (quick cluster),事先需要确定要分的类别数据,效率比层次聚类要高。若观测数据比较大 (通常 200 以上),宜使用快速聚类分析方法。
3. Stata 实操
3.1 cluster 命令
// Kmeans cluster analysis
cluster kmeans [varlist] [if] [in] , k(#) [ options ]
// Kmedians cluster analysis
cluster kmedians [varlist] [if] [in] , k(#) [ options ]
options Description
---------------------------------------------------------------
* k(#) 聚类到 # 个组
measure(measure) 相似性或不相似性度量,默认为 L2 (欧式距离)
name(clname) 聚类分析结果名称
Options
start(start_option) 获取 k 个初始组
keepcenters 将 k 个最终组的平均值或中位数添加到数据中
Advanced
generate(groupvar) 分组变量名称
iterate(#) 最大迭代次数,默认是迭代 (10000)
---------------------------------------------------------------
. webuse labtech, clear //加载数据
. cluster kmeans x1 x2 x3 x4, k(8) //进行 kmeams 聚类分析,生产8个组
. cluster kmeans x1 x2 x3 x4, k(8) measure(L1) name(k8abs) //用绝对值距离代替欧氏距离,命名聚类分析结果为k8abs
. cluster kmedians x1 x2 x3 x4, k(6) measure(Canberra) //执行kmedians聚类分析,使用兰式距离创建6个组
. cluster kmedians x1 x2 x3 x4, k(6) start(firstk) //创建6个组,使用数据集中的前6个观察数据作为起始中心
. cluster kmedians x1 x2 x3 x4, k(6) start(firstk, exclude) //不包括前6个观察结果
3.2 clustermat 命令
clustermat
命令是 cluster
命令中的一部分,对用户提供的不相似矩阵进行层次聚类分析。使用 clustermat
命令可以使用所有的分层聚类方法,但不可以使用分区聚类方法 (kmeans 和 kmedians)。
clustermat linkage matname ...
linkage Description
----------------------------------------------------------------
singlelinkage single-linkage cluster analysis
averagelinkage average-linkage cluster analysis
completelinkage complete-linkage cluster analysis
waveragelinkage weighted-average linkage cluster analysis
medianlinkage median-linkage cluster analysis
centroidlinkage centroid-linkage cluster analysis
wardslinkage Ward's linkage cluster analysis
---------------------------------------------------------------
. webuse wclub, clear //加载数据
. matrix dissimilarity clubD = , variables Jaccard dissim(oneminus)
. matlist clubD[1..5, 1..5] //检查不相似矩阵
. clustermat singlelinkage clubD, name(singlink) clear //执行最短距离聚类分析,并清除内存中的数据集
. cluster dendrogram singlink //图形
. clustermat wardslinkage clubD, name(wardslink) add //执行Ward距离聚类分析,在内存中添加结果
. cluster dendrogram wardslink //查看结果
在聚类命令后,可用 cluster list
命令描述聚类过程:
. cluster list
wardslink (type: hierarchical, method: wards, dissimilarity: user matrix clubD)
vars: wardslink_id (id variable)
wardslink_ord (order variable)
wardslink_hgt (height variable)
other: cmd: clustermat wardslinkage clubD, name(wardslink) add
singlink (type: hierarchical, method: single, dissimilarity: user matrix clubD)
vars: singlink_id (id variable)
singlink_ord (order variable)
singlink_hgt (height variable)
other: cmd: clustermat singlelinkage clubD, name(singlink) clear
4. 参考文献
陈峰. 现代医学统计方法与 Stata 应用. 第2版[M]. 中国统计出版社, 2003. cluster
帮助文档
5. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh cluster 聚类, m
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:回归分析 Stata:聚类调整标准误笔记 Stata:聚类调整后的标准误-Cluster-SE 小样本下OLS估计的纠偏聚类标准误 专题:面板数据 wcbregress:面板聚类标准误
课程推荐:因果推断实用计量方法
主讲老师:邱嘉平教授
🍓 课程主页:https://gitee.com/lianxh/YGqjp
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。