When performing regression on a data set with pp variables, it is often of interest to go beyond using main linear effects and include interactions as products between individual variables. For small-scale problems, these interactions can be computed explicitly but this leads to a computational complexity of at least (p2)O(p2) if done naively. This cost can be prohibitive if pp is very large.
We introduce a new randomised algorithm that is able to discover interactions with high probability and under mild conditions has a runtime that is subquadratic in pp. We show that strong interactions can be discovered in almost linear time, whilst finding weaker interactions requires (pα)O(pα) operations for 1<α<21<α<2 depending on their strength. The underlying idea is to transform interaction search into a closest pair problem which can be solved efficiently in subquadratic time. The algorithm is called xyzxyz and is implemented in the language
R. We demonstrate its efficiency for application to genome-wide association studies, where more than 10111011 interactions can be screened in under 280280 seconds with a single-core 1.21.2 GHz CPU.
Gian-Andrea Thanei, Nicolai Meinshausen, Rajen D. Shah; 19(37):1−42, 2018. in: Journal of Machine Learning Research 2018