Use "might have" to talk about something that you're not sure about, but which would have already passed. For example:
A: Claire was in a bad mood.
B: Yeah, She might have been hungry or something.
In this example, the speakers are talking about Claire's mood in the past. But the second speaker isn't really sure if Claire was hungry or not.