R语言k-prototype聚类新能源汽车行业上市公司分析混合型数据集

本文的研究目的是基于R语言的k-prototype算法,帮助客户对新能源汽车行业上市公司进行混合型数据集的聚类分析。

由Kaizong Ye,Coin Ge撰写

通过对公司的财务数据、市场表现和发展战略等多个方面的变量进行聚类分析,我们可以将这些公司划分为不同的类别,并分析不同类别的特点和发展趋势。


这样的研究结果对于投资者、政策制定者和行业从业者都具有重要的参考价值,可以帮助他们更好地了解新能源汽车行业上市公司的发展状况和市场表现,从而做出更明智的决策。

分析目标

本项目旨在使用聚类算法对不同城市的新能源汽车行业上市公司进行分类与排序,以寻找客观真实的城市分层方法、支持业务运营与决策。

方法论

首先,由于数据集呈现分类变量与数值变量混合的特点,本次数据分析将采用K-prototype算法:

K-prototype算法:无需创建哑变量,将分别为分类变量计算汉明距离、为数值型变量计算欧几里得距离然后得出聚类结果。


视频

KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例

探索见解

去bilibili观看

探索更多视频

算法运行结束后将使用成本函数评价聚类效果。 其次,数值型变量b、c、d的量纲明显不等,为避免量纲影响距离计算中不同变量的权重,需要对变量b、c、d进行处理。由于不知道是否符合正态分布,在这里使用归一化而非标准化。

查看数据

在进行聚类分析之前,首先需要查看数据集,了解数据的结构和特征。通过使用R语言中的相关函数和包,我们可以读取数据集,并使用函数如summary()和head()来查看数据的概要和前几行。

image.png




data=read.csv("新能源汽车 汇总.csv")
image.png
image.png

图片

MATLAB、R基于Copula方法和k-means聚类的股票选择研究上证A股数据

阅读文章


image.png


随时关注您喜欢的主题


对数据进行kp聚类(k=3)

对数据进行聚类 在进行聚类分析之前,我们需要选择适当的聚类算法。对于混合型数据集,我们可以使用R语言中的k-prototype算法。该算法可以同时处理数值型和分类型变量,并根据变量之间的相似性将样本划分为不同的聚类。

x=data[,-c(1:2)]  
d <- dist(x)  
pclust=function(k){  
  n=nrow(data)  
cut <- tocut(hc, k=k)  
 h <- hc$height[n - k]
clust(3)
image.png
image.png
lust(4)
image.png
image.png
st(5)
image.png
image.png
ust(6)
image.png
image.png

将数据使用算法分成4个类别后可以看到 每个类别之间分布呈不同的簇,交集较少 ,因此可以认为得到的聚类结果较好。

删除相关性变量

删除相关性变量 在进行聚类分析之前,我们需要删除相关性较高的变量。高相关性的变量可能会导致冗余的信息,并且可能会对聚类结果产生负面影响。通过计算变量之间的相关系数,并选择相关系数较低的变量进行保留,我们可以减少变量的维度,从而提高聚类的效果。






cor(data[,-c(1:2)])
image.png
image.png
image.png
image.png
image.png

找到高相关性变量(相关系数大于0.8)

找到高相关性变量 除了删除高相关性的变量外,我们还可以找出相关系数较高的变量对。这些变量对可能包含一些重要的信息,可以帮助我们更好地理解数据。通过计算变量之间的相关系数,并选择相关系数较高的变量对,我们可以得到一组关键的变量对,用于进一步的分析和解释。

highcor=which(abs(cor(data[,-c(1:2)]))>0.85,arr.ind = T)

clust(2)
image.png
image.png
lust(3)
image.png
image.png
lust(4)
image.png
image.png
ust(5)
image.png
image.png
lust(6)
image.png
image.png

将数据使用算法分成4个类别后可以看到 每个类别之间分布呈不同的簇,交集较少 ,因此可以认为得到的聚类结果较好。

数据标准化

在进行聚类分析之前,我们需要对数据进行标准化。标准化可以将不同变量之间的尺度差异进行统一,从而避免某些变量对聚类结果的影响过大。通过使用R语言中的scale()函数,我们可以对数据进行标准化处理。

x=scale(data2[,-c(1:2)])  
d <- dist(x)  
hc <- prolust(d)

lust(2)
image.png
image.png
st(3)
image.png
image.png
ust(4)
image.png
image.png
ust(5)
image.png
image.png
ust(6)
image.png
1111.png

将数据使用算法分成4个类别后可以看到 每个类别之间分布呈不同的簇,交集较少 ,因此可以认为得到的聚类结果较好。

通过以上步骤,我们可以使用R语言中的k-prototype算法对混合型数据集进行聚类分析,从而帮助我们更好地理解和解释新能源汽车行业上市公司的特征和模式。这对于业界和学术界的研究人员来说,具有重要的实际和理论意义。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds