自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 WNTR+LSTM实战进阶

在之前的文章中,我们已经试着写出了最简单的LSTM层,但是在测试方面出了一点小的异常,导致超过测试集的部分无法连续输出预测值。本文在完成超过测试集的输入过程中,还进行模型的调参过程。首先是之前的代码部分。import torchimport torch.nn as nnfrom torch.utils.data import Dataset,DataLoaderimport numpy as npimport pandas as pdimport matplotlib.pyplot as pl

2021-06-23 19:04:33 655 1

原创 WNTR+LSTM实战

在之前的文章中,我们已经实现了WNTR的模拟,数据的预处理,现在我们正式进入LSTM实战,通过原始时间序列的7个输入和每天特定时间点的输入进行预测。下图是我们的数据集,colum是节点的名称。本次我们使用第5号节点来预测它的用水压力,查看lstm的时间序列预测和模拟的真实数据间的差别。首先我们把之前已经完成数据处理的代码放上,详情请见前文:https://blog.csdn.net/wenxiaoshuai001/article/details/118054779?spm=1001.2014.3001

2021-06-21 17:35:18 791

原创 使用WNTR生成数据完成LSTM预测时间数据数据集的准备工作

我们在预测用水量、节点压力的数据时,不仅仅只针对原始的时间序列数据,还要考虑特定时间点的特性。根据专业知识,对用水压力进行预测。1.用户用水的周期性,由于工作生活的高度规律性,大部分用户是白天上班,用水高峰在早上起床的洗漱、下班回家做饭、晚间洗漱等三个较为固定的时间段。呈现出三个波峰,晚间凌晨低谷的用水曲线。2.并且还随着温度,区域人口的增长等有一种趋势的叠加状态。于是,我们按照往日数据进行预测的时候,不能仅仅考虑预测时间点当日的用水因素,还应该考虑在较长的时间段内的用水趋势变化。在以往的博文中,

2021-06-21 12:40:43 1156 1

原创 pytorch LSTM预测时间序列实战-准备数据

之前我们已经在配水管网中使用了不同的用水系数乘子,本次我们想使用LSTM算法来预测节点用水量,压力的时间序列。按照特征工程与实际的专业知识,我们使用滑动窗口的平移输入,以7天为一个周期,输入7天的节点流量,预测第八天的相同节点流量。代码如下1.首先我们要生成2个月的节点用水数据,按照15min的间隔生成:详情参考用水波动真实性一文https://blog.csdn.net/wenxiaoshuai001/article/details/117390651?spm=1001.2014.3001.5501

2021-06-18 11:10:14 2605

原创 WNTRSimulation的间断模拟应用

WNTR的模拟器包含了一个重要功能,可以帮助我们完成在一次模拟中中断改变条件,然后继续模拟。通过这个功能,我们试着在一个月的模拟中,尝试每天换一个用水模式。1.WNTR文档中内容。下面的示例运行10个小时的液压模拟,然后重新启动模拟,再运行14个小时。前10小时和后14小时的结果可以合并分析或单独分析。此外,网络操作可以在模拟之间修改。>>> wn.options.time.duration = 10*3600>>> sim = wntr.sim.WNTRSimu

2021-05-31 21:47:09 530

原创 使用wntr来实现每天一个不同模式的改变(用水数据真实波动性)

模拟管网与真实管网的区别在于模式太过单一,本文旨在生成随温度,工作休息日变化的水力需求。wntr包中是使用add_pattern来添加用水模式的,我们需要通过传入一个列表来确定需水量的乘子。假定我们的传感器是15min传入一次数据,一天24小时我们一共需要24*60/15=96个数字来指定乘子。根据城市用水的大致趋势,即凌晨用水非常少(波动不大),早晚高峰用水明显(两个峰值)。1.我们首先创建一个用水量乘子列表作为我们的日平均波动。import numpy as npa = [0.9,0.8,

2021-05-30 17:10:17 735

原创 wntr数据处理2 (添加时分秒等特征)

我们在前一章节中的数据处理里面发现,每一次都需要计算相应的秒作为index来取不同天的不同小时实在太过于复杂,在本文我们试图添加新的时分秒作为新的特征来简化数据处理的困难。import wntrimport os#导入wn = wntr.network.WaterNetworkModel(r'c:\Users\wen EX\Desktop\WNTR-master\examples\networks\Net3.inp')sim = wntr.sim.EpanetSimulator(wn)res

2021-05-24 16:16:27 448

原创 WNTR数据分析

在使用WNTR包的时候,进行完模拟,需要将模拟的结果results输出进行保存,以便后续的机器学习或者统计分析,也可以进行一系列时间序列数据的预处理,现将大致步骤归纳如下。>>> import wntr >>> wn = wntr.network.WaterNetworkModel('networks/Net3.inp') >>> sim = wntr.sim.EpanetSimulator(wn)>>> results =

2021-05-14 23:12:05 842 1

原创 从零开始学习wntr day6(随机模拟泄漏)

前言本文是通过分析WNTR包自带的stochastic_simulation例子来分析如何在随机管段上面进行添加泄漏点模拟管网漏损,希望对以后的管网模拟算例有所帮助。一、stochastic_simulation例子代码分析首先导入各类包:#coding = utf-8import numpy as npimport wntrimport matplotlib.pyplot as pltimport pickle# Create a water network modelinp_fi

2021-04-20 10:08:25 932 1

原创 从零开始学习wntr day5(管网漏损)

系列文章目录https://editor.csdn.net/md/?articleId=115612518前文day4,利用wntr创建了一个新的经典配水管网例子文章目录系列文章目录前言一、压力驱动模型与泄漏点的基础知识1.需求驱动和压力驱动2.扩散器emitter与add_leak3.WNTRSimulator多次模拟功能:二、开始模拟1.利用创建好的管网进行模拟2.在管段link中添加泄漏点前言本文将探究wntr的Pressure dependent demand simulation,

2021-04-14 20:32:06 2203

原创 wntr从零开始学习 day4

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport.

2021-04-12 20:55:32 1303 5

原创 wntr从零开始学习 day3

文章目录前言一、EpanetSimulator二、WNTRSimulator三、WNTRSimulator特有的管网泄漏模型1.模型简介2.暂停和重新开始3.WNTR的建模语言总结前言wntr包含了两个模拟器,包括EpanetSimulation和WNTRSimulation,以下是两个不同模拟器的介绍,最后我们将会使用WNTR来独立完成一个实例并写入为.inp文件。一、EpanetSimulatorEpanetSimulator可以用来运行EPANET 2.00.12程序员工具包或EPANET.

2021-04-12 09:34:24 2265 1

原创 wntr从零开始学习 day2

文章目录前言一、增加元素二、删减元素三、选项四、元素属性操作前言day1已经学习将epanet中导出管网的.inp文件传入wntr并进行分析,本文主要分析wntr的各种方法,力求达到直接在wntr中进行建模一、增加元素水网络模型包含了添加连接、水箱、水库、管道、泵、阀门、模式、曲线、水源和控制的方法。当一个元素被添加到模型中时,它也被添加到模型的注册表中。在注册表中,连接点、水源、高位水池(junctions, tanks, and reservoirs)共享一个名称空间(这些元素不能共享名称),

2021-04-10 11:33:31 1708 4

原创 wntr从零开始学习 day1

本文是从一个初学者的角度学习wntr,默认有一定的水力学、python、数据科学库与epanet知识,希望能帮助大家。初学者错误在所难免,希望大家指正交流。文章目录前言一、导入包以及传入.inp文件(第一个实例)二、执行分析1.模拟的结果调用2.节点与管段的结果数据与作图总结前言wntr是一个与EPANET兼容的Python包,用于模拟和分析配水网络。https://wntr.readthedocs.io/en/stable/ 是wntr的官方文档。在写作论文时,可以引用以下文献:(官方文档可查

2021-04-09 15:58:23 3880 5

原创 EPANET系统学习 day1

文章目录前言一、水力模拟能力二、EPANET应用步骤三、管网模型的基础知识四、一个例子1.开始绘制前言由于课题研究需要,学习配水管网中的建模。EPANET是一个可以执行有压管网水力和水质特性延时模拟的计算机程序,本次主要是是针对有压管网的延时水力建模,对管网中延时化学成分模拟不做研究。一、水力模拟能力完整和精确的水力模拟是有效水质模拟的先决条件。EPANETH 包含了先进的水力分析引擎,具有以下功能:1.对管网规模未加限制;2.可利用 Hazen-Williams, Darcy-Weisba.

2021-04-05 20:36:51 5772 4

原创 python文件操作(IO技术)

文章目录前言一、文本文件和二进制文件二、创建文件对象 open()文本文件的写入常用编码介绍close()关闭文件流前言一个完整的程序一般都包括数据的存储和读取;我们在前面写的程序数据都没有进行实际的存储,因此 python 解释器执行完数据就消失了。实际开发中,我们经常需要从外部存储介质(硬盘、光盘、U 盘等)读取数据,或者将程序产生的数据存储到文件中,实现“持久化”保存。很多软件系统是将数据存储的数据库中;数据库实际也是基于文件形式存储的,本章我们就学习文件的相关操作。一、文本文件和二进制文件

2021-04-05 15:37:08 121

原创 PYTHON模块

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、 模块化(module)程序设计理念1. 1模块和包概念的进化史1.2 模块化编程的流程二、 模块的导入三、包的使用四、 sys.path 和模块搜索路径五. 模块发布和安装一、 模块化(module)程序设计理念1. 1模块和包概念的进化史量变引起质变”是哲学中一个重要的理论。量变为什么会引起质变呢?本质上理解,随着数量的增加,管理方式会发生本质的变化;旧的管理方式完全不适合,必须采用新的管理方式。程序越来越复杂,语

2021-03-29 14:36:53 197

原创 面向对象编程以及类的进阶

文章目录前言一、类的继承2.类的继承和重写3.多重继承4.多态5.特殊运算符号前言一、类的继承class Person: __eyes = 2 def __init__(self,name,age): self.name = name self.__age = age def say_age(self): print("我的年龄是",self.__age)class Student(Person): def

2021-03-29 10:31:53 72 1

原创 python面向对象编程思想以及类基础

文章目录一.面向对象以及面向过程二.对象的进化以及类的产生1.类的定义2.实例属性和实例方法3.类对象和类方法4.静态方法5.垃圾回收机制一.面向对象以及面向过程例如用洗衣机洗衣服:面向对象:1.人使用洗衣机 2.洗衣机洗衣服面向过程:1.人插电路板 2.人设置洗衣机的程序 3.人加洗衣粉 4.开始洗衣服二.对象的进化以及类的产生随着编程面临的问题越来越复杂,编程语言本身也在进化,从主要处理简单数据开始,随着数据变多进化“数组”; 数据类型变复杂,进化出了“结构体.

2021-03-26 16:41:44 104 2

原创 python快速复习 函数用法和底层分析

文章目录简介一、函数的定义和调用1.形态参数与实际参数2.文档字符串 (函数的注释)3.返回值4.函数的底层内存分析5.变量的作用域(局部变量和全局变量)6.参数的传递7.深拷贝和浅拷贝7.参数的几种类型8.lambda 表达式和匿名函数9.eval()函数10.递归函数11.嵌套函数(内部函数)简介一个程序由一个个任务组成;函数就是代表一个任务或者一个功能。函数是代码复用的通用机制。Python 中函数分为如下几类:内置函数我们前面使用的 str()、list()、len()等这些都是

2021-03-22 15:31:08 102

原创 python快速复习 控制语句

文章目录一、选择结构1.单分支结构2.双分支结构3.多分支结构二、循环结构1.while循环2.for循环循环中的其他语句一、选择结构选择结构通过判断条件是否成立决定进行什么分支,选择结构有多种形式:单分支,双分支,多分支。1.单分支结构if 条件表达式: 语句/语句块条件表达式可以是逻辑表达式,关系表达式,算数表达式等:条件表达式值为False的情况有:False,0.0,0,空值None,空序列对象,空range对象,空迭代对象。条件表达式为空序列,所以是False,不执行语句。

2021-03-19 20:44:23 102

原创 系统复习python 2021.3.17

学习目标:系统复习python,掌握底层原理和知识点复习学习内容:1、序列类型的复习2、 循环语句的复习学习产出:1.序列类型的储存方式两次映射,变量映射到序列,序列的各个数值再进行一次映射。(1)列表列表内部有序,元素可变,利用list()或者[]创建。元素之间可以不相同,可以是任意的类型。append()列表尾部增加新元素,原地修改不用创建新对象(推荐)+[] 创建新的对象,复制原来列表元素到新对象中(不建议使用)extend(alist)也是尾部增加元素,推荐。inser

2021-03-17 21:02:50 127

原创 python系统复习第一天

python快速复习回顾day12020.3.11 python系统复习第一天下载和安装配置编程基础概念标识符的命名规则标识符的格式如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入2020.3.11 python系统复习第一天下载和安装配置之前上过嵩天老师的北京理工大学-Python语言程序设计(P

2021-03-11 21:19:08 166

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除