☀️ 新能源(太阳能)发电数据分析
Solar Power Generation · EDA / Forecasting / Data Dashboard
🔍 EDA ⚡ Power Forecasting 📈 Streamlit Dashboard 🌡️ Weather Sensors
☀️
电站数量
2
Plant 1 & Plant 2
🔌
逆变器 / 电站
22
每站 22 台
📊
数据记录
136,472
两站合并 · 2018-05 ~ 11
🏆
最佳 R²
0.97
GBM · Plant 1
📌 项目简介

本项目基于印度两座太阳能电站的发电数据(DC/AC 功率、日发电量)与 气象传感器数据(环境温度、组件温度、辐照度), 完整走通 数据读取 → 探索性分析(EDA)→ 相关性分析 → 机器学习预测 → 可视化交付 的数据分析标准链路。

核心目标:① 探究辐照度、温度与发电功率之间的规律;② 构建发电功率预测模型,辅助光伏电站运营与调度;③ 通过数据大屏直观呈现两站运行状态。

🖥️ 功能模块
📊

数据概览

KPI 大屏卡(电站 / 逆变器 / 记录数 / 平均功率)、DC/AC 功率时间序列、日均发电量对比、合并数据预览。

🔍

探索性分析

辐照度随时间分布(按日期 / 按时刻)、温度-功率与辐照-功率散点、逆变器平均出力对比、相关性热力图。

发电预测

线性回归 / 梯度提升(GBM)模型,时间序列切分训练测试,R² / MSE 评估、真实 vs 预测曲线、特征重要性。

🎯 关键结论
指标Plant 1Plant 2
逆变器平均出力稳定性稳定(σ=10.07 kW)不稳定(σ=32.00 kW)
线性回归 R²(模块温度→DC)0.9110.562
GBM 预测 R²(默认参数)0.970.61
GBM 预测 R²(去除离群点后)0.782

💡 辐照度(IRRADIATION)是影响发电功率的决定性特征;Plant 2 逆变器出力波动明显大于 Plant 1, 去除 DC 功率离群点后可显著提升模型表现。

🧰 技术栈
Python 3 pandas numpy scikit-learn matplotlib seaborn plotly Streamlit Jupyter
🚀 快速开始
# 1. 安装依赖
pip install -r requirements.txt

# 2. 启动 Streamlit 数据大屏
streamlit run streamlit_app.py
# 浏览器打开 http://localhost:8501

# 3. 或使用 Jupyter Notebook 复现分析
jupyter notebook 印度新能源(太阳能)发电探索性分析与预测.ipynb
📁 目录结构
新能源(太阳能)发电探索性分析及预测/
├── Plant_1_Generation_Data.csv      # 1 号电站发电数据
├── Plant_1_Weather_Sensor_Data.csv  # 1 号电站气象数据
├── Plant_2_Generation_Data.csv      # 2 号电站发电数据
├── Plant_2_Weather_Sensor_Data.csv  # 2 号电站气象数据
├── 印度新能源(太阳能)发电探索性分析与预测.ipynb
├── streamlit_app.py        # Streamlit 数据大屏
├── requirements.txt       # Python 依赖
├── README.md              # 项目说明
└── index.html             # 本介绍页