电力数据分析平台/电力管理系统毕业设计项目源码

电力数据分析平台/电力管理系统毕业设计项目源码

项目概要

  文件包含项目简单介绍、环境配置参数说明文档及全部程序源码
  项目原运行截图不便公开(以下截图非该项目截图,下方文字描述非本项目实际项目文档描述),有想要源码和相关文档的见最下方博主联系方式。

  提高负荷预测进度是保障电力系统优化决策科学性的重要手段。根据已有电力负荷数据及气象因素数据,文章主要建立了4个模型来解决关于短期负荷预测方面的问题。
  针对问题一,建立日最高负荷量模型、日最低负荷量模型、日峰谷差模型、日平均负荷量模型以及日负荷率模型。利用Excel软件可将两地区014年各个负荷量的统计值求出(详见附件1),其中地区二2014年1月1日的日最高负荷量、日最低负荷量、日峰谷差、日平均负荷量以及日负荷率分别为6765.5、3748.48、3017.05、5138.23和0.76。通过观察两地2014年负荷数据变化曲线图,考虑数据的波动性等因素可得出地区二更准确的预测结果的结论。
  针对问题二,构建多元线性回归模型,利用SPSS软件对日最高负荷、日最低负荷、日平均负荷与各气象因素进行回归分析。通过观察标准化残差图(详见图4),认为没有趋势性,回归模型有效。用同样的方法可得出两地区各个因变量的回归方程(详见表5)。对多元线性方程做回归误差分析,认为将不重要的气象因素剔除可减小误差。利用逐步回归法可进行更合理的回归分析,得出优先推荐平均温度来提高负荷预测精度。
针对问题三,构建ARIMA预测模型,对数据进行预处理,取每年春季的负荷量作为参照数据,消除了季节成分的影响。通过自相关方面的分析,确定模型为ARIMA(1,1,1),利用SPSS软件可得出所需的预测结果。例如地区一在时间点T0000的负荷量预测模型为x_t=0.928x_{t-1}+_t-0.999。模型拟合的可决系数都在0.8以上,说明预测结果精度比较高。
  针对问题四,构建基于BP神经网络算法的多元非线性系统模型,确定模型为y=ANN(x_1,x_2,x_3,x_4,x_5),利用Matlab编程可训练出相应的神经网络结构,得出预测结果。通过参照数据、模型原理这两个方面,论证了计及气象因素影响的负荷预测结果的精度得到了改善这一结论。
  针对问题五,提取两地区日负荷率作为待处理数据,分别对两地区日负荷率进行正态拟合、T分布拟合、Logistic拟合,做出拟合曲线并对各个拟合进行拟合曲线广义似然比检验。得出地区二的数据比地区一的数据更有规律的结论。

在这里插入图片描述

在这里插入图片描述

全部项目程序源码请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分程序如下:

package com.lky.pmsystem.controller;

import com.lky.pmsystem.entity.Euser;
import com.lky.pmsystem.entity.Power;
import com.lky.pmsystem.service.*;
import com.lky.pmsystem.web.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
import java.util.Map;

/**
 * 电力企业用户用电情况功能
 */
@Controller
public class UserClassifyController {

    //主页
    @RequestMapping("index")
    public String indexHtml(){
        return "index";
    }

    //用户用电情况

    //低电量用户
    @RequestMapping("userClassify")
    public String userManagerHtml(){
        return "redirect:userClassify/pg1";
    }


    @Autowired
    EuserService euserService;

    @Autowired
    DataCount dataCount;

    @Autowired
    Power_2020Service power_2020Service;
    @Autowired
    Power_2019Service power_2019Service;

    @Autowired
    Power_2018Service power_2018Service;

    @Autowired
    Power_2017Service power_2017Service;

    @Autowired
    ChoiceLowYearAndMonth choiceLowYearAndMonth;

    //低电量用户
    @RequestMapping("userClassify/pg1")
    public String userManagerHtml1(Map<String,Object> map){

        String year = "2020";
        String month = "mar";
        List<Euser> euserList = choiceLowYearAndMonth.chioce(year, month);
        //将信息填充
        map.put("euserList",euserList);
        map.put("year",year);
        map.put("month",month);
        return "userClassify/pg1";
    }

    //月份更改时的处理
    @RequestMapping("findLowTableData")
    public String LowPowerUserChangeMonth(String year,String month,Map<String,Object> map){


        //查询数据
        List<Euser> euserList = choiceLowYearAndMonth.chioce(year, month);

        //填充数据
        map.put("euserList",euserList);
        map.put("year",year);
        map.put("month",month);
        return "userClassify/pg1";

    }

    @Autowired
    ChoiceLowYear choiceLowYear;
    @ResponseBody
    @RequestMapping("ajax/echarts/avglowyear")
    public AjaxResult avgLowYear(String year){
        AjaxResult ajaxResult = new AjaxResult();
        //获取全年每月平均数据
        Power power = choiceLowYear.chioce(year);
        ajaxResult.setPower_result(power);
        return ajaxResult;
    }


    @Autowired
    ChoiceHeightYearAndMonth choiceHeightYearAndMonth;
    //高用电量用户
    @RequestMapping("userClassify/pg2")
    public String userManagerHtml2(Map<String,Object> map){

        String year = "2020";
        String month = "mar";
        List<Euser> euserList = choiceHeightYearAndMonth.chioce(year, month);
        //将信息填充
        map.put("euserList",euserList);
        map.put("year",year);
        map.put("month",month);
        return "userClassify/pg2";
    }

    //月份更改时的处理
    @RequestMapping("findHeightTableData")
    public String HeightPowerUserChangeMonth(String year,String month,Map<String,Object> map){


        //查询数据
        List<Euser> euserList = choiceHeightYearAndMonth.chioce(year, month);

        //填充数据
        map.put("euserList",euserList);
        map.put("year",year);
        map.put("month",month);
        return "userClassify/pg1";

    }

    @Autowired
    ChoiceHeightYear choiceHeightYear;
    @ResponseBody
    @RequestMapping("ajax/echarts/avgheightyear")
    public AjaxResult avgHeightYear(String year){
        AjaxResult ajaxResult = new AjaxResult();
        //获取全年每月平均数据
        Power power = choiceHeightYear.chioce(year);
        ajaxResult.setPower_result(power);
        return ajaxResult;
    }
}
全部项目程序源码请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>