Mine actually came early right after a run this month (5 days early!). I think it has to do with the hormonal changes that come with weight loss. I've also had it come a week late depending on my exercise & eating habits (I'm unable to get pregnant so no scares for me). If you want more info, maybe do a search on hormones and metabolism?
Good luck!