https://validation.pythonprogramminghelp.com/5-savvy-ways-to-factor-analysis/