Python燃烧废气排放推断算法模型
🎯要点
- 宏观能耗场景模型参数化输入数据,分析可视化输出结果,使用场景时间序列数据模型及定量和定性指标
- 使用线图和箱线图、饼图、散点图、堆积条形图、桑基图等可视化模型输出结果
- 根据气体排放过程得出其时间序列关系,使用推断模型中计算工具量化气体排放量
- 推断模型中计算工具使用的数学工具是恒定比率、时间比率、分位数滚动窗口、均方根、线性插补等
🍪语言内容分比
🍇Python时间序列分析
时间序列数学模型
时间序列模型是假设多个时间序列或时间序列之间存在关系的模型。简单回归模型就是一个例子:
y ( t ) = x ( t ) β + ε ( t ) ( 1 ) y(t)=x(t) \beta+\varepsilon(t)\qquad(1) y(t)=x(t)β+ε(t)(1)
其中 y ( t ) = { y t ; t = 0 , ± 1 , ± 2 , … } y(t)=\left\{y_t ; t=0, \pm 1, \pm 2, \ldots\right\} y(t)={yt;t=0,±1,±2,…} 是一个序列,以时间下标 t t t 为索引,它是可观测信号序列 x ( t ) = { x t } x(t)=\left\{x_t\right\} x(t)={xt}和不可观测,独立且同分布的随机变量的白噪声序列 ε ( t ) = { ε t } \varepsilon(t)=\left\{\varepsilon_t\right\} ε(t)={εt} 的组合。
一种更通用的模型,我们称之为一般时间回归模型,它假设一种关系,其中包含任意数量的 x ( t ) 、 y ( t ) x(t)、y(t) x(t)、y(t) 和 ε ( t ) \varepsilon(t) ε(t) 的连续元素。该模型可以由方程表示
∑ i = 0 p α i y ( t − i ) = ∑ i = 0 k β i x ( t − i ) + ∑ i = 0 q μ i ε ( t − i ) ( 2 ) \sum_{i=0}^p \alpha_i y(t-i)=\sum_{i=0}^k \beta_i x(t-i)+\sum_{i=0}^q \mu_i \varepsilon(t-i)\qquad(2) i=0∑pαiy(t−i)=i=0∑kβix(t−i)+i=0∑qμiε(t−i)(2)
通常认为 α 0 = 1 \alpha_0=1 α0=1 是理所当然的。 左侧前导系数的归一化将 y ( t ) y(t) y(t) 标识为输出序列。方程中的任何和都可以是无限的,但如果模型要可行,则系数序列 { α i } , { β i } \left\{\alpha_i\right\},\left\{\beta_i\right\} {αi},{βi} 和 { μ i } \left\{\mu_i\right\} {μi} 只能依赖于有限数量的参数。
虽然以(2)的形式写出一般模型很方便,但也通常用以下方程表示
y ( t ) = ∑ i = 1 p ϕ i y ( t − i ) + ∑ i = 0 k β i x ( t − i ) + ∑ i = 0 q μ i ε ( t − i ) y(t)=\sum_{i=1}^p \phi_i y(t-i)+\sum_{i=0}^k \beta_i x(t-i)+\sum_{i=0}^q \mu_i \varepsilon(t-i) y(t)=i=1∑pϕiy(t−i)+i=0∑kβix(t−i)+i=0∑qμiε(t−i)
其中 ϕ i = − α i \phi_i=-\alpha_i ϕi=−αi 表示 i = 1 , … , p i=1, \ldots, p i=1,…,p。这会将序列 y ( t ) y(t) y(t) 的滞后版本与输入序列 x ( t ) x(t) x(t) 及其滞后一起放置在右侧上。
工程师倾向于将其描述为反馈模型,而经济学家更可能将其描述为具有滞后因变量的模型。
由于包含可观察的解释序列 x ( t ) x(t) x(t),上述模型被称为回归模型。当 x ( t ) x(t) x(t)被删除时,我们得到一个更简单的无条件线性随机模型:
∑ i = 0 p α i y ( t − i ) = ∑ i = 0 q μ i ε ( t − i ) \sum_{i=0}^p \alpha_i y(t-i)=\sum_{i=0}^q \mu_i \varepsilon(t-i) i=0∑pαiy(t−i)=i=0∑qμiε(t−i)
这是自回归移动平均模型。
Python自回归综合移动平均线
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from statsmodels.tsa.stattools import adfuller
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.arima_model import ARIMA
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
我们将使用包含特定日期飞机乘客数量的数据集。
df = pd.read_csv('air.csv', parse_dates = ['Month'], index_col = ['Month'])
df.head()
plt.xlabel('Date')
plt.ylabel('Number of air passengers')
plt.plot(df)
在建立模型之前,我们必须确保时间序列是平稳的。有两种主要方法可以确定给定时间序列是否平稳。
- 滚动统计:绘制滚动平均值和滚动标准差。如果时间序列随时间保持恒定(用肉眼观察线条是否笔直且平行于 x 轴),则时间序列是平稳的。
- 增强迪基-富勒检验:如果 p 值较低(根据原假设)并且 1%、5%、10% 置信区间的临界值尽可能接近增强迪基-富勒统计,则时间序列被视为平稳。
对于那些不理解平均值和滚动平均值之间区别的人来说,10 天滚动平均值会将前 10 天的收盘价平均作为第一个数据点。下一个数据点会删除最早的价格,加上第 11 天的价格并取平均值,依此类推。
rolling_mean = df.rolling(window = 12).mean()
rolling_std = df.rolling(window = 12).std()
plt.plot(df, color = 'blue', label = 'Original')
plt.plot(rolling_mean, color = 'red', label = 'Rolling Mean')
plt.plot(rolling_std, color = 'black', label = 'Rolling Std')
plt.legend(loc = 'best')
plt.title('Rolling Mean & Rolling Standard Deviation')
plt.show()
正如您所看到的,滚动平均值和滚动标准差随着时间的推移而增加。因此,我们可以得出结论,时间序列不是平稳的。
result = adfuller(df['Passengers'])
print('ADF Statistic: {}'.format(result[0]))
print('p-value: {}'.format(result[1]))
print('Critical Values:')
for key, value in result[4].items():print('\t{}: {}'.format(key, value))
获取因变量的对数是降低滚动平均值增加速率的简单方法。
df_log = np.log(df)
plt.plot(df_log)
让我们创建一个函数来运行两个测试,以确定给定的时间序列是否平稳。
def get_stationarity(timeseries):rolling_mean = timeseries.rolling(window=12).mean()rolling_std = timeseries.rolling(window=12).std()original = plt.plot(timeseries, color='blue', label='Original')mean = plt.plot(rolling_mean, color='red', label='Rolling Mean')std = plt.plot(rolling_std, color='black', label='Rolling Std')plt.legend(loc='best')plt.title('Rolling Mean & Standard Deviation')plt.show(block=False)result = adfuller(timeseries['Passengers'])print('ADF Statistic: {}'.format(result[0]))print('p-value: {}'.format(result[1]))print('Critical Values:')for key, value in result[4].items():print('\t{}: {}'.format(key, value))
👉参阅、更新:计算思维 | 亚图跨际
相关文章:

Python燃烧废气排放推断算法模型
🎯要点 宏观能耗场景模型参数化输入数据,分析可视化输出结果,使用场景时间序列数据模型及定量和定性指标使用线图和箱线图、饼图、散点图、堆积条形图、桑基图等可视化模型输出结果根据气体排放过程得出其时间序列关系,使用推断模…...

Qt中多语言的操作(以QtCreator为例)
1、首先,我们在代码中与文本相关的且需要支持多语言的地方,用tr来包含多语言key(多语言key是我们自己定义的),如下 //举例 QPushButton* btnnew QPushButton(this); btn->move(20,20); btn->resize(100,50); //…...

计算机毕业设计 社区医疗服务系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

html+css学习
html 元素 html元素是HTML的根元素,一个文档只能有一个,其他所有元素都是其后代元素 html有一个属性为lang,其作用是: 帮助语言合成工具确定要使用的发音帮助翻译工具确定要使用的翻译规则 当属性lang“en”则表示告诉其浏览器…...
2.gitlab ce 细粒度的权限控制
需求: 在提交merge reqeust时,必须指定审核人,并且要选审核人清单里的 有个code owners应该可以做到(gitlab ce应该也可以用) 下面是参考的文档 细粒度的代码权限怎么做?极狐GitLab 代码所有者来帮忙 -…...
G - Merchant Takahashi / F - Useless for LIS
G - Merchant Takahashi 首先考虑暴力 DP。 设最后一步走到编号 ii 的城镇的方案的最大收益为 fifi,则每次集市相当于是 fTi←fj−C∣Ti−j∣Pi(1≤j≤n)。 这样每次可以通过枚举 j 来转移,这样总时间复杂度是 O(nm) 的&…...
自然语言处理实例
引子:基于聊天机器人项目的自然语言处理(NLP)学习路线 自然语言处理(Natural Language Processing,简称 NLP)是人工智能的重要分支,旨在帮助计算机理解、生成和处理人类语言。NLP 技术广泛应用于搜索引擎、机器翻译、语音识别、文本摘要、情感分析、对话系统等领域。为…...

『功能项目』主角属性值显示【75】
本章项目成果展示 我们打开上一篇74穿戴装备的项目, 本章要做的事情是制作主角属性界面,实现在面板上显示主角的攻击力等数值 制作一个简易的主角界面(创建Image与Text显示即可) 创建一个空物体 重命名为PlayerInfo 在其子级下创…...
单片机嵌入式编程中常用技术点
Open CV,QT,Linux,多线程,网络编程,文件编程在单片机嵌入式编程中,这些技术在单片机嵌入式编程中的作用: 一、OpenCV 在单片机嵌入式编程中,虽然单片机的计算能力相对有限…...
【毕业论文+源码】基于ASP+NET的人事管理系统
引言 人事管理系统是针对企业内部人事管理设计,分角色实现对公司部门及各部门员工的增、删、改、查以及对员工考勤的管理。 编写目的: 在系统需求分析的基础上,对需求分析中产生的功能模块进行过程描述,设计功能模块的内部细节&…...

计算机毕业设计 校园志愿者管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

速通LLaMA2:《Llama 2: Open Foundation and Fine-Tuned Chat Models》全文解读
文章目录 概览LLaMA和LLaMA2的区别AbstractIntroductionPretrainingFine-tuning1. 概括2、Supervised Fine-Tuning(SFT)3、⭐Reinforcement Learning with Human Feedback(RLHF)🔺总览Training Objectives:…...

如何使用VM中win10搭建Hfish蜜罐(危险感知平台)。从下载到部署详细教程
得而不惜就该死。 -----古月方源 引言:最近跟一个老师做东西,叫我搞清楚蜜罐的搭建和一些底层逻辑,所以记录一下。 一、实验准备 (一)win10虚拟机 (若有需要可以后台私信) (二&…...
Rust: AES 加密算法库
在Rust中,进行AES加密通常会用到一些现有的库,因为Rust标准库中并不直接提供AES加密的API。一个非常流行的库是crypto-box或者更广泛使用的ring库,但ring库由于依赖问题有时可能难以编译,另一个常用的库是cryptography的Rust绑定&…...

计算机网络34——Windows内存管理
1、计算机体系结构 2、内存管理 分为连续分配管理和非连续分配管理 在块内存在的未使用空间叫内部碎片,在块外存在的未使用空间叫外部碎片 固定分区分配可能出现内部碎片,动态分区分配可能出现外部碎片 3、逻辑地址和实际地址的互相转换 4、缺页中断 …...

Redisson 总结
1. 基础使用 1.1 引入依赖 <dependencies><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId></dependency> </dependencies>包含的依赖如下 1.2 配置文件 其实默认主机就…...

EfficientFormer实战:使用EfficientFormerV2实现图像分类任务(一)
摘要 EfficientFormerV2是一种通过重新思考ViT设计选择和引入细粒度联合搜索策略而开发出的新型移动视觉骨干网络。它结合了卷积和变换器的优势,通过一系列高效的设计改进和搜索方法,实现了在移动设备上既轻又快且保持高性能的目标。这一成果为在资源受…...

文心智能体搭建步骤
通过使用文心智能体平台来创建智能体的过程。这种方法可以让没有编程经验的人也能快速构建智能体,降低了技 术门槛。以下是一些建议和心得: 1.选择合适的平台:文心智能体平台是一个优秀的选择,它提供了零代码和低代码的开发环境,极大地降低了…...

PHP安全
PHP伪协议: 一.【file://协议】 PHP.ini: file:// 协议在双off的情况下也可以正常使用; allow_url_fopen :off/on allow_url_include:off/on file:// 用于访问本地文件系统,在CTF中通常用来读取本地文…...

c++278函数指针
#define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<string.h> #include<stdio.h>//数组类型基本语法知识梳理 //定义一个数组类型 //int a[10];//定义一个指针数组类型//定义一个指向数组类型的指针 数组类型的指针void main() {int a[10];//a代…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...