因子分析
factoran
计算因子分析模型中因子负荷矩阵Λ的最大似然估计(MLE)
在哪里x是观测变量的向量,μ是一个常数向量的均值,Λ是一个常数d
——- - - - - -米
因子负荷矩阵,f向量是独立的,标准化的公因式,和e是一个独立的特定因子向量。x,μ,e每个都有长度d
.f长度米
.
或者,因子分析模型可以指定为
在哪里
是一个d
——- - - - - -d
特定方差的对角矩阵。
供factoran
和它的关系主成分分析
,请参阅对考试成绩进行因素分析.
创建一些伪随机原始数据。
rng默认的%用于再现性N = 100;X1 = 5 + 3*rand(n,1);%因子1X2 = 20 - 5*rand(n,1);%因子2
从原始数据中创建六个数据向量,并添加随机噪声。
Y1 = 2*X1 + 3*X2 + randn(n,1);Y2 = 4*X1 + X2 + 2*randn(n,1);Y3 = X1 - X2 + 3*randn(n,1);Y4 = -2*X1 + 4*X2 + 4*randn(n,1);Y5 = 3*(X1 + X2) + 5*randn(n,1);Y6 = X1 - X2/2 + 6*randn(n,1);
从数据向量创建一个数据矩阵。
X = [y1, y2, y3, y4, y5, y6];
从噪声数据矩阵中提取这两个因子X
使用factoran
.显示输出。
M = 2;[lambda,psi,T,stats,F] =因子an(X,m);disp(λ)
0.8666 0.4828 0.8688 -0.0998 -0.0131 -0.5412 0.2150 0.8458 0.7040 0.2678 -0.0806 -0.2883
disp (psi)
0.0159 0.2352 0.7070 0.2385 0.4327 0.9104
disp (T)
0.8728 0.4880 0.4880 -0.8728
disp(统计)
Loglike: -0.0531 dfe: 4 chisq: 5.0335 p: 0.2839
disp (F (1:10)):
1.8845 -0.6568 -0.1714 -0.8113 -1.0534 2.0743 1.0390 -1.1784 0.4309 0.9907 -1.1823 0.6570 -0.2129 1.1898 -0.0844 -0.7421 0.5854 -1.1379 0.8279 -1.9624
查看数据的相关矩阵。
corrX = (X)
corrX =6×61.0000 0.7047 -0.2710 0.5947 0.7391 -0.2126 0.7047 1.0000 0.0203 0.1032 0.5876 0.0289 -0.2710 0.0203 1.0000 -0.4793 -0.1495 0.1450 0.5947 0.1032 -0.4793 1.0000 0.3752 -0.2134 0.7391 0.5876 -0.1495 0.3752 1.0000 -0.2030 -0.2126 0.0289 0.1450 -0.2134 -0.2134 -0.2030 1.0000
比较corrX
返回的对应值factoran
,Lambda * Lambda ' + diag(psi)
.
C0 = lambda*lambda' + diag(psi)
C0 =6×61.0000 0.7047 -0.2726 0.5946 0.7094 -0.2091 0.7047 1.0000 0.0426 0.1023 0.5849 -0.0413 -0.2726 0.0426 1.0000 - 0.605 -0.1542 0.1571 0.5946 0.1023 - 0.605 1.0000 0.3779 -0.2611 0.7394 0.5849 -0.1542 0.3779 1.0000 -0.1340 -0.2091 -0.0413 0.1571 -0.2611 -0.1340 1.0000
factoran
获得λ
而且ψ
与原始数据的相关矩阵紧密对应。
不使用旋转查看结果。
[lambda,psi,T,stats,F] =因子an(X,m,“旋转”,“没有”);disp(λ)
0.9920 0.0015 0.7096 0.5111 -0.2755 0.4659 0.6004 -0.6333 0.7452 0.1098 -0.2111 0.2123
disp (psi)
0.0159 0.2352 0.7070 0.2385 0.4327 0.9104
disp (T)
1 0 0 1
disp(统计)
Loglike: -0.0531 dfe: 4 chisq: 5.0335 p: 0.2839
disp (F (1:10)):
1.3243 1.4929 -0.5456 0.6245 0.0928 -2.3246 0.3318 1.5356 0.8596 -0.6544 -0.7114 -1.1504 0.3947 -1.1424 -0.4358 0.6065 -0.0444 1.2789 -0.2350 2.1169
的协方差矩阵计算因子X
.
X2 = cov(X);[lambda2,psi2,T2,stats2] = factoran(X2,m,“Xtype”,协方差的,“脑袋”, n)
lambda2 =6×20.8666 0.4828 0.8688 -0.0998 -0.0131 -0.5412 0.2150 0.8458 0.7040 0.2678 -0.0806 -0.2883
psi2 =6×10.0159 0.2352 0.7070 0.2385 0.4327 0.9104
T2 =2×20.8728 0.4880 0.4880 -0.8728
stats2 =带字段的结构:Loglike: -0.0531 dfe: 4 chisq: 5.0335 p: 0.2839
结果与原始数据相同,除了factoran
无法计算因子得分矩阵F
对于协方差数据。
加载样例数据。
负载carbig
定义变量矩阵。
X =[加速度、排量、马力、MPG重量];X = X(all(~isnan(X),2),:);
对于有两个共同因素的因素分析,使用最小均方误差预测估计因素负荷。
[Lambda,Psi,T,stats,F] =因子an(X,2,“分数”,“回归”);发票(T ' * T);F的估计相关矩阵,==眼(2)Lambda*Lambda' + diag(Psi);估计相关矩阵λ*发票(T);%取消旋转负载F * T ';取消旋转因子分数
创建两个因素的双线图。
biplot(λ,“线宽”2,“MarkerSize”, 20)
使用协方差(或相关)矩阵估计因子负荷。
[Lambda,Psi,T] = cov(X),2,“Xtype”,协方差的)
λ=5×2-0.2432 -0.8500 0.8773 0.3871 0.7618 0.5930 -0.7978 -0.2786 0.9692 0.2129
ψ=5×10.2184 0.0804 0.0680 0.2859 0.0152
T =2×20.9476 0.3195 0.3195 -0.9476
(你可以用corrcoef (X)
而不是X (X)
来创建的数据factoran
)。虽然估计是相同的,但使用协方差矩阵而不是原始数据会阻止您要求得分或显著性水平。
使用promax旋转。
[Lambda,Psi,T,stats,F] =因子an(X,2,“旋转”,的电子产品品牌,“权力”4);发票(T ' * T)%估计F的相关性,不再是眼(2)
ans =2×21.0000 -0.6391 -0.6391 1.0000
λ*发票(T ' * T *λ+诊断接头(Psi)X的估计相关性
ans =5×51.0000 -0.5424 -0.6893 0.4309 -0.4167 -0.5424 1.0000 0.8979 -0.8078 0.9328 -0.6893 0.8979 1.0000 -0.7730 0.8647 0.4309 -0.8078 -0.7730 1.0000 -0.8326 -0.4167 0.9328 0.8647 -0.8326 1.0000
用斜轴叠加未旋转的变量。
invT = inv(T);Lambda0 = Lambda*invT;图()行([-invT (1, 1) invT(1, 1)南-invT (2, 1) invT(2, 1)]。...[-invT(1,2) invT(1,2) NaN -invT(2,2) invT(2,2)],,...“颜色”,“r”,“线宽”, 2)网格在持有在biplot (Lambda0“线宽”2,“MarkerSize”(20)包含“未旋转因子1的负载”) ylabel (“未旋转因子2的负载”)
将旋转后的变量画在斜轴上。
图()biplot(λ,“线宽”2,“MarkerSize”, 20)
X
- - - - - -数据数据,指定为n
——- - - - - -d
矩阵,其中每一行都是一个观察值d
变量。
数据类型:双
米
- - - - - -公因数数公因数的个数,指定为正整数。
例子:3.
数据类型:双
的可选逗号分隔对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
lambda = factoran(X,m,'Start',10,'Scores','Thomson')
指定使用10的特定方差的起始点和汤姆森方法来预测因素得分。
Xtype
- - - - - -输入数据类型“数据”
(默认)|协方差的
输入数据类型X
,指定为逗号分隔的对,由“Xtype”
和以下其中之一:
“数据”
- - - - - -X
是原始数据。
协方差的
- - - - - -X
是一个正定的协方差或相关矩阵。
例子:“Xtype”、“协方差的
数据类型:字符
|字符串
分数
- - - - - -预测因子得分的方法“wls”
或等价的“Bartlett”
(默认)|“回归”
或等价的“汤姆森”
预测因子分数的方法,指定为逗号分隔的对,由“分数”
和以下其中之一:
“wls”
或等价的“Bartlett”
加权最小二乘估计处理F
作为固定
“回归”
或等价的“汤姆森”
-最小均方误差预测,相当于山脊回归
例子:“分数”、“回归”
数据类型:字符
|字符串
开始
- - - - - -特定方差的起始点ψ
在最大似然优化中“Rsquared”
(默认)|“随机”
|正整数|矩阵d
行特定方差的起始点ψ
在最大似然优化中,指定为由逗号分隔的对组成“开始”
和以下其中之一:
“Rsquared”
-选择起始矢量作为比例因子乘以诊断接头(发票(corrcoef (X)))
(默认)。例如,请参见Jöreskog[2].
“随机”
——选择d
在区间[0,1]上的均匀分布值。
正整数-执行给定数量的最大似然拟合,每个初始化的方式相同“随机”
.factoran
返回具有最高可能性的拟合。
矩阵d
rows -为指定矩阵的每一列执行一个最大似然拟合。factoran
初始化我
的值进行优化我
列。
例子:‘开始’,5
数据类型:双
|字符
|字符串
旋转
- - - - - -方法用于旋转因子负荷和得分“最大方差法”
(默认)|“没有”
|“quartimax”
|“equamax”
|“parsimax”
|“orthomax”
|的电子产品品牌
|“普罗克汝斯忒斯之
|“模式”
|函数处理方法用于旋转因子加载和分数,指定为由逗号分隔的对组成“旋转”
和下表中的值之一。属性的附加名-值对参数来控制旋转rotatefactors
函数,如表中所示。详细信息请参见rotatefactors
.
价值 | 描述 |
---|---|
|
不进行旋转 |
|
的特殊情况 |
|
正交旋转,使基于载荷方差的准则最大化。使用 |
|
正交旋转的特殊情况。使用 |
|
执行倾斜旋转(默认值)或正交旋转,以最佳匹配指定的模式矩阵。使用 |
|
执行倾斜旋转(默认值)或正交旋转,以最佳地匹配最小二乘意义上的指定目标矩阵。使用 |
|
对所确定的目标矩阵执行斜凸点旋转 |
|
的特殊情况 |
|
的特殊情况 |
函数处理 |
窗体的旋转函数的函数句柄 [B,T] =我的旋转(A,…) 在哪里 使用 |
例子:(λ,psi, T) = factoran (X, m,“旋转”,“电子产品品牌”,“权力”,5,麦克斯特,100)
数据类型:字符
|字符串
|function_handle
δ
- - - - - -的下界ψ
在最大似然优化中0.005
(默认)|0到1之间的标量OptimOpts
- - - - - -最大似然优化选项[]
(默认)|创建的结构statset
最大似然优化的选项,指定为逗号分隔的对,由'OptimOpts”
这个结构是由statset
.你可以进入statset(“factoran”)
对于选项列表,下表中也描述了这些选项。
字段名称(statset 论点) |
意义 | {默认值} |
---|---|---|
“显示” |
算法显示的信息量 |
|
MaxFunEvals |
允许的目标函数计算的最大数量 |
正整数,{400} |
麦克斯特 |
允许的最大迭代次数 |
正整数,{100} |
TolFun |
目标函数值的终止容差。当连续函数值小于时,解算器停止 |
积极的标量,{1 e-8} |
TolX |
终止公差参数。当连续的参数值小于时,求解器停止 |
积极的标量,{1 e-8} |
例子:statset(“显示”、“iter”)
数据类型:结构体
λ
-因素负荷因子加载,返回为d
——- - - - - -米
矩阵。d
数据的列数是矩阵吗X
,米
第二个输入参数是factoran
.
的(i, j)
的第Th元素λ
的系数或载荷是j
第Th因子我
变量。默认情况下,factoran
调用函数rotatefactors
来旋转估计的因子负荷“最大方差法”
选择。有关旋转的信息,请参见因子负荷和分数的轮换.
ψ
-具体方差具体方差,返回为ad
——- - - - - -1
向量。d
数据的列数是矩阵吗X
.的条目ψ
是最大似然估计。
T
-因素负荷旋转因子负载旋转,返回为米
——- - - - - -米
矩阵。米
第二个输入参数是factoran
.有关旋转的信息,请参见因子负荷和分数的轮换.
统计数据
-公共因素信息关于公共因素的信息,作为结构返回。统计数据
包含与零假设H相关的信息0公因式的个数是米
.
统计数据
包含以下字段。
场 | 描述 |
---|---|
loglike |
最大化对数似然值 |
教育部 |
误差自由度= |
chisq |
零假设的近似卡方统计量 |
p |
零假设的右尾显著性水平 |
factoran
不计算chisq
而且p
领域,除非教育部
是正的,所有的特定方差估计ψ
都是积极的(见海伍德案件).如果X
是协方差矩阵吗factoran
计算chisq
而且p
字段,则还必须指定“脑袋”
名称-值对参数。
F
-因素评分因子分数,也称为公共因子的预测,作为一个返回n
——- - - - - -米
矩阵。n
数据矩阵中的行数是多少X
,米
第二个输入参数是factoran
.
请注意
如果X
是协方差矩阵(Xtype
=协方差的
),factoran
无法计算F
.
factoran
旋转F
使用与。相同的标准λ
.有关旋转的信息,请参见因子负荷和分数的轮换.
If元素ψ
等于的值δ
参数(也就是说,它们本质上是零),这种拟合被称为海伍德情况,对结果估计的解释是有问题的。特别是,可能存在多个局部似然最大值,每个都有不同的负荷估计和特定方差。海伍德情况可表示过拟合(米
太大),但也可能是欠拟合的结果。
向用户定义的旋转函数传递附加参数的语法是:
(λ,Psi, T) =...factoran (X, 2,“旋转”@myrotation,“UserArgs”,1,“两个”);
哈曼,哈里·霍勒斯。现代因素分析.第三版,芝加哥:芝加哥大学出版社,1976年。
[2] Jöreskog, K. G.“最大似然因子分析的一些贡献。”心理测量学32岁的没有。4(1967年12月):443-82。https://doi.org/10.1007/BF02289658
[3]劳利、d.n.和a.e.麦克斯韦。因子分析是一种统计方法.第二版。纽约:美国爱思唯尔出版公司,1971年。
pcacov
而且factoran
不要直接处理高数组。相反,使用C = gather(cov(X))
计算高数组的协方差矩阵。然后,你可以使用pcacov
或factoran
来计算内存中的协方差矩阵。或者,您可以使用主成分分析
直接在一个高大的阵列上。
有关更多信息,请参见内存不足数据的高数组.
다음matlab명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력하십시오。웹브라우저는matlab명령을지원하지않습니다。
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。