Diffusion mapping [1]}, [2]} was performed using the algorithm described by Barter & Gross [3]}. Briefly, the method involves (i) calculating an affinity matrix describing euclidean similarities among the \(k\) -nearest neighbors for samples in a dataset, (ii) interpreting this as a weighted adjacency matrix, and (iii) computing the corresponding row-normalized Laplacian matrix. The eigenvectors of the Laplacian represent new diffusion variables describing important variation in the dataset. This method is nearly parameter-free, with only a single choice for the value of \(k\) . Here, we consider \(k = 10\) , although the results presented above were insensitive to the choice of \(k\) . The first (i.e. most important) variable is given by the eigenvector corresponding to the smallest non-zero eigenvalue, then the second smallest eigenvalue, and so on. We provide an R [4]} implementation of this procedure at https://github.com/AshkaanF/diffusion_maps.
