I was looking at the network hashrate graphs and noticed 2 things I do not understand. Any explanations or theories would be appreciated!

(1) In general there seems to be a lot of variance in the hashrate from day to day. In order to really to a good job in quantifying this, you would have to compute variance from the log of the network hashrate graph to account for increases over time, and then compute variance from that curve .. but just eyeballing it, it seems like there is quite a bit of variance even within a 2-3 day period. Just as an example, on Dec 30 the network hashrate was about 8.805 PH/s versus 11.388 one day later! Then back down to 9.921 on Jan 1. I cannot believe that this variance is due to folks turning their machines on and off. What could cause such big jumps both up and down? Is this a measurement error?

(2) There are two recent spikes between January 13 and January 17 of 2014 that seem especially high in variance - I don't have the time to run the statistics but I would bet these are well outside of a standard deviation even given the high variance historically. The spikes stand out even on a log scale:

https://blockchain.info/charts/hash-rate?showDataPoints=true&show_header=true&daysAverageString=1×pan=60days&scale=1&address=. The difference between high and low in each of these two spikes is about 4.7 PH/s - which is around 25% or more of the current 7 day moving average. If this data is correct, it means that roughly 25% of the network hashrate appeared and disappeared (twice) in a 4 day period (during which difficulty did not change). How is that possible?