## 3 Proposed Methods Based on Convolutional Neural Networks  
Solar irradiance prediction is important for many applications, ranging from generation planning to grid management. In this context, we will make use of CNNs for spatio-temporal forecasting. Because CNNs are known for their ability to capture local patterns and learn hierarchical representations of data, these networks have shown their ability to predict time series and resolve complex spatial patterns [29,30]. By using these networks to predict solar radiation, we can exploit their talents to analyze how factors such as location, terrain distribution, and climate influence solar radiation prediction. CNNs have been evaluated for sequential data, and it has been shown that they can be equal or superior to recurrent networks, which are currently the most widely used for this type of data [31].  
From a mathematical point of view, a convolution is an operation that transforms two functions into a third. This happens because each convolutional layer typically reduces the spatial dimensions (height and width) of the input. To avoid this reduction, the size of the convolutional kernel can be adjusted by applying techniques such as padding and stride adjustments.  
One technique for expanding the kernel is dilated convolution, which includes \"holes\" between consecutive elements (as shown in Figure 2). The mentioned figure is an example of the structure of dilation layers; in the case of the presented model, the numbers of dilation layers are one, two, four, and eight. A dilated-based approach is introduced in [14] in the form a proposed context module comprising seven layers, applying 3 \(\times\) 3 convolutions with varying dilation factors: 1, 1, 2, 4, 8, 16, and 1. Each layer conducts 3 \(\times\) 3 \(\times\) C convolutions followed by truncation and a final layer of 1 \(\times\) 1 \(\times\) C convolutions.  
Figure 2: A stack of dilated convolutional layers for dilations 1, 2, 4, and 8. Note: Dilation controls the distance between the neighboring elements that a neuron in the convolutional layer can see in its receptive field.  
Another technique applied is padding, which consists of padding the output with zero values (to restore lost pixels). Causal padding is a special type of padding that works with conv1D layers and is used in sequence-to-sequence [32] models and time-series prediction: the stride is increased so that the output fields overlap less and there is less spatial dimension. This type of padding adds elements to the beginning of the data, which helps the prediction of the first elements in the time steps [33].  
From this analysis, two models that fix the filter and increase the stride to increase the receptive field are produced in the form of spatio-temporal convolutional neural network version 1 and version 2 (described in Sections 3.1 and 3.2). Then, a method that enlarges the receptive field by stacking layers with different dilation factors is produced, named the spatio-temporal dilated convolutional neural network (in Section 3.3). All methods use ReLU (one of the more popular activation layers that increases the non-linear properties of the model and the entire network without affecting the reception field of the convolutional layer). The proposed artificial neural networks are described in Sections 3.1-3.3.