The only thing where hashrate enters the story of selfish mining is when you ask yourself:
"What is the necessary hashrate that the selfish miner has to have in order to be successful?"
As already explained, selfish mining is temporary withholding of newly mined blocks.
When you selfish mine, you deviate from the default strategy to announce the new block immediately. All this in hope that you will find your second block faster than the rest of the network can find their first block. If you can do that, you have a huge advantage, because when the rest of the network finally finds their first block, you can announce your 2 blocks, effectively winning the race.
So you can imagine that you need huge hashrate on your side to be able to do that.
How big? Probably at least 50% of hashrate, which is why it was never observed in practice and possibly never will. BTW selfish mining can be easily detected by the increased number of orphaned blocks.