赞
踩
目录
原始数据是31*24的矩阵(省份/各指标)
- library(xlsx)
- data <- read.xlsx("D://input.xlsx, sheetIndex = 1)
- std <- scale(data) # 标准化
- df <- as.data.frame(std)
- library(psych)
- c <- as.data.frame(cor(df)) # 相关系数矩阵
- KMO(c) # KMO
- bartlett.test(c) # 巴特利球形检验
bartlett.test是方差齐性检验不是球形度检验,球形度检验可用psych包的cortest.bartlett函数
-- 用户 qq_41785446
KMO抽样适当性用于研究变量之间的偏相关系数,值越接近1,越适合做因子分析,0.7以上适合,0.5以下不可用因子分析。
Bartlett's球形检验,研究相关矩阵中变量的相关性,是否独立,假设α=0.05,计算得出p<0.05即适合应用因子分析。
结果如下:
- Kaiser-Meyer-Olkin factor adequacy
- Call: KMO(r = c)
- Overall MSA = 0.73
-
-
- Bartlett test of homogeneity of variances
-
- data: as.data.frame(cor(data))
- Bartlett's K-squared = 38.511, df = 23, p-value = 0.02243
fa.parallel(df, fa = "pc", n.iter = 100, show.legend = F, main = "Scree plot with parallel analysis")
画出碎石图,第一个参数为待研究的数据集或相关系数矩阵,fa为主成分分析(fa= "pc")或者因子分析(fa = "fa"),n.iter指定随机数据模拟的平行分析的次数。
如图,结合实际情况,判断4个主成分可解释大部分数据信息。
df.pc <- principal(df, nfactors = 4, score = T, rotate = 'varimax')
第一个参数为原始数据或数据的相关系数矩阵,nfactors指定主成分个数,score表示是否计算主成分得分,rotate表示旋转方法,varimax为最大方差旋转。
运行结果:
- Principal Components Analysis
- Call: principal(r = data, nfactors = 4, rotate = "varimax", scores = T)
- Standardized loadings (pattern matrix) based upon correlation matrix
- RC1 RC2 RC3 RC4 h2 u2 com
- X1 0.81 0.32 -0.02 -0.29 0.84 0.160 1.6
- X2 -0.03 0.83 0.07 -0.05 0.70 0.296 1.0
- X3 0.01 0.96 -0.01 -0.06 0.92 0.082 1.0
- X4 -0.04 -0.49 0.63 -0.37 0.78 0.222 2.6
- X5 0.09 0.53 0.77 0.03 0.89 0.111 1.8
- X6 0.23 0.18 0.89 0.19 0.91 0.086 1.3
- X7 0.09 -0.04 0.92 0.11 0.86 0.138 1.1
- X8 0.79 -0.20 0.33 0.14 0.80 0.198 1.6
- X9 0.93 0.31 0.05 0.03 0.97 0.035 1.2
- X10 0.16 0.91 -0.05 0.05 0.86 0.136 1.1
- X1 0.92 -0.01 0.14 0.33 0.97 0.033 1.3
- X12 0.25 -0.02 0.09 0.87 0.82 0.179 1.2
- X13 0.31 0.04 0.26 0.33 0.27 0.729 2.9
- X14 0.97 0.05 0.09 0.06 0.95 0.047 1.0
- X15 0.97 -0.02 0.12 0.13 0.98 0.024 1.1
- X16 0.94 -0.06 0.10 0.16 0.91 0.087 1.1
- X17 0.96 0.09 0.05 0.05 0.94 0.055 1.0
- X18 0.96 0.06 0.10 0.14 0.96 0.040 1.1
- X19 0.95 0.01 0.14 0.14 0.95 0.051 1.1
- X20 0.89 0.33 -0.07 -0.03 0.90 0.099 1.3
- X21 0.92 -0.01 0.08 0.29 0.93 0.066 1.2
- X22 0.93 0.05 0.05 0.22 0.93 0.072 1.1
- X23 0.12 0.83 0.19 0.08 0.75 0.253 1.2
- X24 0.78 0.57 0.08 -0.11 0.94 0.057 1.9
-
- RC1 RC2 RC3 RC4
- SS loadings 11.89 4.39 2.96 1.50
- Proportion Var 0.50 0.18 0.12 0.06
- Cumulative Var 0.50 0.68 0.80 0.86
- Proportion Explained 0.57 0.21 0.14 0.07
- Cumulative Proportion 0.57 0.78 0.93 1.00
-
- Mean item complexity = 1.4
- Test of the hypothesis that 4 components are sufficient.
-
- The root mean square of the residuals (RMSR) is 0.03
- with the empirical chi square 16.63 with prob < 1
-
- Fit based upon off diagonal values = 1
RC列为旋转的成分载荷(component loadings),成分载荷是原始变量与主成分的相关系数。
h2列是成分公因子方差,是主成分对每个变量的方差解释度。u2列是成分唯一性,是主成分无法解释变量方差的比例,u2 = 1-h2。
SS loadings包含了与主成分相关联的特征值,其含义是与特定主成分相关联的标准化后的方差值。
Proportion Var和Cumulative Var分别为主成分对整个数据集的方差解释度和累积解释度。
df.pc$scores
scores为最终得出的主成分得分表,手工计算过程如下:
r <- round(unclass(df.pc$weights),4)
计算主成分得分的系数如下:
- RC1 RC2 RC3 RC4
- X1 0.1067 0.0405 -0.0260 -0.3003
- X2 -0.0298 0.1996 0.0180 -0.0166
- X3 -0.0267 0.2291 -0.0164 -0.0127
- X4 0.0282 -0.1393 0.2647 -0.3473
- X5 -0.0416 0.1152 0.2713 -0.0184
- X6 -0.0342 0.0269 0.3050 0.0739
- X7 -0.0351 -0.0239 0.3287 0.0174
- X8 0.0660 -0.0774 0.0872 -0.0006
- X9 0.0850 0.0415 -0.0218 -0.0700
- X10 -0.0182 0.2173 -0.0418 0.0525
- X11 0.0605 -0.0259 -0.0047 0.1536
- X12 -0.0655 0.0136 -0.0317 0.6542
- X13 -0.0128 0.0063 0.0606 0.2178
- X14 0.0931 -0.0223 -0.0085 -0.0546
- X15 0.0879 -0.0375 0.0005 -0.0079
- X16 0.0833 -0.0449 -0.0088 0.0197
- X17 0.0939 -0.0108 -0.0221 -0.0608
- X18 0.0831 -0.0161 -0.0088 0.0091
- X19 0.0823 -0.0279 0.0074 0.0051
- X20 0.0901 0.0491 -0.0626 -0.1039
- X21 0.0668 -0.0272 -0.0236 0.1271
- X22 0.0743 -0.0137 -0.0327 0.0769
- X23 -0.0325 0.1963 0.0473 0.0689
- X24 0.0726 0.1041 0.0005 -0.1588
主成分得分计算公式如下:
- Y1 = 0.1067 * X1 + (-0.0298) * X2 + ... + 0.0726 * X24
- Y2 = 0.0405 * X1 + 0.1996 * X2 + ... + 0.1041* X24
- Y3 = (-0.0260) * X1 + 0.0180 * X2 + ... + 0.0005 * X24
- Y4 = (-0.3003) * X1 + (-0.0166) * X2 + ... + (-0.1588) * X24
其中X1 - X24为原始数据标准化后各省份的24个指标,可用矩阵乘法:
score <- std%*%r # 与df.pc$scores相等
结果主成分得分表如下:
- RC1 RC2 RC3 RC4
- [1,] 0.40729898 -0.173988020 0.3874556281 -0.05301080
- [2,] -1.11682799 3.104539282 0.2310040265 0.60184756
- [3,] -0.04509375 0.229832267 -1.1062683021 -0.39688093
- [4,] -0.71721994 -0.749769819 0.3995516215 1.13331645
- [5,] 2.91766096 0.734141346 -1.1791637869 -2.14197781
- [6,] 0.17749738 -0.690481842 -0.5628109196 0.53953253
- [7,] -0.03367267 -0.723251304 -1.0836460962 1.09011180
- [8,] -0.86022463 -0.291414007 -1.9600090694 -0.37513876
- [9,] 0.50495206 -0.424048981 1.6929722708 -0.68088505
- [10,] 1.45359875 -0.267438597 1.2868414727 1.09157465
- [11,] -0.59200310 -0.736893391 -0.5732582975 -0.30519019
- [12,] 0.13895423 0.029367429 0.2163135817 1.32646802
- [13,] 0.63922771 -0.586245802 -0.1177545454 1.47301905
- [14,] -0.62147239 -0.500275978 -0.2545086584 -0.68977632
- [15,] 1.34318980 0.981143787 0.0981679196 -0.11875221
- [16,] 0.02204232 -0.595260913 -0.0001144507 0.07397632
- [17,] -0.26121812 -0.466174073 0.8677822669 -1.20619899
- [18,] -0.52920640 -0.615121445 -0.0818874678 -1.11865934
- [19,] -1.13707465 -0.450476775 0.5863590254 -0.57419736
- [20,] -1.05941504 -0.712859015 -0.7051014525 -0.33757004
- [21,] 2.06363902 -0.002806274 0.8336204460 -0.29548958
- [22,] -0.36818901 -0.879116908 2.1644096748 -1.87451025
- [23,] -0.32916947 0.049866331 0.9159014132 0.72551819
- [24,] -0.88449846 3.122386723 -0.1570580513 -0.10809760
- [25,] 1.30733297 -0.209142083 -0.4173914171 1.30022098
- [26,] -1.11881175 0.989024251 1.2014332388 -1.11430325
- [27,] -0.92599215 -0.622679157 -1.9232374802 -1.32427272
- [28,] -0.78797400 -0.470430084 1.1359083954 1.14567797
- [29,] 0.13066474 -0.557327941 -1.3221012565 0.67248017
- [30,] 0.81304934 1.248037288 -0.6996913436 0.10561151
- [31,] -0.53104474 0.236863707 0.1262816138 1.43555602
从Proportion Var和Cumulative Var可得出RC1方差解释率为0.50,RC2为0.18,RC3为0.12,RC4为0.06,累计方差解释率0.86。
各成分系数分别为R1 = 0.50/0.86、R2 = 0.18/0.86、R3 = 0.12/0.86、R4 = 0.06/0.86
综合主成分得分 = R1*X1 + R2*X2 + R3*X3 + R4*X4
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。