The framework uses a notion of a leader as an individual whoinitiates collective patterns that everyone in a group follows.
Given a set of time series of individual activities, our goal is toidentify periods of coordinated activity, find factions of coordinationif more than one exist, as well as identify leaders of each faction.
For each time step, the framework infers following relations betweenindividual time series, then identifying a leader of each faction whommany individuals follow but it follows no one. A faction is defined as agroup of individuals that everyone follows the same leader.
mFLICA reports following relations, leaders of factions, and membersof each faction for each time step.
You can install our package from CRAN
install.packages("mFLICA")For the newest version on github, please call the following commandin R terminal.
remotes::install_github("DarkEyes/mFLICA")This requires a user to install the “remotes” package beforeinstalling mFLICA.
In the first step, we have a build-in dataset of 30-individual timeseries where ID1, ID2, and ID3 are leaders at coordination intervals:[1,200], [201,400], and [401,600] respectively. These individuals movewithin two-dimensional space. Time series of each individual representsa sequence of coordinate (x,y) at each time step. A leader is aninitiator who initiates coordinated movement that everyone in a factionfollows.
library(mFLICA)# mFLICA::TS[i,t,d] is an element of ith time series at time t in the dimension d. Here, we have only two dimensions: x and y. The time series length is 800, so, t is in the range [1,800]. There are 30 individuals, so, i is in the range [1,30].plotMultipleTimeSeries(TS=mFLICA::TS[,,1],strTitle="x axis")
plotMultipleTimeSeries(TS=mFLICA::TS[,,2],strTitle="y axis")
The framework is used to analyze the data below.
obj1<-mFLICA(TS=mFLICA::TS[,1:800,],timeWindow=60,sigma=0.5)The network densities of a dynamic following network is shown below.At any time step t, a higher network density implies a higher degree ofcoordination; the higher number of individuals that follow the samepattern with some time delays.
plotMultipleTimeSeries(TS=obj1$dyNetOut$dyNetBinDensityVec, strTitle="Network Dnesity")
We plot time series of faction size ratios of all leaders. A factionsize ratio is just a network density calculating from only edges withina faction leading by a specific leader. If everyone follows a singleleader, then a faction size ratio is the same as the network density,which has the value at one.
plotMultipleTimeSeries(TS=obj1$factionSizeRatioTimeSeries, strTitle="Faction Size Ratios")
Here, we know that ID1, ID2, and ID3 are leaders at coordinationintervals: [1,200], [201,400], and [401,600] respectively. Hence, ID1,ID2 and ID3 have their faction size ratios being high during theintervals that they lead the group.
Methodology
Amornbunchornvej, Chainarong, and Tanya Y.Berger-Wolf. “Framework for Inferring Leadership Dynamics of ComplexMovement from Time Series.” In Proceedings of the 2018 SIAMInternational Conference on Data Mining (SDM), pp. 549-557. Society forIndustrial and Applied Mathematics, 2018.https://doi.org/10.1137/1.9781611975321.62
Software
Amornbunchornvej, Chainarong . “mFLICA: an Rpackage for inferring leadership of coordination from time series.”SoftwareX 15 (2021) 100781,https://doi.org/10.1016/j.softx.2021.100781