Skip to contents

Uses a multivariate array of time series to estimate Fisher information following the approach of Karunanithi et al. (2010).


FI(data, sost, winsize = 50, winspace = 1, TL = 90)



A numeric matrix of individual time series across the columns. These could be different species, populations or measurements. The first column must be an equally spaced time vector.


A 1 x n matrix where n is a length equal to the number of time series in data. Each value is the 'size of state' tolerable for that time series and typically is represented by the standard deviation of the time series during a reference period.


Numeric value. Defines the window size of the rolling window as a percentage of the time series length.


Numeric value. The number of data points to roll the window over in each iteration. Must be less than winsize.


Numeric value. The 'tightening level' or percentage of points shared between states that allows the algorithm to classify data points as the same state.


A list containing three objects:


A dataframe of Fisher information estimates and the last time point contributing to each window.


A numeric vector of the time index at the centre of the window for that associated value in FI.


A n x m numeric matrix where the length of n is the winspace and length of m is the number of window shifts made. Values are consequently the timepoint indices that contribute to that window.


#Load the multivariate simulated
#dataset `simTransComms`


#Estimate the size-of-states for each
#time series in the first community.
#This is typically suggested
#to be the standard deviation of a
#reference period or the entire time

eg.sost <- t(apply(simTransComms$community1[,3:7], MARGIN = 2, FUN = sd))
 #transpose required to ensure a 1 x n matrix

egFI <- FI(data = simTransComms$community1[1:50,2:7],
sost =  eg.sost,
winsize = 10,
winspace = 1,
TL = 90)