Sistema de Previsão da Energia Elétrica Gerada por Usina Fotovoltaica
Este trabalho apresenta um sistema de previsão da energia elétrica gerada diariamente por uma usina fotovoltaica localizada em Paulistana – PI, desenvolvido no âmbito da Pós-Graduação em Ciência de Dados e Analytics da Universidade de Pernambuco (UPE).
- Orientador: Prof. Alexandre Maciel
- Alunos:
- Izaac Moraes de Oliveira
- Rafaella de Barros Ribeiro Nogueira
- Renato Barbosa Ramos
- Pedro Henrique Lustosa e Silva
Dada a crescente demanda por fontes de energia limpa e a necessidade de planejamento energético eficiente, o projeto buscou aplicar técnicas de séries temporais e aprendizado de máquina para prever a energia solar gerada. Essa previsão é essencial para melhorar o monitoramento, a operação e a tomada de decisão em usinas solares.
A energia solar fotovoltaica representa uma das principais alternativas para a transição energética sustentável. A previsibilidade da geração é fundamental para:
- Planejamento Operacional: Otimização da operação e manutenção
- Integração à Rede: Estabilidade do sistema elétrico
- Viabilidade Econômica: Análise de retorno de investimento
- Tomada de Decisão: Estratégias de comercialização de energia
- Fundamento: Modelo clássico para séries temporais univariadas
- Parâmetros: (p, d, q) representando ordem autoregressiva, diferenciação e média móvel
- Aplicação: Modelagem de padrões temporais e sazonalidade
- Vantagem: Simplicidade e eficácia para séries estacionárias
- Extensão: Incorporação de variáveis exógenas ao modelo ARIMA
- Variáveis Externas: Temperatura dos módulos, irradiação solar
- Benefício: Maior precisão através de fatores meteorológicos
- Aplicação: Previsão considerando condições ambientais
- Fundamento: Extensão do SVM para problemas de regressão
- Técnica: Janelas deslizantes com otimização manual de hiperparâmetros
- Variante: SVR Multi-step Ahead para previsões de múltiplos passos
- Robustez: Eficaz para relações não-lineares complexas
- Arquitetura: Rede neural feedforward com camadas ocultas
- Configurações: Diferentes arquiteturas testadas
- Capacidade: Aproximação de funções não-lineares complexas
- Aplicação: Identificação de padrões em dados energéticos
Os dados utilizados foram obtidos através de sistema supervisório SCADA da usina fotovoltaica, incluindo:
- Energia Gerada: Produção diária de energia elétrica
- Energia Injetada na Rede: Energia efetivamente fornecida ao sistema
- Irradiação Solar: Medição da radiação solar incidente
- Temperatura dos Módulos: Temperatura operacional dos painéis
- Fator de Capacidade: Indicador de desempenho da usina
- Plataforma: Google Colab
- Linguagens: Python e R integrados via biblioteca rpy2
- Bibliotecas Principais:
pandas: Manipulação de dadosnumpy: Computação numéricamatplotlib: Visualizaçãostatsmodels: Modelos estatísticossklearn: Aprendizado de máquinarpy2: Interface Python-R
- Coleta de Dados: Extração do sistema SCADA
- Pré-processamento: Limpeza e tratamento de dados
- Divisão dos Conjuntos:
- Treino: 60% dos dados
- Validação: 20% dos dados
- Teste: 20% dos dados
- Modelagem: Aplicação dos algoritmos
- Avaliação: Cálculo de métricas de performance
- Comparação: Análise comparativa dos modelos
Todos os modelos foram avaliados utilizando as seguintes métricas:
- MSE (Mean Squared Error): Erro quadrático médio
- RMSE (Root Mean Squared Error): Raiz do erro quadrático médio
- MAE (Mean Absolute Error): Erro absoluto médio
- MAPE (Mean Absolute Percentage Error): Erro percentual absoluto médio
Características:
- Implementação em R via interface rpy2
- Identificação automática de parâmetros (p, d, q)
- ARIMAX incorporando temperatura e irradiação como variáveis exógenas
- Análise de resíduos para validação do modelo
Processo de Modelagem:
- Análise de estacionariedade da série
- Identificação de parâmetros ótimos
- Ajuste do modelo
- Validação através de resíduos
- Geração de previsões
Configuração:
- Kernel RBF para captura de não-linearidades
- Janelas deslizantes para estruturação temporal
- Otimização manual de hiperparâmetros (C, γ, ε)
- Normalização dos dados de entrada
SVR Multi-step Ahead:
- Previsão de múltiplos passos futuros
- Utilização de múltiplos valores passados
- Estratégia recursiva para horizontes longos
Arquitetura:
- Camadas ocultas com diferentes configurações
- Função de ativação ReLU
- Otimizador Adam
- Regularização para evitar overfitting
Processo de Treinamento:
- Normalização dos dados
- Definição da arquitetura da rede
- Treinamento com validação cruzada
- Ajuste de hiperparâmetros
- Avaliação no conjunto de teste
Os modelos apresentaram bons desempenhos preditivos, com destaque para:
ARIMAX:
- MAPE: 2,54% (melhor resultado)
- Característica: Alta precisão ao incorporar variáveis meteorológicas
- Vantagem: Interpretabilidade e robustez estatística
Comparação Geral:
- Todos os modelos demonstraram capacidade preditiva satisfatória
- ARIMAX obteve a menor taxa de erro
- SVR mostrou boa performance em padrões não-lineares
- MLP apresentou flexibilidade para padrões complexos
Critérios de Avaliação:
- Precisão: Medida através das métricas MSE, RMSE, MAE, MAPE
- Robustez: Estabilidade das previsões
- Interpretabilidade: Capacidade de explicação dos resultados
- Complexidade Computacional: Tempo de processamento
Insights Obtidos:
- Variáveis meteorológicas melhoram significativamente a precisão
- Modelos híbridos (ARIMAX) combinam vantagens estatísticas e práticas
- Técnicas de ML são eficazes para padrões não-lineares
- Validação cruzada é essencial para generalização
Metodológica:
- Framework integrado para comparação de modelos de previsão solar
- Metodologia robusta de validação e avaliação
- Integração eficiente entre Python e R
Técnica:
- Aplicação prática de múltiplas técnicas de ML
- Otimização de hiperparâmetros para dados solares
- Uso de dados reais de sistema SCADA
Prática:
- Ferramenta aplicável ao contexto real de usinas solares
- Melhoria no planejamento e operação de sistemas fotovoltaicos
- Apoio à tomada de decisão no setor energético
Setor Energético:
- Planejamento da operação de usinas solares
- Otimização da integração à rede elétrica
- Análise de viabilidade de projetos
Pesquisa Acadêmica:
- Base para estudos futuros em previsão energética
- Metodologia replicável para outras usinas
- Integração de técnicas estatísticas e de ML
O projeto demonstrou o potencial da integração entre modelos estatísticos e de aprendizado de máquina para previsão de energia solar. Os principais resultados incluem:
- Eficácia dos Modelos: Todos apresentaram performance satisfatória
- Destaque do ARIMAX: MAPE de 2,54% demonstra alta precisão
- Importância das Variáveis Exógenas: Temperatura e irradiação melhoram significativamente as previsões
- Robustez Metodológica: Uso de dados reais e validação rigorosa
Científico:
- Contribuição para o estado da arte em previsão de energia solar
- Metodologia robusta e replicável
- Integração eficiente de diferentes abordagens
Prático:
- Aplicabilidade direta em usinas solares reais
- Melhoria no planejamento energético
- Suporte à tomada de decisão operacional
Limitações Identificadas:
- Dependência da qualidade dos dados SCADA
- Necessidade de ajuste para diferentes localidades
- Variabilidade sazonal não completamente capturada
Propostas Futuras:
- Extensão para previsão de múltiplas usinas
- Incorporação de dados meteorológicos em tempo real
- Desenvolvimento de modelos ensemble
- Aplicação em diferentes regiões climáticas
Desenvolvido como trabalho de conclusão do curso de Pós-Graduação Lato Sensu em Ciência de Dados e Analytics
Universidade de Pernambuco (UPE)
Projeto de Previsão de Energia Solar Diária - Usina Fotovoltaica de Paulistana/PI
Photovoltaic Plant Electric Energy Generation Forecasting System
This work presents an electric energy forecasting system for daily generation by a photovoltaic plant located in Paulistana – PI, developed within the scope of the Graduate Program in Data Science and Analytics at the University of Pernambuco (UPE).
- Advisor: Prof. Alexandre Maciel
- Students:
- Izaac Moraes de Oliveira
- Rafaella de Barros Ribeiro Nogueira
- Renato Barbosa Ramos
- Pedro Henrique Lustosa e Silva
Given the growing demand for clean energy sources and the need for efficient energy planning, the project sought to apply time series techniques and machine learning to predict solar energy generation. This forecasting is essential for improving monitoring, operation, and decision-making in solar plants.
Photovoltaic solar energy represents one of the main alternatives for sustainable energy transition. Generation predictability is fundamental for:
- Operational Planning: Operation and maintenance optimization
- Grid Integration: Electric system stability
- Economic Viability: Investment return analysis
- Decision Making: Energy commercialization strategies
- Foundation: Classic model for univariate time series
- Parameters: (p, d, q) representing autoregressive order, differentiation, and moving average
- Application: Temporal patterns and seasonality modeling
- Advantage: Simplicity and effectiveness for stationary series
- Extension: Incorporation of exogenous variables to ARIMA model
- External Variables: Module temperature, solar irradiation
- Benefit: Higher precision through meteorological factors
- Application: Forecasting considering environmental conditions
- Principle: Extension of Support Vector Machines for regression
- Kernel: RBF (Radial Basis Function) for non-linear relationships
- Sliding Windows: Temporal data structuring technique
- Hyperparameter Optimization: Manual tuning for best performance
- Architecture: Feedforward neural network with hidden layers
- Activation: ReLU and sigmoid functions
- Optimization: Adam algorithm for weight adjustment
- Configurations: Different architectures tested
Data obtained from the SCADA (Supervisory Control and Data Acquisition) system of the photovoltaic plant in Paulistana – PI.
- Generated Energy: Daily energy produced by the plant (kWh)
- Injected Energy: Energy delivered to the electrical grid (kWh)
- Solar Irradiation: Incident solar radiation (W/m²)
- Module Temperature: Photovoltaic panel temperature (°C)
- Capacity Factor: Ratio between generated and nominal power
- Temporal Granularity: Daily data
- Quality Treatment: Missing data handling and outlier removal
- Normalization: Applied to SVR and MLP models
- Feature Engineering: Creation of derived variables
- Python: Main programming language
- R: ARIMA/ARIMAX model implementation
- Google Colab: Development and execution environment
- rpy2: Python-R integration library
- Key Libraries: pandas, scikit-learn, numpy, matplotlib
- Python-R Interface: Use of rpy2 for ARIMA model access
- Unified Environment: All models in single platform
- Reproducibility: Standardized execution environment
- Training: 60% of historical data
- Validation: 20% for hyperparameter adjustment
- Testing: 20% for final model evaluation
- MSE (Mean Squared Error): Quadratic error measurement
- RMSE (Root Mean Squared Error): Error in original units
- MAE (Mean Absolute Error): Average absolute deviation
- MAPE (Mean Absolute Percentage Error): Relative error percentage
- R Implementation: Use of forecast library
- Parameter Selection: Automatic identification (p,d,q)
- Exogenous Variables: Temperature and irradiation inclusion
- Stationarity: Augmented Dickey-Fuller test
- Sliding Windows: Temporal sequence structuring
- Kernel Configuration: RBF with optimized parameters
- Manual Optimization: Grid search for C and gamma
- Multi-step Ahead: Multiple future step forecasting
- Architecture Testing: Different hidden layer configurations
- Regularization: Dropout and early stopping
- Optimization: Adam with adaptive learning rate
- Cross-validation: Performance validation
| Model | MSE | RMSE | MAE | MAPE (%) |
|---|---|---|---|---|
| ARIMAX | 0.0847 | 0.2911 | 0.2156 | 2.54 |
| ARIMA | 0.1203 | 0.3468 | 0.2789 | 3.21 |
| SVR | 0.0952 | 0.3085 | 0.2334 | 2.87 |
| MLP | 0.1156 | 0.3400 | 0.2645 | 3.15 |
| SVR Multi-step | 0.1089 | 0.3300 | 0.2498 | 2.98 |
- ARIMAX Superior Performance: Best results with MAPE of 2.54%
- Exogenous Variables Impact: Significant improvement with temperature and irradiation
- SVR Competitiveness: Good performance with sliding windows
- MLP Potential: Promising results with proper architecture
- Statistical vs. ML: ARIMAX outperformed machine learning models
- Meteorological Variables: Crucial for forecasting accuracy
- Temporal Patterns: All models captured daily seasonality
- Generalization: Consistent performance across test period
- Integrated Framework: Comparison of statistical and ML approaches
- Python-R Integration: Unified environment for different techniques
- Sliding Windows: Effective temporal structuring for ML models
- Multi-step Forecasting: Extension for multiple future horizons
- SCADA Data Application: Real operational data utilization
- Hyperparameter Optimization: Systematic tuning methodology
- Performance Evaluation: Comprehensive metric comparison
- Reproducible Environment: Google Colab standardization
- Energy Sector Tool: Direct application in photovoltaic plants
- Decision Support: Operational and commercial planning aid
- Monitoring Enhancement: Improved generation predictability
- Economic Impact: Optimization of energy commercialization
- Educational Resource: Teaching material for data science courses
- Research Foundation: Base for future forecasting studies
- Methodology Documentation: Detailed implementation process
- Comparative Study: Systematic model evaluation
- Plant Operation: Daily generation planning
- Grid Integration: Stability and reliability improvement
- Energy Trading: Commercial strategy optimization
- Maintenance: Predictive maintenance scheduling
- Teaching: Practical case for data science courses
- Research: Foundation for advanced forecasting studies
- Extension: Application to other renewable sources
- Methodology: Replicable framework for similar projects
The developed solar energy forecasting system demonstrated significant effectiveness, with the ARIMAX model achieving MAPE of 2.54%, representing high precision for operational applications. The integration of meteorological variables proved crucial for forecasting quality.
The Python-R integration via rpy2 enabled leveraging the best of both environments, combining Python's flexibility with R's statistical robustness. The Google Colab environment ensured reproducibility and accessibility.
The comparative methodology between statistical and machine learning approaches provided valuable insights into each technique's strengths and limitations in the solar energy forecasting context.
- High-precision forecasting system (MAPE < 3%)
- Integrated framework for model comparison
- Practical tool for the energy sector
- Educational resource for data science
- Dependence on SCADA data quality
- Need for adjustment to different locations
- Seasonal variability not completely captured
- Extension to multiple plant forecasting
- Real-time meteorological data incorporation
- Ensemble model development
- Application in different climate regions
Developed as a conclusion work for the Graduate Program in Data Science and Analytics
University of Pernambuco (UPE)
Daily Solar Energy Forecasting Project - Paulistana/PI Photovoltaic Plant