I think that you're off to a good start, but there needs to be a bigger sample size and I think it might be worth factoring in the previous block full-ness and see if different used space in each block has an effect on the transaction fee for the transaction. Also maybe check hashing power and see if increase or decreased hashing rates are also a variable when it comes to transaction fees. No guarantees those factors actually have any affect on the value, but it might be interesting to look into.
Absolutely a bigger sample size would be good, and sample sizes spread out over a long period of time.
Hash power changes shouldn't be big enough to change block generation by much. That stuff is graphed pretty well on blockchain.info and other places, but generally the randomness of block generation regardless of the hashpower or difficulty level accounts for bigger fluctuations than hash power fluctuations. That is until right after a halving I suspect.