Learn R Programming

Anthropometry (version 1.19)

trimowa: Trimmed PAM with OWA operators

Description

This is the methodology developed in Ibanez et al. (2012) to define an efficient apparel sizing system based on clustering techniques jointly with OWA operators. In our approach, we apply the trimmed k-medoids algorithm (trimmedoid) to the first twelve bust classes according to the sizes defined in the European standard on sizing systems. Size designation of clothes. Part 3: Measurements and intervals.

Usage

trimowa(data,w,numClust,alpha,niter,algSteps,ah=c(23,28,20,25,25),verbose)

Value

A list with the following elements:

cases: Anthropometric cases (medoids of the clusters). They are the prototypes obtained for each bust class.

numTrim: Number of trimmed individuals in each bust class.

numClass: Number of individuals in each bust class.

noTrim: Number of of non-trimmed individuals.

C1,C2,C3,C4: Required constant values to define the distance getDistMatrix (C1 is bh, C2 is bl, C3 is ah and C4 is al).

asig: Vector of the clusters to which each individual belongs.

discarded: Discarded (trimmed) individuals.

Arguments

data

Data frame. In our approach, this is each of the subframes originated after segmenting the whole anthropometric Spanish survey into twelve bust segments, according to the European standard on sizing systems. Size designation of clothes. Part 3: Measurements and intervals. Each row corresponds to an observation, and each column corresponds to a variable. All variables are numeric.

w

The aggregation weights of the OWA operators. They are computed with the weightsMixtureUB.

numClust

Number of clusters.

alpha

Proportion of trimmed sample.

niter

Number of random initializations (iterations).

algSteps

Number of steps of the algorithm per initialization. Default value is 7.

ah

Constants that define the ah slopes of the distance function in getDistMatrix. Given the five variables considered, this vector is c(23,28,20,25,25). This vector would be different according to the variables considered.

verbose

A logical specifying whether to provide descriptive output about the running process.

Author

Guillermo Vinue

References

Ibanez, M. V., Vinue, G., Alemany, S., Simo, A., Epifanio, I., Domingo, J., and Ayala, G., (2012). Apparel sizing using trimmed PAM and OWA operators, Expert Systems with Applications 39, 10512--10520.

European Committee for Standardization. Size designation of clothes. Part 3: Measurements and intervals. (2005).

See Also

sampleSpanishSurvey, weightsMixtureUB, getDistMatrix, trimmedoid

Examples

Run this code
#FOR THE SIZES DEFINED BY THE EUROPEAN NORMATIVE:
dataTrimowa <- sampleSpanishSurvey
numVar <- dim(dataTrimowa)[2]
bust <- dataTrimowa$bust
bustSizes <- bustSizesStandard(seq(74, 102, 4), seq(107, 131, 6))

orness <- 0.7
weightsTrimowa <- weightsMixtureUB(orness, numVar)

numClust <- 3 ; alpha <- 0.01 ; niter <- 10 ; algSteps <- 7
ah <- c(23, 28, 20, 25, 25)

#For reproducing results, seed for randomness:
#suppressWarnings(RNGversion("3.5.0"))
#set.seed(2014)
numSizes <- 2
res_trimowa <- computSizesTrimowa(dataTrimowa, bust, bustSizes$bustCirc, numSizes,
                                  weightsTrimowa, numClust, alpha, niter, algSteps, 
                                  ah, FALSE)
prototypes <- anthrCases(res_trimowa, numSizes)

#FOR ANY OTHER DEFINED SIZE:
#For reproducing results, seed for randomness:
#suppressWarnings(RNGversion("3.5.0"))
#set.seed(1900)
rand <- sample(1:600,20)
dataComp <- sampleSpanishSurvey[rand, c(2, 3, 5)]
numVar <- dim(dataComp)[2]

orness <- 0.7
weightsTrimowa <- weightsMixtureUB(orness, numVar)
numClust <- 3 ; alpha <- 0.01 ; niter <- 10 ; algSteps <- 7
ah <- c(28, 25, 25) 

#For reproducing results, seed for randomness:
#suppressWarnings(RNGversion("3.5.0"))
#set.seed(2014)
res_trimowa <- trimowa(dataComp, weightsTrimowa, numClust, alpha, niter, 
                            algSteps, ah, verbose = FALSE)
class(res_trimowa) <- "trimowa"
prototypes <- anthrCases(res_trimowa, 1)

Run the code above in your browser using DataLab