ifafgwc | R Documentation |
Fuzzy clustering with addition of spatial configuration of membership matrix with centroid optimization using (Intelligent) Firefly Algorithm.
ifafgwc(
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",
ei.distr = "normal",
fa.same = 10,
nfly = 10,
ffly.no = 2,
ffly.dist = "euclidean",
ffly.order = 2,
gamma = 1,
ffly.beta = 1,
ffly.alpha = 1,
r.chaotic = 4,
m.chaotic = 0.7,
ind.levy = 1,
skew.levy = 0,
scale.levy = 1,
ffly.alpha.type = 4
)
data |
an object of data with d>1. Can be |
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 |
order |
minkowski order. default is 2. |
alpha |
the old membership effect with [0,1], if |
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 |
ei.distr |
distribution of random walk parameter. Can be defined as |
fa.same |
number of consecutive unchange to stop the iteration. Can be defined as |
nfly |
number of fireflies. Can be defined as |
ffly.no |
The number of selected best fireflies for intelligent firefly algorithm. Can be defined as |
ffly.dist |
The distance between fireflies. Can be defined as |
ffly.order |
The minkowski order of the |
gamma |
distance scaling factor. Can be defined as |
ffly.beta |
Attractiveness constant. Can be defined as |
ffly.alpha |
Randomisation constant. Can be defined as |
r.chaotic |
weight in logistic chaotic between [0,4]. Can be used when |
m.chaotic |
mapping parameter in kent chaotic between [0,1]. Can be used when |
ind.levy |
Levy distribution index for random walk. Can be used when |
skew.levy |
Levy distribution skewness for random walk. Can be used when |
scale.levy |
Levy distribution scale for random walk. Can be used when |
ffly.alpha.type |
An integer. The type of |
Fuzzy Geographically Weighted Clustering (FGWC) was developed by \insertCitefgwc;textualnaspaclust by adding neighborhood effects and population to configure the membership matrix in Fuzzy C-Means. Furthermore, the Firefly Algorithm was developed by \insertCiteYang2009;textualnaspaclust and the technique is also upgraded by \insertCiteintfa;textualnaspaclust by adding the intelligent phase (choosing the best firefly based on the intensity) in order to get a more optimal solution of a certain complex function. FGWC using IFA has been implemented previously by \insertCiteNasution2020;textualnaspaclust.
an object of class 'fgwc'
.
An 'fgwc'
object contains as follows:
converg
- the process convergence of objective function
f_obj
- objective function value
membership
- membership matrix
centroid
- centroid matrix
validation
- validation indices (there are partition coefficient (PC
), classification entropy (CE
),
SC index (SC
), separation index (SI
), Xie and Beni's index (XB
), IFV index (IFV
), and Kwon index (Kwon))
max.iter
- Maximum iteration
cluster
- the cluster of the data
finaldata
- The final data (with the cluster)
call
- the syntax called previously
time
- computational time.
fpafgwc
gsafgwc
data('census2010')
data('census2010dist')
data('census2010pop')
# First way
res1 <- ifafgwc(census2010,census2010pop,census2010dist,3,2,'minkowski',4,nfly=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 IFA parameter
ifa_param <- c(vi.dist='uniform', ei.distr='logchaotic',
fa.same=10, npar=15, par.no=3, par.dist='minkowski',
par.order=4, gamma=1, beta=1.5,
alpha=1, chaos=4,update_type=4)
##FGWC with IFA
res2 <- fgwc(census2010,census2010pop,census2010dist,'ifa',param_fgwc,ifa_param)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.