I've also heard it could be because of the thyroid. If you decide to get checked, ask them to check the Free T4 and Free T3 instead of just a TSH. For me, my TSH was slightly elevated, but my T3 was really low and the T4 low as well.
Some doctors will only check your TSH level which doesn't show the whole picture.