abcfgwc {naspaclust}R Documentation

Fuzzy Geographicaly Weighted Clustering with Artificial Bee Colony Optimization

Description

Fuzzy clustering with addition of spatial configuration of membership matrix with centroid optimization using Artificial Bee Colony

Usage

abcfgwc(
  data,
  pop = NA,
  distmat = NA,
  ncluster = 2,
  m = 2,
  distance = "euclidean",
  order = 2,
  alpha = 0.7,
  a = 1,
  b = 1,
  error = 1e-05,
  max.iter = 100,
  randomN = 0,
  vi.dist = "uniform",
  nfood = 10,
  n.onlooker = 5,
  limit = 4,
  pso = F,
  abc.same = 10
)

Arguments

data

an object of data with d>1. Can be matrix or data.frame. If your data is univariate, bind it with 1 to get a 2 columns.

pop

an n*1 vector contains population.

distmat

an n*n distance matrix between regions.

ncluster

an integer. The number of clusters.

m

degree of fuzziness or fuzzifier. Default is 2.

distance

the distance metric between data and centroid, the default is euclidean, see cdist for details.

order

minkowski order. default is 2.

alpha

the old membership effect with [0,1], if alpha equals 1, it will be same as fuzzy C-Means, if 0, it equals to neighborhood effect.

a

spatial magnitude of distance. Default is 1.

b

spatial magnitude of population. Default is 1.

error

error tolerance. Default is 1e-5.

max.iter

maximum iteration. Default is 500.

randomN

random seed for initialisation (if uij or vi is NA). Default is 0.

vi.dist

a string of centroid population distribution between "uniform" (default) and "normal". Can be defined as vi.dist= in opt_param.

nfood

number of foods population. Can be defined as npar= in opt_param.

n.onlooker

number of onlooker bees, Can be defined as n.onlooker in opt_param.

limit

number of turns to eliminate food with no solutions. Can be defined as limit in opt_param.

pso

whether to add PSO term in bee's movement. Either TRUE or FALSE. Can be defined as pso in opt_param.

abc.same

number of consecutive unchange to stop the iteration. Can be defined as same= in opt_param.

Details

Fuzzy Geographically Weighted Clustering (FGWC) was developed by Mason and Jacobson (2007) by adding neighborhood effects and population to configure the membership matrix in Fuzzy C-Means. Furthermore, the Artificial Bee Colony (ABC) algorithm was developed by Karaboga and Basturk (2007) in order to get a more optimal solution of a certain complex function. FGWC using ABC has been implemented previously by Wijayanto and Purwarianti (2014) and Wijayanto et al. (2016).

Value

an object of class "fgwc".
An "fgwc" object contains as follows:

References

Karaboga D, Basturk B (2007). “A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm.” Journal of Global Optimization, 39(3), 459–471. doi: 10.1007/s10898-007-9149-x, https://doi.org/10.1007/s10898-007-9149-x.

Mason GA, Jacobson RD (2007). “Fuzzy Geographically Weighted Clustering.” In Proceedings of the 9th International Conference on Geocomputation, 1–7.

Wijayanto AW, Purwarianti A (2014). “Improvement design of fuzzy geo-demographic clustering using Artificial Bee Colony optimization.” In 2014 International Conference on Cyber and IT Service Management (CITSM), 69–74. ISBN 978-1-4799-7975-2.

Wijayanto AW, Purwarianti A, Son LH (2016). “Fuzzy geographically weighted clustering using artificial bee colony: An efficient geo-demographic analysis algorithm and applications to the analysis of crime behavior in population.” Applied Intelligence, 44(2), 377–398. ISSN 0924-669X.

See Also

fpafgwc gsafgwc

Examples

data('census2010')
data('census2010dist')
data('census2010pop')
# First way
res1 <- abcfgwc(census2010,census2010pop,census2010dist,3,2,'euclidean',4,nfood=10)
# Second way
# initiate parameter
param_fgwc <- c(kind='v',ncluster=3,m=2,distance='minkowski',order=3,
               alpha=0.5,a=1.2,b=1.2,max.iter=1000,error=1e-6,randomN=10)
## tune the ABC parameter
abc_param <- c(vi.dist='normal',npar=5,pso=FALSE,same=15,n.onlooker=5,limit=5) 
##FGWC with ABC optimization algorithm
res2 <- fgwc(census2010,census2010pop,census2010dist,'abc',param_fgwc,abc_param) 

[Package naspaclust version 0.2.1 Index]