Group Distributionally Robust Optimization for Solving Out-Of-Domain Generalization and Finding Causal Invariant Relationships