I'm rated 2150 in lichess.org and I have noticed that it is much harder for me to lose against a 2000 than a 1800 to lose against a 1650 despite having the same difference in rating points. Is there a reason for this? And how does the rating system predict this?
Both differences are numerically 150, but actually they are not the same. If you look at the distribution of players on lichess:
So the difference between 2150-2000 is much higher than the difference between 1800-1650 because the distribution is getting to the end which makes your rating improvement to be harder.
P.S: I took the blitz distribution but the distributions of slower time controls are more left-centered, so the difference is higher in slower time controls on lichess.
I think the reason can be seen when you watch lower rated players play one another a 1800 to 1650 player will tactical blunder or create an obvious positional blunder. Because of this it gives a good opportunity to a 1650 player to spot a tactic or obvious weakness, that was just overlooked by there opponent.
The difference however between 2150 and 2000 is more nuanced, its much more about you punishing your opponent for questionable openings and moves which are either slow or lead to bad positions if you play correctly. Although the same tactical and obvious positional blunders do happen its less common. This can be easily seen if you play a bad opening such as starting to move all your pawns to the second rank, a 1800 player will try to punish you for this and will likely miss the critical pawn break which causes your position to collapse and instead you end up in an equal game .
I would also note at 1650 - 1800 openings are generally less understood and the "why" behind your pieces being on certain squares is also not really considered.