XGB、LGB在datacamp(学习网站)
data fountain与国家电投系列赛,光伏发电预测
题目:给一组特征,预测瞬时发电量,训练集9000个点,测试集8000个点,特征包含光伏板的属性和外部环境等。
数据字段:ID、光伏电池板背侧温度、光伏电站现场温度、计算得到的平均转换效率、数据采集点A处光伏板转换效率、数据采集点B处光伏板转换效率、数据采集点C处光伏板转换效率、数据采集点D处光伏板转换效率、数据采集点A处汇流箱电压值、数据采集点B处汇流箱电压值、数据采集点C处汇流箱电压值、数据采集点D处汇流箱电压值、数据采集点A处汇流箱电流值、数据采集点B处汇流箱电流值、数据采集点C处汇流箱电流值、数据采集点D处汇流箱电流值、采集点A处的功率、采集点B处的功率、采集点C处的功率、采集点D处的功率、采集点A、B、C三点功率的平均值、光伏电厂现场风速测量值、光伏电厂现场风向、辐照度、湿度
数据探索性分析与异常值处理
探索性分析:
作图训练集发电量的散点图,可以发现发电量是有周期性的,在一天中,发电量随着光照强度变化;同时发现,一个周期及一天,每天大概有200个ID,所以训练集大致是45天左右的数据。
对其他特征进行散点图绘制:温度、平均功率、电压、转换效率
也需要对转换效率、平均功率等绘制分布图,观察各个特征的分布状况(大多数特征符合正态分布,或者两个峰的分布)
发现异常值之后,需要异常值判定(平均值3*标准差之外的任何值,即为异常值)、异常值处理(鉴于测量点数据具有时序关系,直接用上一个有效值代替异常值)
相关性分析:
观测各特征与发电量的皮尔森相关系数(可以在一定程度上判断特征对于预测的作用)
数据可视化:光照强度&发电量、平均功率&发电量、板温&发电量、电压&发电量、转换效率&发电量、风速&发电量、风向&发电量、现场温度&发电量
发现:光照强度/40的曲线基本和发电量的曲线一致,平均功率/480的曲线基本与发电量的曲线一致。
相关性不明显的变量,可以尝试对各种组合变换。
特征工程
想尽一些办法,发现和制造对于预测有帮助的特征
领域特征:寻找在问题专业领域内起作用的特征
多项式特征:通过选取一些已有特征,对他们进行加减乘除各种运算,构造一些特征
光伏发电领域特征:
1、距离周期内峰值的距离(dis2peak):反映一个测量点在一天即一个周期中的位置。
2、温差(板温-现场温度):发现温差与发电量强度相关
3、电压A/转换效率=实际版面所受光照,版面所受光照应该是直接影响发电量的,由于一天中日照角度的变化,数据提供的光照强度不能直接反映板面所受光照
高阶环境特征:
环境因素的两两之间的2阶交互项可以提供较好的预测效果
python中有一个poly feature可以直接使用,选择几个特征,直接生成若干高阶特征,采用2阶交互项的可能的解释是:光照影响发电量,温度影响发电量,而光照又影响温度,所以两者的交互有意义;同理,光照与风速、风向的交互也一样,互相影响,同时共同影响发电量。
模型构建与调试
预测模型整体结构
这是一个