openclimatefix / predict_pv_yield

Using optical flow & machine learning to predict PV yield
MIT License
51 stars 11 forks source link

Ongoing thread: Research results & design ideas #44

Open JackKelly opened 3 years ago

JackKelly commented 3 years ago

Keeping track of some basic research results:

Inferring PV yield for t0 ("now") (not predicting the future):

Getting about 6% normalised MAE where the network input is 128x128 pixels of satellite data (all channels) plus an embedding of the PV system ID. Simple CNN.

Getting about 8% NMAE where network input is 2x2 pixels of NWP data (all 10 surface parameters in UKV) plus an embedding of the PV system ID. Just a fully connected net.

Neither net gets datetime features, or clear sky irradiance, or geo location, or anything like that. So lots of room for improvement!

JackKelly commented 2 years ago

Getting down to about 5 % NMAE "predicting" the future using the actual satellite imagery for the next hour.

Similar results so far using a CNN and a simple Perceiver model (which only sees a single timestep at a time).

With the Perceiver, getting very similar results for 64x64 satellite imagery vs 32x32 imagery (except the large image takes longer to train and uses more GPU RAM!)

But we're not yet letting The Perceiver flex its muscles (by combining multiple "modalities"). Some design ideas for how to use The Perceiver more properly here: https://github.com/openclimatefix/perceiver-pytorch/issues/1

JackKelly commented 2 years ago

See #68 for latest ML architecture idea