pv-power-forecasting-eval
Location-aware green energy availability forecasting for multiple time frames in smart buildings: The case of Estonia — Hatamian et al. (2022) (arXiv:2210.01619, 2022)
What this evaluates
Evaluates machine learning models for predicting photovoltaic (PV) output power in smart buildings across multiple time frames (30 min, 1 hour, 4 hours) using location-specific meteorological and temporal features.
Datasets
- Tartu, Estonia PV dataset — total ?; splits: test (-1), cv (-1); repo https://github.com/chinmaya-dehury/Loc_Green_Energy_Availability_Pred
Metrics
MAPE(primary) — range: percent- Mean Absolute Percentage Error. Calculated as the average of |actual - predicted| / actual, with all instances where actual equals zero explicitly excluded to avoid undefined values.
MAE— range: other- Mean Absolute Error. The average of the absolute differences between predicted and actual output power values.
RMSE— range: other- Root Mean Squared Error. The square root of the average of squared differences between predicted and actual output power values.
R2— range: [0, 1]- Coefficient of determination. Represents the proportion of variance in the actual output power that is predictable from the model's predictions.
Input / output format
Input: Meteorological features (GHI, temperature, humidity), temporal features (month, hour), and one prior output power value. Target: current output power in kWh.
Output: Predicted output power in kWh.
Scoring recipe
def compute_metrics(actual, predicted):
mask = actual != 0
mape = np.mean(np.abs((actual[mask] - predicted[mask]) / actual[mask])) * 100
mae = np.mean(np.abs(actual - predicted))
rmse = np.sqrt(np.mean((actual - predicted) ** 2))
ss_res = np.sum((actual - predicted) ** 2)
ss_tot = np.sum((actual - np.mean(actual)) ** 2)
r2 = 1 - (ss_res / ss_tot)
return {'MAPE': mape, 'MAE': mae, 'RMSE': rmse, 'R2': r2}
Common pitfalls
- MAPE is undefined when actual values are zero, so the paper excludes zeros, which can bias the metric if zero-generation periods are significant.
- Accuracy naturally decreases as the forecasting time frame increases (30 min to 4 hours) due to reduced data size and longer prediction horizons.
- Cross-validation is performed per model/time-frame but the exact train/val/test split sizes are not disclosed.
Evidence (verbatim from paper)
To calculate MAPE, zeros are excluded since MAPE takes undefined values when actual data points are zero. Moreover, as the time frame increases, the data size decreases, and accuracy tends to decrease. All in all, the figures outline a very good accuracy regarding obtained results. Table 12 presents the performance metric results.
Citation
@misc{hatamian2022location,
title={Location-aware green energy availability forecasting for multiple time frames in smart buildings: The case of Estonia},
author={Hatamian et al. (2022)},
year={2022},
note={arXiv:2210.01619}
}
- arXiv: 2210.01619