Коэффициент поворота загрузок
B = rotatefactors(A)
B = rotatefactors(A,'Method','orthomax','Coeff',gamma)
B = rotatefactors(A,'Method','procrustes','Target',target)
B = rotatefactors(A,'Method','pattern','Target',target)
B = rotatefactors(A,'Method','promax')
[B,T] = rotatefactors(A,...)
B = rotatefactors(A) вращает матрицу загрузок d на m A чтобы максимизировать критерий варимакса и возвращает результат в B. Строки A и B соответствуют переменным, и столбцы соответствуют факторам, например, (i, j) й элемент A - коэффициент для i-й переменной на j-м факторе. Матрица A обычно содержит коэффициенты основных компонентов, созданные с помощью pca или pcacov, или факторные загрузки, рассчитанные с помощью factoran.
B = rotatefactors(A,'Method','orthomax','Coeff',gamma) вращается A чтобы максимизировать критерий ортомакса с коэффициентом gamma, т.е. B - ортогональное вращение A который максимизирует
sum(D*sum(B.^4,1) - GAMMA*sum(B.^2,1).^2)
Значение по умолчанию 1 для gamma соответствует вращению варимакса. Другие возможности включают gamma = 0, m/2 и d (m - 1 )/( d + m - 2), соответствующие quartimax, equamax и parsimax. Можно также поставить 'varimax', 'quartimax', 'equamax', или 'parsimax' для 'method' параметр и опускать 'Coeff' параметр.
Если 'Method' является 'orthomax', 'varimax', 'quartimax', 'equamax', или 'parsimax', затем дополнительные параметры
'Normalize' - Флаг, указывающий, должна ли матрица загрузок быть нормирована к строкам для вращения. Если 'on' (по умолчанию), строки A нормированы перед вращением, чтобы иметь единичную евклидову норму, и ненормализованы после вращения. Если 'off'необработанные загрузки поворачиваются и возвращаются.
'Reltol' - Относительный допуск сходимости в итеративном алгоритме, используемом для поиска T. Значение по умолчанию является sqrt(eps).
'Maxit' - предел итерации в итерационном алгоритме, используемый для поиска T. Значение по умолчанию является 250.
B = rotatefactors(A,'Method','procrustes','Target',target) выполняет наклонное вращение A в матрицу целевых загрузок d на m target.
B = rotatefactors(A,'Method','pattern','Target',target) выполняет наклонное вращение матрицы загрузок A в матрицу целевого шаблона d на m target, и возвращает результат в B. target определяет «ограниченные» элементы B, т.е. элементы B соответствует нулевым элементам target ограничены иметь малую величину, в то время как элементы B соответствующий ненулевым элементам target разрешено принимать любую величину.
Если 'Method' является 'procrustes' или 'pattern', дополнительный параметр 'Type', тип вращения. Если 'Type' является 'orthogonal'вращение ортогонально, и факторы остаются некоррелированными. Если 'Type' является 'oblique' (по умолчанию), вращение наклонно, и повернутые множители могут быть коррелированы.
Когда 'Method' является 'pattern', существуют ограничения на target. Если A имеет m столбцов, затем для ортогонального поворота, j-й столбец target должен содержать не менее m - j нулей. Для наклонного вращения каждый столбец target должны содержать не менее m - 1 нули.
B = rotatefactors(A,'Method','promax') вращает A, чтобы максимизировать критерий промакса, эквивалентный наклонному повороту Прокруста с целью, созданной поворотом ортомакса. Используйте четыре параметра ортомакса, чтобы контролировать вращение ортомакса, используемое внутри promax.
Дополнительный параметр для 'promax' 'Power', экспонента для создания промакс-целевой матрицы. 'Power' должен быть 1 или выше. Значение по умолчанию является 4.
[B,T] = rotatefactors(A,...) возвращает матрицу поворота T используется для создания B, то есть B = A*T. Можно найти матрицу корреляции повернутых факторов при помощи inv(T'*T). Для ортогонального вращения это матрица тождеств, в то время как для наклонного вращения она имеет модуль диагонали элемента, но ненулевые off-диагональные элементы.
rng('default') % for reproducibility
X = randn(100,10);
% Default (normalized varimax) rotation:
% first three principal components.
LPC = pca(X);
[L1,T] = rotatefactors(LPC(:,1:3));
% Equamax rotation:
% first three principal components.
[L2,T] = rotatefactors(LPC(:,1:3),...
'method','equamax');
% Promax rotation:
% first three factors.
LFA = factoran(X,3,'Rotate','none');
[L3,T] = rotatefactors(LFA(:,1:3),...
'method','promax',...
'power',2);
% Pattern rotation:
% first three factors.
Tgt = [1 1 1 1 1 0 1 0 1 1; ...
0 0 0 1 1 1 0 0 0 0; ...
1 0 0 1 0 1 1 1 1 0]';
[L4,T] = rotatefactors(LFA(:,1:3),...
'method','pattern',...
'target',Tgt);
inv(T'*T) % Correlation matrix of the rotated factors
ans =
1.0000 -0.9593 -0.7098
-0.9593 1.0000 0.5938
-0.7098 0.5938 1.0000
[1] Harman, H. H. Modern Factor Analysis. 3 эд. Чикаго: University of Chicago Press, 1976.
[2] Лоули, Д. Н., и А. Э. Максвелл. Факторный анализ как статистический метод. 2nd ed. New York: American Elsevier Publishing, 1971.
biplot | factoran | pca | pcacov | procrustes