This package for calculating Fisher’s information follows methods from H. Cabezas et al. (2010), T. Eason and Cabezas (2012), and Ahmad et al. (2016). Python code from Ahmad et al. (2016) and MATLAB code from H. Cabezas et al. (2010) has been adapted for modelling in R. For reproducibility purposes we use the ‘sample_data’ provided by Ahmad et al. (2016) as an example which is the GDP per capita and total population of the USA from 1960 to 2013. For detailed descriptions on how to conduct Fisher’s information see H. Cabezas et al. (2010), T. Eason and Cabezas (2012) and Ahmad et al. (2016), we recommend reading these references first if unfamiliar with Fisher’s Information.
The fisher
function takes a dataframe as an input and an optional size of state (sos
) dataframe. If a size of state dataframe is not provided one will be created following methods from H. Cabezas et al. (2010), T. Eason and Cabezas (2012) and Ahmad et al. (2016).
The fisher
function calculates: 1) the size of state; 2) Fisher’s Information; and 3) Fisher’s Information smoothed with a block mean of the desired window size. The final output is a dataframe where the last three columns are the Fisher’s Information means, Fisher’s Information smoothed and time-windows.
NOTE:
Data structure for input dataframe must have the first column as time-steps and following columns containing the variables of interest
NA values will be replaced by 0
Take care with the header
argument if reading in a csv
library(fisheR)
df = read.csv("../sample_data.csv", header=F)
sos = sost(df)
#> Structure seems good, Cookie Monster says "num, num, num", let's go fishing
df_FI = fisher(df, sos = sos, display_plot = TRUE)
#> Structure seems good, Cookie Monster says "num, num, num", let's go fishing
#> [1] "Completed in 0.71 seconds"
“To consult the statistician after an experiment is finished is often merely to ask him to conduct a post mortem examination. He can perhaps say what the experiment” - R. A. Fisher (Fisher 1938)
Ahmad, Nasir, Sybil Derrible, Tarsha Eason, and Heriberto Cabezas. 2016. “Using Fisher Information to Track Stability in Multivariate Systems.” Royal Society Open Science 3 (11): 160582. doi:10.1098/rsos.160582.
Cabezas, H., D. Campbell, T. Eason, A. S. Garmestani, M. T. Heberling, M. E. Hopton, J. Templeton, D. White, M. Zanowick, and R. T. Sparks. 2010. “San Luis Basin Sustainability Metrics Project: A Methodology for Evaluating Regional Sustainability.” USEPA. USA.
Eason, Tarsha, and Heriberto Cabezas. 2012. “Evaluating the Sustainability of a Regional System Using Fisher Information in the San Luis Basin, Colorado.” Journal of Environmental Management 94 (1): 41–49. doi:10.1016/j.jenvman.2011.08.003.
Fisher, R. A. 1938. “Presidential Address.” Sankhyā: The Indian Journal of Statistics (1933-1960) 4 (1): 14–17. https://www.jstor.org/stable/40383882.