obliclus: A cluster-based factor rotation

Description Usage Arguments Value Author(s) References Examples

Description

This function conducts rotations of loading matrix based on cluster structure of variables. It can be used for two ways. One is to find simple and well-grouped structure simultaneously, and the other is to find simple structure based on the prior information on cluster structure. The objective function is optimized using the Gradient Projection (GP) algorithm and k-means algorithm alternately.

Usage

1
2
3
4
obliclus(A, cluster = NULL, normalize = TRUE, N.random = 10,
         fixed = FALSE, N.cluster = NULL, ini.cluster = NULL,
         maxit = 1000, alpha = 1, method = "oblimin",
         geomin.par = 0.01, oblimin.index = 0, fit.cr = 1e-04)

Arguments

A

The loading matrix for rotation.

cluster

The vector of cluster parameters which indicate a cluster where each variable is assigned.

normalize

If "TRUE", Kaiser's normalization is applied.

N.random

The number of sets of random initial values of rotation matrix T.

fixed

If "TRUE", obliclus gives an optimal loading matrix based on cluster structure cluster.

N.cluster

The number of clusters. If this is null, the number of factors is used for the number of clusters.

ini.cluster

The vector of initial cluster parameters.

maxit

The upper limit of iteration of the algorithm.

alpha

The initial value of alpha which is a step size in the GP algorithm.

method

For "oblimin", obliclus conducts rotation whose objective function includes oblimin with oblimin.index and the measure of cluster similarity among variables. Similarly, for "geomin", obliclus conducts rotation whose objective function includes geomin with geomin.par and the measure of cluster similarity.

geomin.par

The parameter for geomin rotation. The default is 0.01.

oblimin.index

The parameter for oblimin rotation. The default is 0, which imply the Quartimin rotation.

fit.cr

The criterion for convergence of algorithm, abs(criteria.new - criteria.old).

Value

A

Rotated loading matrix.

T

Estimated rotation matrix.

E

Estimated correlation matrix among factors.

conv

If "TRUE", the algorithm converges.

cluster

Estimated cluster parameter.

cr

The value of objective function finally attained.

Author(s)

Michio Yamamoto
michio.koko@gmail.com

References

Yamamoto, M. and Jennrich, R.I. (2012). A cluster-based factor rotation. submitted.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
##loading matrix for rotation (Perfect simple structure)
##Find optimal T and U (cluster parameter) simultaneously
A <- matrix(c(.8, 0, 0,
              .7, 0, 0,
               0,.8, 0,
               0,.7, 0,
               0, 0,.8,
               0, 0,.7), 6, 3, byrow=TRUE)

(out <- obliclus(A, N.random=1)) ##Using many random starts is recommended.


##loading matrix for rotation (More complex structure)
##Find optimal T based on the information on cluster structure
A <- matrix(c(   1,   0,   0,
                 0,   1,   0,
                 0,   0,   1,
               0.9, 0.6,-0.3,
              -0.3, 0.9, 0.6,
               0.6,-0.3, 0.9) ,6,3,byrow=TRUE)
cluster <- c(1,2,3,4,4,4)
(out <- obliclus(A, cluster=cluster, fixed=TRUE, N.cluster=4))

obliclus documentation built on May 2, 2019, 6:10 a.m.

Related to obliclus in obliclus...