PP_Index: Funcao para encontrar os indices da projection pursuit (PP).

PP_IndexR Documentation

Funcao para encontrar os indices da projection pursuit (PP).

Description

Funcao usada para encontrar os indices da projection pursuit (PP).

Usage

PP_Index(data, class = NA, vector.proj = NA, 
         findex = "HOLES", dimproj = 2, weight = TRUE, 
         lambda = 0.1, r = 1, ck = NA)

Arguments

data

Conjunto de dados numericos sem a informacao das classes.

class

Vetor com os nomes das classes dos dados.

vector.proj

Vetor projecao.

findex

Funcao indice de projecao a ser usada:
"lda" - Indice LDA,
"pda" - Indice PDA,
"lr" - Indice Lr,
"holes" - Indice holes (default),
"cm" - Indice massa central,
"pca" - Indice PCA,
"friedmantukey" - Indice Friedman Tukey,
"entropy" - Indice entropia,
"legendre" - Indice Legendre,
"laguerrefourier" - Indice Laguerre Fourier,
"hermite" - Indice Hermite,
"naturalhermite" - Indice Hermite natural,
"kurtosismax" - Indice curtose maxima,
"kurtosismin" - Indice curtose minima,
"moment" - Indice momento,
"mf" - Indice MF,
"chi" - Indice qui-quadrado.

dimproj

Dimensao da projecao dos dados (default = 2).

weight

Usado nos indice LDA, PDA e Lr, para ponderar os calculos pelo numero de elementos em cada classe (default = TRUE).

lambda

Usado no indice PDA (default = 0.1).

r

Usado no indice Lr (default = 1).

ck

Uso interno da funcao indice CHI.

Value

num.class

Numero de classes.

class.names

Nomes das classes.

findex

Funcao indice de projecao usada.

vector.proj

Vetores de projecao encontrados.

index

Indice de projecao encontrado no processo.

Author(s)

Paulo Cesar Ossani

Marcelo Angelo Cirillo

References

OSSANI, P. C.; FIGUEIRA, M. R.; CIRILLO, M. A. Proposition of a new index for projection pursuit in the multiple factor analysis. Computational and Mathematical Methods, v. 1, p. 1-18, 2020.

COOK, D., BUJA, A., CABRERA, J.. Projection pursuit indexes based on orthonormal function expansions. Journal of Computational and Graphical Statistics, 2(3):225-250, 1993.

COOK, D., BUJA, A., CABRERA, J., HURLEY, C.. Grand tour and projection pursuit, Journal of Computational and Graphical Statistics, 4(3), 155-172, 1995.

COOK, D., SWAYNE, D. F.. Interactive and Dynamic Graphics for data Analysis: With R and GGobi. Springer. 2007.

ESPEZUA, S., VILLANUEVA, E., MACIEL, C.D., CARVALHO, A.. A projection pursuit framework for supervised dimension reduction of high dimensional small sample datasets. Neurocomputing, 149, 767-776, 2015.

FRIEDMAN, J. H., TUKEY, J. W. A projection pursuit algorithm for exploratory data analysis. IEEE Transaction on Computers, 23(9):881-890, 1974.

HASTIE, T., BUJA, A., TIBSHIRANI, R.: Penalized discriminant analysis. The Annals of Statistics. 23(1), 73-102 . 1995.

HUBER, P. J.. Projection pursuit. Annals of Statistics, 13(2):435-475, 1985.

JONES, M. C., SIBSON, R.. What is projection pursuit, (with discussion), Journal of the Royal Statistical Society, Series A 150, 1-36, 1987.

LEE, E. K., COOK, D.. A projection pursuit index for large p small n data. Statistics and Computing, 20(3):381-392, 2010.

LEE, E., COOK, D., KLINKE, S., LUMLEY, T.. Projection pursuit for exploratory supervised classification. Journal of Computational and Graphical Statistics, 14(4):831-846, 2005.

MARTINEZ, W. L., MARTINEZ, A. R.; Computational Statistics Handbook with MATLAB, 2th. ed. New York: Chapman & Hall/CRC, 2007. 794 p.

MARTINEZ, W. L., MARTINEZ, A. R., SOLKA, J.; Exploratory data Analysis with MATLAB, 2th. ed. New York: Chapman & Hall/CRC, 2010. 499 p.

PENA, D., PRIETO, F.. Cluster identification using projections. Journal of the American Statistical Association, 96(456):1433-1445, 2001.

POSSE, C.. Projection pursuit exploratory data analysis, Computational Statistics and data Analysis, 29:669-687, 1995a.

POSSE, C.. Tools for two-dimensional exploratory projection pursuit, Journal of Computational and Graphical Statistics, 4:83-100, 1995b.

See Also

PP_Optimizer and Plot.PP

Examples

data(iris) # conjunto de dados

data <- iris[,1:4]

# Exemplo 1 - Sem as classes nos dados
ind <- PP_Index(data = data, class = NA, vector.proj = NA, 
                findex = "moment", dimproj = 2, weight = TRUE, 
                lambda = 0.1, r = 1)

print("Numero de classes:"); ind$num.class
print("Nomes das classes:"); ind$class.names
print("Funcao indice de projecao:"); ind$findex
print("Vetores de projecao:"); ind$vector.proj  
print("Indice de projecao:"); ind$index


# Exemplo 2 - Com as classes nos dados
class <- iris[,5] # classe dos dados

findex <- "pda" # funcao indice

sphere <- TRUE # Dados esfericos

res <- PP_Optimizer(data = data, class = class, findex = findex,
                    optmethod = "SA", dimproj = 2, sphere = sphere, 
                    weight = TRUE, lambda = 0.1, r = 1, cooling = 0.9, 
                    eps = 1e-3, maxiter = 1000, half = 30)

# Comparando o resultado obtido
if (match(toupper(findex),c("LDA", "PDA", "LR"), nomatch = 0) > 0) {
  if (sphere) {
     data <- apply(predict(prcomp(data)), 2, scale) # dados esfericos
  }
} else data <- as.matrix(res$proj.data[,1:Dim])

ind <- PP_Index(data = data, class = class, vector.proj = res$vector.opt, 
                findex = findex, dimproj = 2, weight = TRUE, lambda = 0.1,
                r = 1)

print("Numero de classes:"); ind$num.class
print("Nomes das classes:"); ind$class.names
print("Funcao indice de projecao:"); ind$findex
print("Vetores de projecao:"); ind$vector.proj  
print("Indice de projecao:"); ind$index
print("Indice de projecao otimizado:"); res$index[length(res$index)]

MVar.pt documentation built on Aug. 19, 2023, 5:09 p.m.