Коэффициент поворота загрузок
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