R语言聚类分析、因子分析、主成分分析PCA农村农业相关经济指标数据可视化|数据分享

简介: R语言聚类分析、因子分析、主成分分析PCA农村农业相关经济指标数据可视化|数据分享

随着农业和农村经济的快速发展,各地区之间的经济差异日益显著。为了更好地理解这种差异,并为政策制定提供科学依据,本研究帮助客户采用了聚类分析和因子分析、主成分分析3种无监督学习方法,对多个省份的农业、林业、牧业、渔业以及农村居民家庭的相关经济指标进行了深入研究点击文末“阅读原文”获取完整代码数据

相关视频

image.png

通过这两种方法的结合应用,我们期望能够更全面地了解各省份在农业和农村经济方面的特点和差异,为相关政策的制定提供有力支持。

数据

数据主要涉及到多个省份的农业、林业、牧业、渔业以及农村居民家庭的相关经济指标查看文末了解数据免费获取方式。具体来说,这些数据包括农业总产值、林业总产值、牧业总产值、渔业总产值,这些指标反映了不同省份在各类农业产业上的产出情况,是评估农业发展水平的重要依据。此外,数据还包含了农村居民家庭拥有生产性固定资产原值,这一指标反映了农村居民家庭在农业生产上的投资规模,可以体现其生产能力和发展水平。最后,数据中的农村居民家庭经营耕地面积则直接关联到农业生产的基础资源——土地,这一指标能够反映各省份农业生产的规模和潜力。

这些数据都是量化指标,能够直观地反映各省份在农业和农村经济方面的实际情况。通过对这些数据进行聚类分析,可以进一步挖掘各省份在农业和农村经济方面的相似性和差异性,为政策制定者提供决策依据,以便更好地推动各地区的农业和农村经济发展。


0d76ae75eca2df7ef3ccdade1ccf8e16.png

聚类分析

聚类分析是一种无监督学习方法,旨在将数据划分为多个类或簇,使得同一簇内的数据对象尽可能相似,而不同簇间的数据对象尽可能不同。在本研究中,我们采用了层次聚类方法,并利用欧氏距离作为相似度度量

首先,我们将农业总产值、林业总产值、牧业总产值、渔业总产值、农村居民家庭拥有生产性固定资产原值以及农村居民家庭经营耕地面积这六个指标进行了合并,形成一个新的数据集a。这个数据集将用于后续的聚类分析。

a=cbind(农业总产值 ,林业总产值, 牧业总产值, 渔业总产值, 农村居民家庭拥有生产性固定资产原值, 农村居民家庭经营耕地面积)#

接着,我们利用层次聚类算法对数据集a进行了聚类,并绘制了聚类树状图(由于图片链接无法直接显示,请通过提供的链接查看)。树状图展示了各个省份之间基于欧氏距离的相似关系,以及聚类过程中簇的形成和合并过程。

plot(hc1,hang=-2,ylab="欧氏距离",main=


c34b006c145dbbc4d12b4cc22162fa57.png

然后,我们使用函数将聚类树切割成3个簇,并输出了每个省份所属的簇编号。从输出结果中可以看出,各个省份根据它们的农业、林业、牧业、渔业以及农村居民家庭的相关指标被划分到了不同的簇中。

cutree(hc1,3)

a6caad029bca450673622064c2af3ef5.png

为了确定最佳的簇数量,我们进一步使用函数进行了聚类有效性分析。该函数基于多种聚类有效性指标,如Calinski-Harabasz指数(CH指数),在不同的簇数量下评估了聚类的质量。通过比较不同簇数量下的指标值,我们可以确定最佳的簇数量。

res<-complete", index = "ch")  
res$All.index

309322cbca172bfd3d9e238ad1483137.png ba34f70c8cb4e14005b4631d64cf7abb.png

21369f12a4aa20404ce537b3d89d13c9.png

函数的输出结果显示,当簇数量为7时,CH指数达到了最大值126.6607,因此最佳的簇数量为7。此外,函数还输出了簇数量为7时的具体聚类结果,即每个省份所属的簇编号。与之前的3簇聚类结果相比,7簇聚类结果更加细致,能够更好地揭示各个省份在农业和农村经济方面的差异和联系。

综上所述,通过聚类分析,我们可以将各个省份根据其农业和农村经济指标划分为不同的簇,并揭示了它们之间的相似性和差异性。这对于进一步深入研究各个省份的农业和农村经济特点,以及制定针对性的政策措施具有重要意义。

因子分析

因子分析是一种统计方法,用于研究多个变量之间的潜在结构,通过提取少数几个因子来解释原有变量的绝大部分变异。在农业经济学的研究中,因子分析常用于识别不同农业经济指标背后的主要影响因素。

FA=fac 
FA

305a598697377973833ad0385a1745ec.png


输出结果显示:

  • Uniquenesses是每个变量中无法被因子解释的部分,也可以看作是剩余变异。数值越小,说明该变量被因子解释得越好。从结果来看,牧业总产值和渔业总产值的Uniquenesses非常小,接近于0,表明这两个变量的大部分变异能够被提取的因子解释。而农业总产值、林业总产值和农村居民家庭经营耕地面积的Uniquenesses相对较高,说明这些变量中有一部分变异是因子无法解释的。
  • Loadings是因子载荷矩阵,表示每个变量与各个因子的关联程度。数值越大,说明该变量与对应因子的关联越强。从结果来看,农业总产值和牧业总产值与Factor1的关联较强,渔业总产值与Factor3的关联较强,林业总产值则与多个因子都有一定关联,但关联程度不如前两个变量高。此外,农村居民家庭拥有生产性固定资产原值与Factor2的关联最强。
  • SS loadings是每个因子的方差贡献,即该因子解释的变异量。Proportion Var是每个因子解释的变异占总变异的比例,Cumulative Var则是累积解释的变异比例。从结果来看,Factor1解释的变异量最大,达到了36.1%,Factor2和Factor3分别解释了23.3%和17.2%的变异,三个因子累积解释了76.5%的变异。
  • The degrees of freedom for the model is 0 and the fit was 0.0338表示模型的自由度以及模型拟合优度。这里的拟合优度较低,可能是因为数据中存在一定的噪音或者模型假设与实际情况存在偏差。

为了更直观地展示因子分析的结果,我们绘制了因子得分和因子载荷的散点图:

bi$loadings)

27d8a77338b1ac159656b00fa2068494.png


在这张图中,每个点代表一个省份(或样本),点的位置反映了该省份在三个因子上的得分情况。同时,图中的箭头表示各个变量的因子载荷,箭头的方向和长度反映了变量与因子的关联程度和方向。通过这张图,我们可以直观地看到不同省份在因子空间中的分布情况,以及各个变量与因子的关系。例如,农业总产值和牧业总产值与Factor1正相关,而渔业总产值与Factor3正相关。这些结果有助于我们深入理解农业经济指标之间的潜在结构和关系。


主成分分析

主成分分析(PCA)是一种用于数据降维的统计方法,它可以将原始变量转化为少数几个主成分,这些主成分保留了原始数据的大部分变异信息,同时减少了数据的复杂性。下面是对一组数据进行主成分分析的结果解释:

incomp(x)#  分分析  
suary(PCA)

9aaf2a4fd3a32185c5c84db90834ae58.png 15b4b23b43a0cb1c1ddaf28e39138acb.png

  • Importance of components 部分显示了每个主成分的重要性。Standard deviation 是每个主成分的标准差,它反映了主成分的大小或变异程度。Proportion of Variance 表示每个主成分解释的原始数据变异的比例,而 Cumulative Proportion 则显示了累积解释的变异比例。

从结果中可以看出,第一主成分(Comp.1)的标准差最大,解释了约98.18%的变异,而后续的主成分解释的变异比例逐渐减小。到第五个主成分时,累积解释的变异比例已经非常接近100%,表明前几个主成分已经能够很好地概括原始数据的变异情况。

接下来,我们绘制了主成分的碎石图:

screeplot(PCA,type="lines")#

bd7725fdcf775de3475b116d9a401117.png


碎石图是一种可视化工具,用于展示每个主成分解释的变异比例。在图中,每个点或线段的高度代表对应主成分解释的变异比例。通过观察碎石图,我们可以直观地看到哪些主成分对数据的解释贡献较大,以及何时达到一个“拐点”,即后续主成分对变异的解释贡献开始显著下降。

在本例中,碎石图显示第一主成分解释的变异最大,随后逐渐减小。在第一主成分之后,曲线的斜率开始明显变缓,表明后续主成分对变异的解释贡献逐渐减小。这进一步支持了之前通过 summary(PCA) 得到的结论,即前几个主成分已经足够概括原始数据的变异情况。

结合 summary(PCA) 和碎石图的结果,我们可以确定保留的主成分数量,以便在后续分析中使用这些主成分代替原始变量,实现数据的降维和简化。在实际应用中,通常选择那些累积解释变异比例达到一定阈值(如85%或90%)的主成分。

主成分分析的结果主要包括了每个主成分对应的载荷系数以及这些主成分解释的变异比例。载荷系数反映了原始变量与主成分之间的相关性,而解释的变异比例则告诉我们每个主成分对原始数据变异的贡献大小。

首先,我们查看PCA$loadings的结果:

PCA$loadings#


816f905f3ca64164b78b5c5c96b488fa.png

这里的Loadings部分给出了主成分与原始变量之间的相关性。例如,农业总产值与第一主成分(Comp.1)的相关性为0.847,表明第一主成分与农业总产值有较强的正相关关系。类似地,林业总产值与第五主成分(Comp.5)的相关性为-0.994,表示第五主成分与林业总产值有较强的负相关关系。

SS loadings是每个主成分载荷的平方和,反映了主成分对原始变量方差的解释程度。Proportion Var是每个主成分解释的原始数据变异的比例,而Cumulative Var则是累积解释的变异比例。

接下来,我们看手动计算得到的主成分载荷系数:

1493cf84051347ca2f314ee1a87b0cff.png

输出主成分分析(PCA)的载荷系数(loadings)。载荷系数表示原始变量与主成分之间的相关性,可以帮助我们理解每个主成分是由哪些原始变量驱动的。

print(-loadings(PCA),cutoff=0.001)

12e2c449f079a6e57c843f8fb1e2f8d9.png

让我们详细解释一下输出内容:

  1. Loadings 部分
  • 这部分列出了每个原始变量(如“农业总产值”、“林业总产值”等)与每个主成分(如“Comp.1”、“Comp.2”等)之间的载荷系数。载荷系数可以是正数或负数,表示原始变量与主成分之间的正相关或负相关关系。
  • 例如,“农业总产值”与“Comp.1”的载荷系数是0.019,而与“Comp.2”的载荷系数是-0.847。这意味着“农业总产值”与第二个主成分有很强的负相关关系。
  • 注意,“农村居民家庭拥有生产性固定资产原值”在“Comp.1”上的载荷系数是-1.000,这意味着它与第一个主成分有很强的负相关关系。同时,“农村居民家庭经营耕地面积”在“Comp.6”上的载荷系数是-1.000,表示它与第六个主成分有很强的负相关关系。
  1. SS loadings 部分
  • 这部分给出了每个主成分的方差(即载荷的平方和)。在这里,每个主成分的方差都是1.000,这意味着每个主成分解释了相同数量的原始变量方差。
  1. Proportion Var 部分
  • 这部分显示了每个主成分解释的原始变量总方差的比例。由于每个主成分的方差都是1.000,并且总共有6个主成分,所以每个主成分解释的方差比例是1/6,即大约0.167(或16.7%)。
  1. Cumulative Var 部分
  • 这部分显示了累积解释的原始变量总方差的比例。从输出中可以看出,前三个主成分累积解释了50%的方差,前四个主成分累积解释了66.7%的方差,以此类推,直到所有六个主成分累积解释了100%的方差。

柱状图

对农业总产值创建一个水平柱状图(horizontal barplot)。

bar(pv,col=col,horiz = TRUE,xlim=c(-8000.00,5000))


fe1b7de233b9fc4bf6e236e81f8d5eda.png

相关文章
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
3月前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
53 3
|
7月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
7月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
4月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
4月前
|
机器学习/深度学习 数据采集
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分类分析预测房价及交叉验证
上述介绍仅为简要概述,每个模型在实施时都需要仔细调整与优化。为了实现高度精确的预测,模型选择与调参是至关重要的步骤,并且交叉验证是提升模型稳健性的有效途径。在真实世界的房价预测问题中,可能还需要结合地域经济、市场趋势等宏观因素进行综合分析。
88 3