This is a very interesting topic.
There are two explanations in my opinion:
1. Weaker players are more concentrate when playing against strong players. Stronger players are more careless, relaxed when playing against weaker opponents.
2. If you are a strong player, to change your rating you need more games played against weaker opponents (because if you win you gain just few points). But you don't play against the same opponent all the time, you play with different. So you are getting tired, but new opponents are yet full of energy.
When you play with opponents of your level, you need less games to change your rating, so you are not tired so much after games.
We had very aggressive discussion about this.
http://en.lichess.org/forum/team-30-seconds--0-time-control/discussion-of-rating-attributeslichess.org/forum/general-chess-discussion/why-am-i-not-in-the-rankings-in-the-bulletlichess.org/forum/off-topic-discussion/is-playing-with-lower-rated-players-considered-boostingSome called a player coward for playing only with much weaker opponents. And they were trying to prove that you win more rating points if you play against weak players. I were trying to prove the opposite.
As you see now, the statistics shows that you win more rating points against stronger opponents.
Also in this tread we see these opinions.
However, I was shut up in a very harsh way for trying to prove that playing against lower rated opponents doesn't benefit you at all, and, in contrast, even makes your chances to increase your rating smaller.
And I still am willing for an opportunity to find the truth.
Would be glad if I find people, who would like to find out the answer.