循环发电厂电能输出预测

本文介绍了使用线性回归模型预测联合循环发电厂电能输出的过程,包括数据来源、探索分析、相关性研究、回归模型建立、多重共线性处理以及模型应用。通过对数据的描述性统计分析,发现各变量间存在不同程度的线性相关性,最终通过删除共线变量和数据对数转换来解决多重共线性问题,提升了模型的预测效果。
摘要由CSDN通过智能技术生成

前言

本次项目是就某联合循环发电厂的数据,运用线性回归模型进行预测电能输出,若文中出现错误的地方,还望指正,谢谢!

目录

1. 数据来源及背景

2. 数据探索分析

3. 相关分析

4. 回归分析

5. 多重共线性

6. 模型应用

正文

1. 数据来源及背景

数据来源: http://archive.ics.uci.edu/ml/machine-learning-databases/00294/

该数据集是收集于联合循环发电厂的9568个数据点, 共包含5个特征: 每小时平均环境变量温度(AT),环境压力(AP),相对湿度(RH),排气真空(V)和净每小时电能输出(PE), 其中电能输出PE是我们要预测的变量.

2. 数据探索分析

由于我们的数据是excel格式, 而pandas处理excel文件依赖xlrd, 因此我们首先需要安装它.

1. 安装xlrd

pip install xlrd

2. 读取数据

excel文件中共有5个sheet, 我们读取最后一个

import pandas as pd
#第二参数代表要读取的sheet, 0表示第一个, 1表示第二个..., pandas默认读取第一个
df = pd.read_excel(r'D:\Data\CCPP.xlsx', 4)

3. 查看数据前3行/后3行

pd.set_option('display.max_rows', 6)
df

数据维度9568行X5列, 均是数值型数据

4. 查看数据整体信息

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9568 entries, 0 to 9567
Data columns (total 5 columns):
AT    9568 non-null float64
V     9568 non-null float64
AP    9568 non-null float64
RH    9568 non-null float64
PE    9568 non-null float64
dtypes: float64(5)
memory usage: 373.8 KB

无缺失数据, 且均为浮点型.

5. 描述性统计

pd.set_option('display.max_rows', None)
df.describe()

温度(AT): 范围1.81--37.11, 均值19.65, 中位数20.35, 左偏分布

排气真空(V): 范围25.36--81.56, 均值54.31, 中位数52.08, 右偏分布

环境压力(AP): 范围992.89--1033.30, 均值1013.26, 中位数1012.94, 右偏分布

相对湿度(RH): 范围25.56--100.16, 均值73.31, 中位数74.975, 左偏分布

电能输出(PE): 范围420.26--495.76, 均值454.37, 中位数451.55, 右偏分布

通过中位数和均值可以大致看出分布状况, 但是对于具体的偏斜程度, 就需要用偏态系数去衡量

6. 偏态系数

偏态系数反映的是数据的偏斜程度, 若偏态系数大于1或小于-1, 则称为高度偏态分布, 若在0.5~1或-1~-0.5之间, 称为中度偏态分布, 否则, 称为低度偏态分布

for i in df.columns:
    print('{}偏态系数: '.format(i), df[i].skew())
AT偏态系数为:  -0.1363930494749227
V偏态系数为:  0.19852101136676173
AP偏态系数为:  0.2654446935825862
RH偏态系数为:  -0.4318387491833329
PE偏态系数为:  0.3065094354204023

可以看出以上均为低度偏态分布. 我们来看看分布形状的另一个度量--峰态系数

7. 峰态系数

峰态系数反映的是数据的扁平程度, 峰态常常是与标准正态分布对比, 若峰态系数为0, 则说明服从标准正态分布, 若大于0, 则说明比标准正态分布更尖, 称为尖峰分布, 若小于0, 则称为平峰分布.

for i in df.columns:
    print('{}峰态系数为: '.format(i), df[i].kurt())
AT峰态系数为:  -1.0375491923092457
V峰态系数为:  -1.4443366772319615
AP峰态系数为:  0.0942371953033132
RH峰态系数为:  -0.4445263744874084
PE峰态系数为:  -1.0485209686925079
可以看得出: AT, V, AP, PE与正态分布相比较扁平, AP则略尖峰.
 
现在我们已经了解了数据的大致情况, 下面让我们进行下一环节: 相关分析

3. 相关分析

该环节的目的是了解特征与特征之间的依赖程度, 这种依赖程度可以用相关系数来衡量, 而通常在相关系数计算之前, 会通过散点图查看分布状况.
1. 散点图
import seaborn as sns
import matplotlib.pyplot as plt 
#初始化
sns.set()
#绘制分布矩阵
sns.pairplot(df)
#保存图片
plt.savefig('ccpp.png')
plt.show()
可以看得出AT, V, AP, PH分别与PE有不同程度的相关关系, 其中AT, V呈现负相关, AP, PH呈现正相关.
我们可以通过散点图可以大致看出相关关系, 对于关系强度我们则需要用相关系数去度量.
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值