For many native speakers today, there is little (or no) difference in meaning between may and might. They both express the present possibility of a present or future situation: He may/might be in London now. He may/might go to London tomorrow. Some people do not use may at all.
The present possibility of a past occurrence is expressed by may have - He may have arrived yesterday = It is possible that he arrived yesterday. Some speakers use might have here. A past unreal possibility of a past occurrence is expressed by might have - If Obama had not produced his birth certificate, he might have lost his second election = It was possible that he would lose. Unfortunately some people use may have here.
The only time might is used consistently as a past tense of may is in backshifted reported speech (for those people who use may):
Corbyn supporter: "Corbyn may win the leadership election,"
The Corbyn supporter said that Corbyn might win the leadership election.
That probably seems confusing. Sorry, but that's the way it is. Your sentence should be: She may/might have been ill yesterday.
Last edited by Piscean; 06-Oct-2015 at 07:06.
Reason: typo fixed
Might have + past participle = could have happened but didn't.
May have + past participle = could have happened but we don't know yet.
That's the way it used to be. However, many people do not follow the 'rule', as I noted in post #2. I started keeping a collection of 'may have + past participle' sentences for 'could have happened but didn't' that I saw or heard in news reports some time ago. I came across so many that I gave up. I still advise learners to use may have and might have. in this way, but tell them not to be surprised if some native speakers don't.