精华内容
下载资源
问答
  • Python时间序列预测大气二氧化碳浓度
    千次阅读
    2022-03-29 20:33:04

    二氧化碳 (CO2) 和甲烷 (CH4) 等温室气体 (GHG) 会在大气中捕获热量,从而使我们的星球保持温暖,对生物物种友好。 无论如何,燃烧化石燃料等人类活动会导致大量温室气体排放,从而过度提高地球的全球平均温度²。 因此,向可持续的全球经济转型势在必行,这样我们才能减缓气候变化并确保我们物种的繁荣。 在本文中,我们将对大气 CO2 浓度数据应用时间序列预测,从而有机会探索机器学习与气候变化的交叉点。

    时间序列库文件

    Darts 库开发人员旨在使用 Python 简化时间序列分析和预测。 Darts 支持多种预测方法,包括 ARIMA 和指数平滑等经典统计模型,以及基于机器学习和深度学习的新方法。 此外,Darts 包含各种功能,可以让我们了解时间序列的统计特性,以及评估预测模型的准确性。

    import pandas as pd
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    from statsmodels.tsa.seasonal import seasonal_decompose
    from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
    from darts import TimeSeries
    from darts.models import *
    from darts.metrics import *
    from darts.dataprocessing.transformers import Scaler
    import logging
    
    mpl.rcParams['figure.dpi'] = 300
    logging.disable(logging.CRITICAL)
    

    二氧化碳数据集

    简述:数据集还包含经过季节性调整和平滑的数据版本,但我们的分析将只关注标准时间序列。

    时间序列

    简述:时间序列分析:我们将使用Python提取有关数据集及其统计属性的。 这将通过使用各种类型的绘图和其他时间序列分析技术来完成。时间序列预测:我们将在二氧化碳数据集上训练各种预测模型并比较它们的性能。 之后,我们将选择最准确的模型并根据它创建 2022 年的预测。

    预测模型

    简述:创建简单季节模型:设置基线准确度是标准做法,因此我们将通过创建一个简单模型来做到这一点。 这将帮助我们评估更复杂模型的性能,与基线相比,理论上应该具有更高的准确度。 该模型始终预测 K 步前的值,其中 K 等于季节性周期。指数平滑预测模型:基于 Holt-Winter 的指数平滑法创建一个预测模型。线性回归预测模型:通过简单地将滞后值作为特征添加到数据集中,我们可以将时间序列预测转换为回归任务⁷。 因此,我们可以使用任何 scikit-learn 回归模型或其他具有兼容 API 的库,包括 XGBoost 和 LightGBM。 在这种情况下,我们将基于 scikit-learn 库创建一个线性回归模型。**时间卷积网络预测模型:**时间卷积网络是一种替代架构,可以提供有希望的结果,因此我们将测试它的性能。使用指数模型预测。

    源代码

    详情参阅 亚图跨际

    更多相关内容
  • 基于深度学习的空气质量预测模型开源代码汇总 一、传统机理空气质量模型 空气质量模型是基于人类对大气物理和化学过程科学认识的基础上,运用气象学原理及数学方法,从水平和垂直方向在大尺度范围内对空气质量进行...

    基于深度学习的空气质量预测模型开源代码汇总

    一、传统机理空气质量模型

    空气质量模型是基于人类对大气物理和化学过程科学认识的基础上,运用气象学原理及数学方法,从水平和垂直方向在大尺度范围内对空气质量进行仿真模拟,再现污染物在大气中输送、反应、清除等过程的数学工具,是分析大气污染时空演变规律、内在机理、成因来源、建立“污染减排”与“质量改善”间定量关系及推进我国环境规划和管理向定量化、精细化过渡的重要技术方法。

    二、基于深度学习的空气质量预测模型

    • ST-CausalConvNet
      A Spatiotemporal causal convolutional network for predicting PM2.5 concentrations.
      代码地址:链接
      论文pdf下载地址:链接

      模型架构:
      在这里插入图片描述

    • GRU+CNN+ATTENTION
      代码地址:链接

    • GRU

      代码地址:链接

    • Seq2Seq
      GRU_Decode_Encode
      代码地址:链接

    • AQI-prediction using Nested LSTM and wavelet transform (WT)
      AQI-prediction using Nested LSTM and wavelet transform (WT) based on Keras.
      代码地址:链接

    • Use seq2seq and xgboost models
      Kdd cup data mining competition, the main task is to predict air quality(aq) in Beijing and London in the next 48 hours.
      Use seq2seq and xgboost models, ranking 31th in the final leaderboard.
      代码地址:链接

    • Machine Learning techniques
      This project has applied some Machine Learning techniques to analyse and predict the Air Quality in Beijing.
      代码地址:链接

    展开全文
  • 深度学习时间序列预测:LSTM算法构建时间序列单变量模型预测空气质量(PM2.5)+代码实战 # 导入需要的包和函数; from __future__ import print_function import os import sys import pandas as pd import...

    深度学习时间序列预测:LSTM算法构建时间序列单变量模型预测空气质量(PM2.5)+代码实战

    # 导入需要的包和函数;

    from __future__ import print_function
    import os
    import sys
    import pandas as pd
    import numpy as np
    %matplotlib inline
    from matplotlib import pyplot as plt
    import seaborn as sns
    import datetime

    # 数据加载

    # set current working directory
    # os.chdir('D:/Practical Time Series')
    
    
    #set current working directory
    os.chdir('E:\\time series\\Practical-Time-Series-Analysis-code')
    
    #Read the dataset into a pandas.DataFrame
    # df = pd.read_csv('datasets/PRSA_data_2010.1.1-2014.12.31.csv')
    
    #Read the dataset into a pandas.DataFrame
    df = pd.read_csv('DataFiles\\PRSA_data_2010.1.1-2014.12.31.csv')
    
    
    print('Shape of the dataframe:', df.shape)
    
    #Let's see th
    展开全文
  • 针对采空区煤炭自然发火的预测问题,从温度、标志气体浓度以及钻孔参数3个方面选取了8个相关因素,利用Logistic回归分析从中提取出5个相对重要的因素作为预测模型的输入,运用极限学习机算法进行预测,并采用粒子群算法...
  • 这个作业是关于线性回归的作业,其要求如下: 给定训练集train.csv,要求根据前9个小时的空气监测情况预测第10个小时的PM2.5含量。... (3)、每天的检测指标包括CO、NO、PM2.5、PM10等气体浓度,是否降雨...

    这个作业是关于线性回归的作业,其要求如下:

        给定训练集train.csv,要求根据前9个小时的空气监测情况预测第10个小时的PM2.5含量。

        训练集介绍:

      (1)、CSV文件,包含台湾丰原地区240天的气象观测资料(取每个月前20天的数据做训练集,12月X20天=240天,每月后10天数据用于测试,对学生不可见);

      (2)、每天的监测时间点为0时,1时......到23时,共24个时间节点;

      (3)、每天的检测指标包括CO、NO、PM2.5、PM10等气体浓度,是否降雨、刮风等气象信息,共计18项;

    首先,需要对数据进行预处理,由于在excel表格中,RAINFALL项目会有NR值,这不是一个整数,因此需要把它转化成0,此外excel表格的格式为big5,这一点需要注意以下

    线性回归步骤如下:

        1.选择一个模型,我选择的模型是线性模型

                 Y = \sum WiXi+b

    excel表格中每小时有18个特征项,每天有24个小时进行记录,因此每天的记录值为18*24项,但是题目是根据前9个小时预测第10个小时的PM2.5含量,因此我们只需要前10个小时的值。并且前9个小时的值被用作Xi

    所以该模型具有18*9个特征项,也就具有18*9个Wi

       2.设置损失函数

    为什么要在前面乘以0.5呢?因为L具有平方项,如果进行求导数则会由2出现,2*0.5=1这样子就可以消去常数。

    L分别对b和Wi求偏导

    这个图是我盗别人的,哈哈哈哈。。。所以需要自己改下,把8改成18*9

    接下来的任务就是更新W和b的值,更新方法如下(这个图也是盗用的......)

    3.最后使用自适应的梯度下降算法

    这样子就完成了整个训练流程,只需要完成最后一步:得到训练后的模型后对该模型进行测试

    训练代码如下:

    import numpy as np
    import pandas as pd
    
    
    # 数据处理
    def DealData(filePath):
        inputList = []
        outputList = []
        # 读取数据
        trainData = pd.read_csv(filePath, encoding="big5")
        # 删除测站列
        trainData = trainData.drop(columns=['測站'])
        trainData = trainData.replace(["NR"], '0')
        days = sorted(set(trainData["日期"]))
        for day in days:
            dayData = trainData[trainData["日期"] == day]
            inputData = sum(dayData.iloc[:, 2:11].astype(float).values.tolist(), [])
            outputData = float(dayData.iloc[9, 11])
            inputList.append(inputData)
            outputList.append(outputData)
        return inputList, outputList
    
    
    # 对数据进行训练
    def Train(inputList, outputList, trainCount):
        # 设置偏差值和参数的权重  Y=W1X1....WnXn+bias
        bias = 0
        weights = np.ones(9*18)
        # 设置学习率
        learningRate = 1
        # 设置正则项系数
        regRate = 0.001
        # 设置偏差值和权重的平方
        biasPow = 0
        weightsPow = np.zeros(9*18)
        # 训练trainCount次
        for i in range(trainCount):
            # 损失函数对偏差值bias的偏导
            b_g = 0
            # 损失函数对权重的偏导
            w_g = np.zeros(9*18)
            for k in range(len(inputList)):
                outputSuppose = float(weights.dot(inputList[k])+bias)
                b_g += (-1)*(outputList[k] - outputSuppose)
                for m in range(9*18):
                    w_g[m] += (outputList[k] - outputSuppose)*(-inputList[k][m])
            b_g /= trainCount
            w_g /= trainCount
            for n in range(9*18):
                w_g[n] += regRate * weights[n]
            # adagrad
            biasPow += b_g**2
            weightsPow += w_g**2
            # 更新权重和偏置
            bias -= learningRate/biasPow**0.5 * b_g
            weights -= learningRate/weightsPow**0.5 * w_g
            if i % 200 == 0:
                loss = 0
                for j in range(len(inputList)):
                    loss += pow(outputList[j]-weights.dot(inputList[j])-bias, 2)
                print("当前训练轮次:{0},损失函数:{1}".format(i, loss/len(inputList)))
        return bias, weights
    
    
    # 测试模型
    def TestModel(bias, weights, testInputList, testOutput):
        loss = 0
        for i in range(len(testInputList)):
            realOutput = testOutput[i]
            outputSuppose = bias+weights.dot(testInputList[i])
            var = pow((outputSuppose-realOutput), 2)
            print("第{0}项预测值为{1},实际值为{2},方差为{3}".format(i, outputSuppose, realOutput, var))
            loss += var
        loss = loss/len(testInputList)
        print("损失函数为{0}".format(loss))
        pass
    
    
    # 主程序函数
    def main():
        trainPath = "G:/机器学习/数据/hw1/train.csv"
        inputList, outputList = DealData(trainPath)
        trainInputList = inputList[0:200]
        trainOutputList = outputList[0:200]
        testInputList = inputList[200:]
        testOutputList = outputList[200:]
        trainCount = 4000
        bias, weights = Train(trainInputList, trainOutputList, trainCount)
        TestModel(bias, weights, testInputList, testOutputList)
        pass
    
    
    # 程序执行
    if __name__ == '__main__':
        main()

    测试后得到的结果如下:

    当前训练轮次:0,损失函数:684.3899999999957
    当前训练轮次:200,损失函数:56.473359934458045
    当前训练轮次:400,损失函数:45.33881919382273
    当前训练轮次:600,损失函数:39.488325781453476
    当前训练轮次:800,损失函数:35.72138372192509
    当前训练轮次:1000,损失函数:33.0441540501544
    当前训练轮次:1200,损失函数:31.022581763943364
    当前训练轮次:1400,损失函数:29.430439131643695
    当前训练轮次:1600,损失函数:28.1364394643143
    当前训练轮次:1800,损失函数:27.05860648592519
    当前训练轮次:2000,损失函数:26.142945874331875
    当前训练轮次:2200,损失函数:25.352417398212104
    当前训练轮次:2400,损失函数:24.660778290122344
    当前训练轮次:2600,损失函数:24.04893173674829
    当前训练轮次:2800,损失函数:23.502655271751813
    当前训练轮次:3000,损失函数:23.011133804188486
    当前训练轮次:3200,损失函数:22.565984138367618
    当前训练轮次:3400,损失函数:22.160591049327444
    当前训练轮次:3600,损失函数:21.789646709579955
    当前训练轮次:3800,损失函数:21.44882593553877
    第0项预测值为11.909631516110835,实际值为20.0,方差为65.45406220510706
    第1项预测值为4.602955352355311,实际值为3.0,方差为2.569465861644539
    第2项预测值为5.4557501727339766,实际值为8.0,方差为6.47320718354319
    第3项预测值为5.387123641570756,实际值为1.0,方差为19.246853846429055
    第4项预测值为-1.540062191641304,实际值为1.0,方差为6.451915937405625
    第5项预测值为3.9624436659645657,实际值为7.0,方差为9.226748482438786
    第6项预测值为9.9467200412393,实际值为6.0,方差为15.576599083919948
    第7项预测值为8.939173678979122,实际值为15.0,方差为36.73361569357947
    第8项预测值为12.38817785190848,实际值为22.0,方差为92.38712500654268
    第9项预测值为11.92536843089255,实际值为18.0,方差为36.90114870039683
    第10项预测值为6.021903193501299,实际值为5.0,方差为1.0442861368881542
    第11项预测值为12.466206403583957,实际值为18.0,方差为30.622871567735203
    第12项预测值为2.0375630369547473,实际值为14.0,方差为143.09989809483133
    第13项预测值为20.390103560269754,实际值为24.0,方差为13.031352305577105
    第14项预测值为7.512445048571662,实际值为12.0,方差为20.138149442088995
    第15项预测值为7.5324707672260605,实际值为6.0,方差为2.3484666524024305
    第16项预测值为13.710002579791938,实际值为11.0,方差为7.3441139824789605
    第17项预测值为22.103521040370428,实际值为33.0,方差为118.73325371764997
    第18项预测值为7.436302234120388,实际值为3.0,方差为19.68077751246155
    第19项预测值为7.229633674162784,实际值为13.0,方差为33.29712753435609
    第20项预测值为15.636336560302368,实际值为10.0,方差为31.76828982100113
    第21项预测值为13.142288922885504,实际值为4.0,方差为83.58144674951498
    第22项预测值为16.490073912721158,实际值为15.0,方差为2.220320265372141
    第23项预测值为24.119061908180925,实际值为19.0,方差为26.20479481978893
    第24项预测值为5.290761020144716,实际值为9.0,方差为13.758453809677869
    第25项预测值为9.114654378861811,实际值为15.0,方差为34.63729308025046
    第26项预测值为26.516070168463376,实际值为28.0,方差为2.202047744924314
    第27项预测值为22.947627904320363,实际值为20.0,方差为8.688510262328057
    第28项预测值为24.89476170611225,实际值为25.0,方差为0.011075098500404735
    第29项预测值为26.542123395012194,实际值为19.0,方差为56.88362530559026
    第30项预测值为30.05447374152368,实际值为37.0,方差为48.24033500718407
    第31项预测值为22.83571732140236,实际值为27.0,方差为17.34125022726834
    第32项预测值为47.312246813541506,实际值为39.0,方差为69.09344708923092
    第33项预测值为23.527986474140697,实际值为21.0,方差为6.390715613438312
    第34项预测值为14.273157336046825,实际值为18.0,方差为13.889356241861595
    第35项预测值为15.891649151200326,实际值为15.0,方差为0.7950382088362621
    第36项预测值为25.588011635858344,实际值为28.0,方差为5.817687868754744
    第37项预测值为14.02102790455091,实际值为22.0,方差为63.66399569995523
    第38项预测值为22.124489392589677,实际值为34.0,方差为141.0277521867151
    第39项预测值为9.102401266080344,实际值为6.0,方差为9.624893615776921
    损失函数为32.90503419158618

    可以看到在训练集中的损失函数为21.4,在测试集中的损失函数为33。也就是说预测的值和实际的值相差5到6之间。比我借鉴的人好了1秒左右......但是损失函数依然很大。

    目前我的想法为:

          1.模型过于简单,只有一次项,可能多几项会好一些。

          2.可能和季节有关系,比如说冬天的PM2.5可能会比夏天的高

    写了一上午和一下午了,终于把这个项目大概搞完了,对于梯度下降算法还有很多不懂,还需要继续学习。

    线性回归预测PM2.5----台大李宏毅机器学习作业1(HW1) - 秋沐霖 - 博客园 (cnblogs.com)  这个是我借鉴的博客,大家可以去看下

     

    展开全文
  • 滞后时间预测模型一、整体框架1、实现目标2、基本思路和框架二、模拟滞后时间数据1、模拟代码2、模拟结果三、深度学习部分1、全连接神经网络部分1、处理数据,数据分割2、全连接神经网络及其学习结果 一、整体框架 1...
  • 基于神经网络的天气质量指数预测

    千次阅读 多人点赞 2020-07-24 15:13:00
    通过matlab编程,实现数据库的建立、数据处理、神经网络建立、网络训练,最终实现预测未来第四小时的6种污染物浓度数值。本文下例以预测co的 污染物浓度为例。 2 项目方法 1 数据相关性分析 网络获取到的污染物浓度...
  • 线性回归预测PM2.5----台大李宏毅机器学习作业1(HW1) 1、作业说明 给定训练集train.csv,要求根据前9个小时的空气监测情况预测第10个小时的PM2.5含量。 训练集介绍:  (1)、CSV文件,包含台湾丰原地区240天的...
  • 机器学习葡萄酒质量 带GPS的狗,电子鼻和可倾倒完美啤酒的机器人 (GPS-Wearing Dogs, an Electronic Nose, and a Robot That Pours the Perfect Beer) Bushfires in Australia are as commonplace as kangaroos and ...
  • WDK学习笔记第一周

    2021-09-15 15:37:56
    文章目录摘要一、pandas是什么?二、使用步骤总结欢迎使用Markdown...如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展
  • 而在电子鼻的条形码中,有20个条码,条码是由一种装载了不同类型燃料的纤维素壳聚糖制成的,这些燃料会跟肉类释放的气体发生反应,并根据不同类型和浓度气体而改变颜色,从而形成独特的颜色组合,相当于一种肉类...
  • 2019 KDD 0 摘要 ...在本文中,我们探讨了提高深度学习建模极端事件以进行时间序列预测的能力。 我们首先发现深度学习方法的弱点源于传统形式的二次损失函数。为了解决这个问题,我们从极值...
  • 内容来源:ATYUN AI平台 ...这可能会阻止建立准确的气候模型,但正确预测天气变化,以及温室气体浓度对政策制定者至关重要。 论文的第一作者,地球研究所和数据科学研究所的成员Pierre Gentine说,“这可能是...
  • 李宏毅机器学习——课后作业1

    千次阅读 2021-02-02 06:19:08
    【李宏毅 深度学习19(完整版)国语】 第一次作业参考地址: 线性回归预测PM2.5----台大李宏毅机器学习作业1(HW1) 文章目录作业要求:作业分析:模型分析:代码分析:数据预处理:模型建立:完整代码:运行结果: ...
  • 而通过基于该算法基础形成的深度学习、人工智能、视觉计算的能力可以设计构造基于人的特征行为识别算法,将规范化在危化品车辆和危化品仓库中的人的行为导致的相关危害风险,诸如危化品车辆疲劳驾驶,危化品车辆驾驶...
  • 摘要 甲烷是仅次于二氧化碳的第二大温室气体,全球约11%的人为甲烷排放来自稻田。硫酸盐施用是一种减少稻田甲烷排放的减缓战略,因为硫酸盐还原剂和产甲烷菌争夺相同的底物。已...
  • ☞重返数学史的黄金时代,由数学推动诞生的人工智能,一部人类智慧形成的历史 ☞高等数学和数学分析教材推荐及学习方法浅谈 ☞艺术中蕴含的数学原理 ☞物理学四大神兽,除了“薛定谔的猫”, 你还知道哪几个?...
  • 我们需要加油向师兄学习。 摘要 面对全球变化,要保持生态系统功能的稳定性,就需要更好地理解功能特殊微生物群的调控因素及其种群对干扰的响应。在这项研究中,我们收集了中国54个管理的生态系统的土壤,并进行了一...
  • | 2021 年第 003 期摘要:从河渠冰水力学基本理论7个方面(水热循环机理、流冰形成输移扩散机理、锚冰岸冰形成发展释放、封河冰塞机理、开河冰坝机理、水工建筑物冰塞机理、水冰沙互馈作用机理)、河渠冰情预测...
  • 忆阻器神经形态计算

    2021-06-14 16:24:21
    具体的神经网络理论在这就不进行一一介绍,如果你们感兴趣可以去阅读《pytorch机器学习从入门到实战》和周志华的《机器学习》。 但是在人工传感系统与生物感官系统存在较大差距,如分类精度不高、功耗高、集成密度...
  • 底物N的浓度,N:P(即总N浓度除以总P浓度),C:N(即总C浓度除以总N浓度)和C:(N:P)(即总C浓度除以总氮与总磷浓度的商)在整个演替过程中都发生了变化(从针叶林到阔叶林;图2)。具体而言,在整个演替过程中,土壤和...
  • 使用GMRF预测算法在自定位图上显示为热图,该算法将过去的气体测量值与导航图中的障碍物信息相结合,以估计附近未访问位置的强度。因此,其准确性取决于访问的位置数量,从而使其每秒不断更新一次最新的气体测量值。...
  • 摘要 土壤是强温室气体甲烷的生物源,而在大气中只有大约1.84 ppmv(part per million by volume)极低的浓度。 长期以来,人们一直认为这种“高亲和力”甲烷氧化(HAMO)是由尚未被培养的消耗甲烷的细菌造成的。在这里...
  • 选择压力因子随生境而异,可能包括pH、温度、氧气和其它气体浓度、养分的可利用性、与其它细菌的直接竞争或合作、噬菌体和真核生物的捕食以及压力诱导产生的药物、抗菌化合物和重金属等异源生物的存在。...
  • 2、神秘气体 在1970年代,美国国家航空航天局(Nasa)的维京机器人登陆器进行了一系列实验,旨在测试火星土壤中是否存在微物种。 实验对着陆器反应室中的火星土壤小样本进行了化学处理。在它们中的一个,含有放射性...
  • 此次的探测数据显示,水被“困在”月球表面的土壤中,浓度为百万分之100—400,相当于每千克月壤中含有100—400毫升水,这比撒哈拉沙漠还要干燥100倍,不过精确的水含量需要进一步验证。 另据论文介绍,探测到的水...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 158
精华内容 63
关键字:

深度学习预测气体浓度

友情链接: ZFSZDZ-PWM.zip