selecporcluster: Selecao Ou Extracao De Cenarios Por Clusterizacao

View source: R/selecao.r

selecporclusterR Documentation

Selecao Ou Extracao De Cenarios Por Clusterizacao

Description

Seleciona ou extrai cenarios baseado nos centroides da clusterizacao de cenarios

Usage

selecporcluster(
  cenarios,
  nc,
  clust_fun = clustkmeans,
  ...,
  transforma = FALSE,
  compact_fun = PCAena,
  compact_args = list()
)

Arguments

cenarios

objeto da classe cenariosena do qual selecionar cenarios representativos contendo apenas uma bacia e ano de referencia

nc

numero de clusters

clust_fun

funcao para clusterizacao. Veja clust_funs para mais detalhes

...

demais parametros passados a clust_fun

transforma

booleano indicando se devem ser retornados indices dos cenarios mais proximos do centroide de cada cluster (FALSE) ou se o cetroide deve ser transformado de volta para a escala original (TRUE). Ver Detalhes

compact_fun

funcao para compactacao dos cenarios. Ver compact_funs

compact_args

lista nomeada informando argumentos (alem do primeiro) a compact_fun

Details

O procedimento desta funcao e aplicar a reducao de dimensionalidade em cenarios e clusterizar as variaveis no espaco reduzido em nc clusters.

A compactacao pode ser feita por qualquer funcao que retorne objetos da classe compactcen, informada atraves do argumento compact_fun. A funcao sera chamada com cenarios como primeiro arumento; compact_args permite informar demais parametros a serem utilizados por compact_fun, na forma de uma lista nomeada.

A clusterizacao em si e realizada por uma chamada a funcao passada pelo argumento clust_fun, uma funcao que deve receber como primeiro argumento um objeto cenarios e como segundo argumento o numero de clusters desejado nc, e retornar um objeto com os metodos getclustclass e getclustmeans, para retornar as classificacoes de cada cenario e as medias dos centroides. A funcao passada sera usada numa chamada da forma clust_fun(cenarios, nc, ...). compact_fun e compact_args.

Por fim, transforma controla o que sera retornado. Se FALSE, a funcao entrega apenas os indices dos cenarios mais proximos, por distancia euclidiana, dos centroides de cada cluster. Se TRUE, o centroide de cada cluster (no espaco reduzido) sera transformado de volta para o espaco original. Isso so e possivel caso a compactacao utilizada permita este tipo de operacao: por exemplo, a reducao de dimensionalidade por acumulo de enas parciais e uma transformacao que nao permite retornar para a escala original. Outras como PCA e autoencoder sim.

Value

lista contendo vetor de inteiros indicando indices dos cenarios selecionados, resultado da compactacao e resultado da clusterizacao

See Also

plot.cenariosena para visualizacao dos cenarios selecionados

Examples


# usando o dado exemplo do pacote

# a selecao deve ser usada para cada ano de referencia individualmente, para uma unica regiao
# ou multiplas de forma multivariada
# Usando somente o SIN completo
cens <- cenariosdummy["A1", "SIN"]

# execucao simples pegando 3 clusters
selec <- selecporcluster(cens, 3)

# usando diferentes funcoes de compactacao
selec <- selecporcluster(cens, 3, compact_fun = acumulaena, compact_args = list(quebras = 3))
selec <- selecporcluster(cens, 3, compact_fun = PCAena, compact_args = list(vartot = .7))

# usando diferentes funcoes de clusterizacao
selec <- selecporcluster(cens, 3, clust_fun = clusthierarq, method = "single")

# os dois metodos seguintes precisam que os pacotes 'mclust' e 'cluster', respectivamente, 
# estejam instalados
## Not run: 
selec <- selecporcluster(cens, 3, clust_fun = clustEM, modelNames = c("EEE", "VVV"))
selec <- selecporcluster(cens, 3, clust_fun = clustkmedoids, metric = "manhattan")

## End(Not run)

# Por fim, pode ser feita a visualizacao da escolha
selec <- selecporcluster(cens, 3)
## Not run: 
plot(cens, cens[, , selec[[1]]])

## End(Not run)


lkhenayfis/hidro-clustena documentation built on June 12, 2022, 1:52 a.m.