1. A non-transitory computer-readable medium having stored thereon computer-readable instructions that when executed by a computing device cause the computing device to: receive data that includes a plurality of observations with a plurality of data points defined for each observation, wherein each data point of the plurality of data points is associated with a variable to define a plurality of variables; compute a correlation value between each pair of the plurality of variables to define a correlation matrix; compare a binary threshold value to each computed correlation value to define a binary similarity matrix from the defined correlation matrix; define an undirected graph comprising a subgraph that includes one or more connected nodes, wherein the undirected graph is defined based on the defined binary similarity matrix, wherein the undirected graph stores connectivity information for the plurality of variables, wherein each node of the subgraph is pairwise associated with a unique variable of the plurality of variables; (a) select a least connected node from the defined undirected graph based on the connectivity information; (b) remove the selected least connected node from the undirected graph; (c) update the connectivity information for the undirected graph based on the removed node; (d) repeat (a)-(c) until a stop criterion is satisfied; and output variables pairwise associated with remaining nodes of the undirected graph as selected decorrelated variables.