Photovoltaics (PV), the primary use of solar energy, is growing rapidly. However, the variable output of PV under changing weather conditions may hinder the large-scale deployment of PV. In this study, we propose a two-stage classification-prediction framework to predict contemporaneous PV power output from sky images (a so-called “nowcast”), and compare it with an end-to-end convolution neural network (CNN). The proposed framework first classifies input images into different sky conditions and then the classified images are sent to specific sub-models for PV output prediction. Two types of classifiers are developed and compared: (1) a CNN-based classifier trained on clear sky index (CSI)-labeled sky images and (2) a physics-based non-parametric classifier based on a threshold of fractional cloudiness of sky images. Different numbers of classification categories are also examined. The results suggest that the cloudiness-based classifier is more suitable than the CSI-based classifier for the framework, and the 3-class classification (i.e., sunny, cloudy, overcast) is found to be the optimal choice. We then fine-tune the cloudiness threshold for the non-parametric classifier and tailor the architecture for each sky-condition-specific sub-model. Under the best design, the proposed framework can achieve a root mean squared error (RMSE) of 2.20 kW (relative to a 30 kW rated PV array) on the test set comprising 18 complete days (9 sunny, RMSE = 0.69 kW; 9 cloudy, RMSE = 3.06 kW). Compared with the end-to-end CNN baseline model, the overall prediction performance can be improved by 6% (7% in sunny and 6% in cloudy), with 6% fewer trainable parameters needed in the architecture.
References
The NRBR ratio is generally defined as (R − B)/(R + B) in the literature. Here, we change it to (B − R)/(B + R) because we calculate the NRBR by dividing the difference between the first color channel and the third color channel of the image by the sum of these two channels. The Python OpenCV library is used to obtain the image frames from videos, which results in a “BGR” color channel order instead of “RGB.”