数模学习day11-系统聚类法

本文详细介绍了系统聚类法,包括样品间、指标间以及类间距离的计算方法,展示了最短距离和最长距离法的实际应用,并提到了在SPSS中的实现步骤。同时讨论了聚类分析中需要注意的关键问题,如指标选择、距离定义和方法选择等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考辽宁石油化工大学于晶贤教授的演示文档聚类分析之系统聚类法及其SPSS实现。

目录

1.样品与样品间的距离

2.指标和指标间的“距离”

相关系数

夹角余弦

3.类与类间的距离

(1)类间距离

(2)类间距离定义方式

1.最短距离法

2.最长距离法

3.组间平均连接法

4.组内平均连接法

5.重心法

4.常用系统聚类法

系统聚类法过程

5.例子

最短距离系统聚类法

1.写出样品间的距离矩阵(以欧氏距离为例)

2.将每一个样品看做是一个类

3.观察 D(G2,G4)= 15.9最小

4.观察 D(G6,G7)= 18.2最小

5.最后将G8与G3聚为一类,记为G9

6.该聚类的谱系图

最长距离系统聚类法

1.写出样品间的距离矩阵(以欧氏距离为例)

2.将每一个样品看做是一个类

3.观察 D(G2,G4)= 15.9最小

4.观察 D(G63,G7)= 32.4最小

5.最后将G8与G6聚为一类,记为G9

6.该聚类的谱系图

其它系统聚类法

聚类分析需要注意的问题

系统聚类法的Spss实现

1.录入数据

2.选择方法

3.统计量和绘制选项

4.方法和保存选项

总结


1.样品与样品间的距离

各种距离如下:

最常用的还是绝对值距离(特定距离),和欧式距离

举例使用如下


2.指标和指标间的“距离”

相关系数

夹角余弦

举例如下

3.类与类间的距离

(1)类间距离

由一个样品组成的类是最基本的类,如果每一类都由一个样品组成,那么样品间的距离就是类间距离。

(2)类间距离定义方式

如果某一类包含不止一个样品,那么就要确定类间距离,类间距离是基于样品间距离定义的,大致有如下几种定义方式:

1.最短距离法

2.最长距离法

3.组间平均连接法

4.组内平均连接法

5.重心法

4.常用系统聚类法

系统聚类法过程

5.例子

最短距离系统聚类法

1.写出样品间的距离矩阵(以欧氏距离为例)

2.将每一个样品看做是一个类

G1,G2,G3,G4,G5,观察D(G1,G5) = 15.8最小,故将G1与G5聚为一类,记为G6。

计算新类与其余各类之间的距离,得到新的距离矩阵D1

3.观察 D(G2,G4)= 15.9最小

故将G2与G4聚为一类,记为G7.

计算新类与其余各类之间的距离,得到新的距离矩阵D2

4.观察 D(G6,G7)= 18.2最小

故将G6与G7聚为一类,记为G8.

计算新类与其余各类之间的距离,得到新的距离矩阵D3

5.最后将G8与G3聚为一类,记为G9

6.该聚类的谱系图


最长距离系统聚类法

1.写出样品间的距离矩阵(以欧氏距离为例)

2.将每一个样品看做是一个类

即G1,G2,G3,G4,G5,观察D(G1,G5) = 15.8最小,故将G1与G5聚为一类,记为G6。

计算新类与其余各类之间的距离,得到新的距离矩阵D1

3.观察 D(G2,G4)= 15.9最小

故将G2与G4聚为一类,记为G7.

计算新类与其余各类之间的距离,得到新的距离矩阵D2

4.观察 D(G63,G7)= 32.4最小

故将G3与G7聚为一类,记为G8.

计算新类与其余各类之间的距离,得到新的距离矩阵D3

5.最后将G8与G6聚为一类,记为G9

6.该聚类的谱系图


其它系统聚类法

(1)组间平均连接系统聚类法
(2)重心系统聚类法
(3)组内平均连接系统聚类法

注:这些方法的差别就是在计算新类与其余各类间的距离,
如需学习详细内容,可参考多元统计分析相关书籍。

参考教材:《多元统计分析》,何晓群,中国人民大学出版社,2008.
《多元统计分析》,于秀林,中国统计出版社,2006.


聚类分析需要注意的问题

(1)对于一个实际问题要根据分类的目的来选取指标,指标选取的不同分类结果一般也不同。
(2)样品间距离定义方式的不同,聚类结果一般也不同。
(3)聚类方法的不同,聚类结果一般也不同(尤其是样品特别多的时候)。最好能通过各种方法找出其中的共性。
(4)要注意指标的量纲,量纲差别太大会导致聚类结果不合理。
(5)聚类分析的结果可能不令人满意,因为我们所做的是一个数学的处理,对于结果我们要找到一个合理的解释。


系统聚类法的Spss实现

1.录入数据

2.选择方法

3.统计量和绘制选项

4.方法和保存选项

总结

知识点较多,但是一通百通,具体大家可以参考于晶贤老师的具体内容。

ヾ( ̄▽ ̄)Bye~Bye~

### K-Means聚类算用于选择典型日的实现方 K-Means聚类可以应用于时序列数据分析,以识别具有相似特征的日子作为典型日。通过分析历史数据中的模式并将其分,能够有效找出代表性的日子。 #### 数据预处理 为了应用K-Means进行典型日的选择,首先需要准备合适的数据集。通常情况下,这涉及收集一段时内的每日用电量或其他相关指标,并确保这些数值被标准化以便于比较不同规模下的消费情况[^1]。 ```python import pandas as pd from sklearn.preprocessing import StandardScaler # 假设df是一个包含日期索引和每小时负荷列的DataFrame scaler = StandardScaler() scaled_data = scaler.fit_transform(df) ``` #### 应用K-Means模型 接着,在经过预处理后的数据上运行K-Means算。这里的关键在于决定合适的簇数\( k \),即想要选出多少个典型的天数。可以通过肘部则(elbow method)或轮廓系数(silhouette score)等技术来辅助确定最优的\( k \)[^2]。 ```python from sklearn.cluster import KMeans import matplotlib.pyplot as plt inertia_values = [] for i in range(1, 10): km = KMeans(n_clusters=i, random_state=42).fit(scaled_data) inertia_values.append(km.inertia_) plt.plot(range(1, 10), inertia_values, marker='o') plt.title('Elbow Method For Optimal k') plt.xlabel('Number of clusters') plt.ylabel('Inertia') plt.show() optimal_k = ... # 根据图形判断最佳k值 km_optimal = KMeans(n_clusters=optimal_k, random_state=42).fit(scaled_data) labels = km_optical.labels_ ``` #### 解析结果获取典型日 一旦完成了聚类操作,则可以根据分配给各个簇的日志记录进一步探索哪些特性使得某些天成为“典型”。对于每一个簇而言,可以选择该类别中最接近质心的一天作为其代表性实例;或者计算平均曲线来构建理想化的典型日形象。 ```python centroids = km_optimal.cluster_centers_ def find_nearest_day_to_centroid(cluster_index): cluster_points = scaled_data[labels == cluster_index] distances_from_center = ((cluster_points - centroids[cluster_index])**2).sum(axis=1) nearest_point_idx = distances_from_center.argmin() return df.index[nearest_point_idx] typical_days_indices = [find_nearest_day_to_centroid(i) for i in range(optimal_k)] print("Selected typical days:", typical_days_indices) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WenJGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值