It could be a factor of your age. If you have only had your period for about less than 5 years, it's natural for your period to come late or early sometimes.
If it is because of your food, stop dieting for a little while. If you're getting to caught up with dieting, you could be making yourself nutrient-deficient. Make sure you are getting enough calories and nutrients! Extreme malnutrition can lead to sterilization.