Or even better, have you cat neutered before she get´s into heat. Provided your cat is not suffering from liver problems and can tolerate anaesthesia of course. Being in heat regularly without breeding is not only unnecessary stress for your cat and yourself but also promotes cancer of her reproductive organs.
I think they're triggered by environmental conditions. In my area, they used to run about around April. But now that it's way too warm for the time period, it started early.