Google don't pay for PSAs. Normally you have lots of them when you newly start: You notice the ads are not related to your niche. Now, I learned you could keep getting lots of them unless you apply certain tactics, one of them is to target specific key words. But it seems i need more and more lights on this. So, please contribute.
You need to increase your keyword density, this normally does the trick. Also if your content is very generic e.g. a blog with the lots of articles on different topics, then the adsense bot struggles to service your site as the content is non-specific. You can also try putting "Adsense section targetting" - search the Google adsense website for it. It's only two lines of code to install. hope this helps.
use collapsible ad units (search online) and that way you'll never see the adsense block if they have nothing to show for money. I use that since the very start, no way I'm displaying PSA crap if they give me a choice.
input more quality content, this will make your website with rich keyword, then adsense can easily give the match ads. The PSA only appear when there is not any match keyword suit for your site