Correlations between many elements in a system inevitably contain indirect correlations from other elements.
You should also be very careful when you calculate a correlation between Time series.
Handling indirect correlation
The indirect correlation leads us to inaccurate prediction. There are several ways to filter out those indirect edges with spurious correlation:
- Correlation of correlations
- Partial correlation
- Mutual information based approach (citation needed).
- Methods for the Inverse Ising problem
- network deconvolution: http://www.nature.com/nbt/journal/v31/n8/abs/nbt.2635.html
- Network link prediction by global silencing of indirect correlations
Sometimes, we want to average correlation values. A standard method is performing Fisher transformation and average the z values then transform it back to correlation coefficient.
- Averaging Correlations: Expected Values and Bias in Combined Pearson rs and Fisher’s z Transformations
Constructing networks from correlation matrices
Correlation and causation
Generalized ways of inferring associations
- Reshef et al. Detecting Novel Associations in Large Data Sets
- Kinney and Atwal, Equitability, mutual information, and the maximal information coefficient
- http://www.johndcook.com/blog/2008/11/05/how-to-calculate-pearson-correlation-accurately/ - don’t expect that the small difference between two large numbers will be accurate.
- Cosine similarity, Pearson correlation, and OLS coefficients
- http://en.wikipedia.org/wiki/Partial correlation
- Graphical interaction models for multivariate time series by Rainer Dahlhaus
- Comparing association network algorithms for reverse engineering of large-scale gene regulatory networks: synthetic versus real data