Algorithm for false spot detecting

I am trying to write a false spot detector/suppressor for my WSPR World Watch Android app.

Here is a set of obviously bad decodes :- (See attached png.)

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
2015-05-17 13:44 BT2JSW 50.294499 -31 1 AK45 100 IW1PAK JN33vt 13421 1
2015-05-17 13:44 BT2JSW 50.294546 -19 1 AK45 100 IW1PAK JN33vt 13421 1
2015-05-17 13:30 442PJQ 50.294436 -31 0 GN55 50 IW1PAK JN33vt 4404 71
2015-05-17 13:30 442PJQ 50.294549 -28 0 GN55 50 IW1PAK JN33vt 4404 71
2015-05-17 10:26 A38FRQ 50.294587 -29 1 QA56 200 IW1PAK JN33vt 15440 221
2015-05-17 10:26 A38FRQ 50.294434 -29 1 QA56 200 IW1PAK JN33vt 15440 221
2015-05-17 09:42 7J2DIX 50.294431 -31 -4 CE11 501 IW1PAK JN33vt 17282 88
2015-05-17 09:32 G02 50.294411 -28 -4 DH07 1000 IW1PAK JN33vt 13890 45

Please, if you understand how the WSPR decode software is working can you explain the significance of -
1. The very high reported Pwr levels.
2. The duplicate spots with the same timestamp but differing MHz and SNR.

Can I always assume that if the Grid is four characters only then the callsign is unknown in the WSPR database and if so what does that mean?

How unusual is a three letter callsign in WSPR ?

Is it reasonable to think that if the SNR is low then the chances of false decodes are higher ?

73 de G4SWY Derek +++

AttachmentSize
Image icon png782.13 KB