It's random. They won't, to my knowledge, spawn on days before festivals, birthdays, or festivals. You can save the night before, if there's an event the next day find it, and reload until it's the event you want.
Totally random. It's a total pain in the butt.
Oh, though some events have requirements before they can happen, even randomly. These are usually other events. GOSHDARNIT SMILE PRACTICE I WILL HUNT YOU DOWN NEXT TIME I PICK UP THE GAME.