hormonal imbalance,excessive daily intake of alcohol and smoking, taking foods with less nutrition and stress etc....if its stress related and due to poor nutrition following a well balanced healthy diet with daily morning regular brisk walking, yoga and meditation is helpful.Hormonal imbalance like
thyroid abnormality can result in irregular periods so treating the cause improves the condition or PCOS( polycystic ovarian syndrome)can also be a cause. If its a PCOS, you may also experience pimples, weight gain, excessive hair growth on your body,sometimes even depression will be there, based on the history you are mentioning I am suspecting hormonal imbalance, so kindly consult a gynecologist for further management.