当前位置:   article > 正文

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

聚类算法里数值越大

全文链接:https://tecdat.cn/?p=35360

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

相关视频

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

数据

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

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

f4be44c035c6d912290bd7561d3ddb13.png

聚类分析

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

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

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

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

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

c11486531cc5f0bed16b8cd36f0ee11e.png

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

cutree(hc1,3)

4c48fcbc60d5f282ae9aeb0f50a42c7e.png

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

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

103a0449e7ae83984599d62627b3e663.png

3be4677ea50bb8cd3d8497e9cc5ed9ca.png

72828ac5288a7f7158e48d1e357943f4.png

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

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

因子分析

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

  1. FA=fac
  2. FA

f6bb40e23050b92509b677e18653c00e.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)

13ba65c2efb260980b91959bd6f80609.png

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


点击标题查阅往期内容

1e3df3eb9c784ae3957ed5471b43be69.jpeg

R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例

outside_default.png

左右滑动查看更多

outside_default.png

01

230158bd1d24c3dd3f4e73a8b547adfa.png

02

bae51dea00e607194101b7d19617f092.png

03

293e7625a6b33ae7d9b07707e0f590aa.png

04

e7e7077904f29ab871c378331acc372f.png

主成分分析

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

  1. incomp(x)#  分分析
  2. suary(PCA)

dfa4823b7299b3ba98fd636db6486121.png

2bfb8db0ee1522ecf76456030faa0cc5.png

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

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

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

screeplot(PCA,type="lines")#

1499f356e815650427d86136044e0f1a.png

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

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

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

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

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

PCA$loadings#

f88375c3f0fbf3d84c66eacc0969919b.png

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

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

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

9f86280d4e826e97e6119f5b57c63fc3.png

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

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

b40cd2d5a9197f4496800556808fa064.png

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

  1. Loadings 部分:

  • 这部分列出了每个原始变量(如“农业总产值”、“林业总产值”等)与每个主成分(如“Comp.1”、“Comp.2”等)之间的载荷系数。载荷系数可以是正数或负数,表示原始变量与主成分之间的正相关或负相关关系。

  • 例如,“农业总产值”与“Comp.1”的载荷系数是0.019,而与“Comp.2”的载荷系数是-0.847。这意味着“农业总产值”与第二个主成分有很强的负相关关系。

  • 注意,“农村居民家庭拥有生产性固定资产原值”在“Comp.1”上的载荷系数是-1.000,这意味着它与第一个主成分有很强的负相关关系。同时,“农村居民家庭经营耕地面积”在“Comp.6”上的载荷系数是-1.000,表示它与第六个主成分有很强的负相关关系。

SS loadings 部分:

  • 这部分给出了每个主成分的方差(即载荷的平方和)。在这里,每个主成分的方差都是1.000,这意味着每个主成分解释了相同数量的原始变量方差。

Proportion Var 部分:

  • 这部分显示了每个主成分解释的原始变量总方差的比例。由于每个主成分的方差都是1.000,并且总共有6个主成分,所以每个主成分解释的方差比例是1/6,即大约0.167(或16.7%)。

Cumulative Var 部分:

  • 这部分显示了累积解释的原始变量总方差的比例。从输出中可以看出,前三个主成分累积解释了50%的方差,前四个主成分累积解释了66.7%的方差,以此类推,直到所有六个主成分累积解释了100%的方差。

柱状图

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

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

7e3929f6553c85354c07ddae5a7f1abd.png

数据获取

在公众号后台回复“农业数”,可免费获取完整数据。


7acca72bce30445b780a7c96ea1688ed.jpeg

本文中分析的数据分享到会员群,扫描下面二维码即可加群!

ecc2542ef99d99691b27b8ce40c4ebdb.png

222c2435b1da99ef5cc37c0fb8f3c332.jpeg

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言聚类分析、因子分析、主成分分析PCA农村农业相关经济指标数据可视化》。

cce06e98c866b5f9a2c94b5645a2faf6.jpeg

85bfecfeb832b3fd7031fe677fd04aa6.png

点击标题查阅往期内容

数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC

MATLAB随机森林优化贝叶斯预测分析汽车燃油经济性

R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数

R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

Python贝叶斯回归分析住房负担能力数据集

R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析

Python用PyMC3实现贝叶斯线性回归模型

R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言贝叶斯线性回归和多元线性回归构建工资预测模型

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言stan进行基于贝叶斯推断的回归模型

R语言中RStan贝叶斯层次模型分析示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型

R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据

R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析

R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者

R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化

f6e8614c793c0bdf93f393ecc2fb6f1c.png

96f62e3cfd0468d37a99bf5cdd59a1bc.jpeg

f2146808ddfc8eb541a70c7dd5667662.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/299554
推荐阅读
相关标签
  

闽ICP备14008679号