根据现有历史数据预测未来数值-算法

lstm 预测未来多天 前言: 由于原模型只能预测一天,不满足需求,所有在上篇的基础模型上进行修改,使原模型可以预测未来多天结果。 修改之后,新模型可以根据多天的数据预测未来多天的结果。应用范围广泛,可以用于,股票预测,汇率预测,安全仓库预测,电力负荷预测等各种实际的应用。可以根据数据集的不同,使用该模型解决各种实际的预测问题。 由于项目数据集不公开,本文使用公开数据集,Beijing PM2.5 Data Set进行仿真实验。具体来说,根据前五天的环境变量信息,预测未来五天的污染值。... 阅读详情

要求:

预测未来一周8.8日-8.15日数值,取上周数据8.1日-8.7日值并求出临近两天的绝对值差额
未来一周数据= 前一天数值+上涨/下跌值
8.8日数值 = 8.7日数值,如果上涨+(8.1日到8.2日绝对值的差值)
如果下降-(8.1日到8.2日绝对值的差值)
如此类推
最高点区间值 : 区间范围上值 = 8.8日数值 *( 1+2.5%)
区间范围下值 = 8.8日数值 *( 1-2.5%)

具体实现的代码如下:

 public static void main(String[] args) {
        List<Map<String, Double>> data = new ArrayList<>();
        data.add(Map.of("2023年08月01日", 7.221958));
        data.add(Map.of("2023年08月02日", 7.231958));
        data.add(Map.of("2023年08月03日", 7.241958));
        data.add(Map.of("2023年08月04日", 7.221958));
        data.add(Map.of("2023年08月05日", 7.251958));
        data.add(Map.of("2023年08月06日", 7.261958));
        data.add(Map.of("2023年08月07日", 7.281958));

        List<Data> dataList = new ArrayList<>();
        dataList.add(new Data("2023年8月08日", "up"));
        dataList.add(new Data("2023年8月09日", "up"));
        dataList.add(new Data("2023年8月10日", "down"));
        dataList.add(new Data("2023年8月11日", "down"));
        dataList.add(new Data("2023年8月12日", "up"));
        dataList.add(new Data("2023年8月13日", "down"));
        dataList.add(new Data("2023年8月14日", "up"));

        double previousValue = data.get(data.size() - 1).values().iterator().next(); // 获取最后一个日期的数值
        double value = previousValue;
        double valueFirst = 0;
        LinkedList<Double> lkl = new LinkedList<>();
        LinkedList result = new LinkedList();
        for (int i = 0; i < dataList.size(); i++) {
            Data dataPoint = dataList.get(i);
            if (i == 0) {
                double diff = Math.abs(data.get(0).values().iterator().next() - data.get(1).values().iterator().next());
                if (dataPoint.getDirection().equals("up")) {
                    value += diff;
                    valueFirst = value;
                } else {
                    value -= diff;
                    valueFirst = value;
                }
            } else {
                if(i==6){
                    double diff = Math.abs(data.get(i).values().iterator().next() - valueFirst);
                    if (dataPoint.getDirection().equals("up")) {
                        value += diff;
                    } else {
                        value -= diff;
                    }
                }else{
                    double diff = Math.abs(data.get(i).values().iterator().next() - data.get(i+1).values().iterator().next());
                    if (dataPoint.getDirection().equals("up")) {
                        value +=  diff;
                    } else {
                        value -=  diff;
                    }
                }
            }
            System.out.println(dataPoint.getDate() + " 的数值: " + value);
            lkl.add(value);
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("datetime",dataPoint.getDate());
            jsonObject.put("rae",value);
            result.add(jsonObject);
        }
        double maxValue = Collections.max(lkl);
        System.out.println("得出list的最大值:"+maxValue);

        List<Double> resultList = new ArrayList<>();
        resultList.add(maxValue + 0.25);
        resultList.add(maxValue - 0.25);
        System.out.println("横线的最大值与最小值:"+resultList);
        JSONObject json = new JSONObject();
        json.put("high",maxValue + 0.25);
        json.put("low",maxValue - 0.25);

        List list = new ArrayList();
        list.add(json);
        list.add(result);
        System.out.println("result######"+ list);
//        List<Map<String, Double>> data = new ArrayList<>();
//        data.add(Map.of("2023年08月01日", 7.221958));
//        data.add(Map.of("2023年08月02日", 7.231958));
//        data.add(Map.of("2023年08月03日", 7.241958));
//        data.add(Map.of("2023年08月04日", 7.221958));
//        data.add(Map.of("2023年08月05日", 7.261958));
//        data.add(Map.of("2023年08月06日", 7.271958));
//        data.add(Map.of("2023年08月07日", 7.281958));
//
//        List<Data> dataList = new ArrayList<>();
//        dataList.add(new Data("2023年8月08日", "up"));
//        dataList.add(new Data("2023年8月09日", "down"));
//        dataList.add(new Data("2023年8月10日", "up"));
//        dataList.add(new Data("2023年8月11日", "up"));
//        dataList.add(new Data("2023年8月12日", "down"));
//        dataList.add(new Data("2023年8月13日", "down"));
//        dataList.add(new Data("2023年8月14日", "up"));
//
//        double previousValue = data.get(data.size() - 1).values().iterator().next(); // 获取最后一个日期的数值
//        double value = previousValue;
//        Random random = new Random();
//        for (int i = 0; i < dataList.size(); i++) {
//            Data dataPoint = dataList.get(i);
//
//            if (i == 0) {
//                double diff = Math.abs(data.get(0).values().iterator().next() - data.get(1).values().iterator().next());
//                if (dataPoint.getDirection().equals("up")) {
//                    value += diff;
//                } else {
//                    value -= diff;
//                }
//            } else {
//                if (dataPoint.getDirection().equals("up")) {
//                    double randomIncrement = random.nextDouble() * 0.025;
//                    value += randomIncrement;
//                } else {
//                    double randomIncrement = random.nextDouble() * 0.025;
//                    value -= randomIncrement;
//                }
//            }
//
//            System.out.println(dataPoint.getDate() + " 的数值: " + value);
//        }
    }
}

class Data {
    private String date;
    private String direction;

    public Data(String date, String direction) {
        this.date = date;
        this.direction = direction;
    }

    public String getDate() {
        return date;
    }
(7-1)行为预测算法:行为预测算法介绍 行为预测算法是一类算法,旨在根据过去的行为模式和数据,预测未来可能的行为或事件。这些算法通常基于机器学习和数据挖掘技术,使用历史数据来发现模式、趋势和关联,从而预测未来可能发生的情况。在本章的内容中,将详细讲解在自动驾驶、无人飞行器和移动机器人等领域中使用行为预测算法知识。 阅读详情

相关推荐

论文研究-基于历史数据的计算机预测分析算法研究 .pdf

基于历史数据的计算机预测分析算法研究,姚文辉,李营,本文旨在研究一种对历史数据进行分析的预测算法,通过该算法可实现对未来结果的预测。本文以福彩双色球作为应用场景建立样本空间

根据历史数据预测未来数据_Power BI根据历史数据进行预测的几种方式

预算分析时,还经常需要对未发生的业务进行预测,预测也是年度目标制定的重要依据,本文就来看看几种常用的简易预测方式,以及用PowerBI如何实现。1、利用上年数据作为本年的预测数获取上年同期的数据可以用时间智能函数SAMEPERIODLASTYEAR,也可以用更通用的DATEADD函数来表达,度量值如下:这个度量值同样先做了判断,只有在未发生业务的日期,才返回预测数据,也就是上年同期数。结...

weixin_39734074的博客 1万+

LED单元板驱动(HUB75接口)

开始之前先吐槽一下,搜这个的资料。要么都是Arduino,要么单片机的收费。小小的一个LED单元板,凭什么? 用Arduino是你速度快还是我ST,树莓派不好用?收费更离谱,这点东西还藏私?给你个中指凸。把原理都写出来看你怎么收费。 一、接口定义及原理 如图,有两个RGB通道,共占用6个IO。剩下的ABCDE为地址通道,LAT为行数据锁存通道,CLK为数据时钟,OE为低电平使能LED显示。图片这里没有E,证明它是16扫的,有E就会把B上面的地改为E。这样就是5位,2的5次方32扫。1.

a3748622的博客 3万+

excel数据分析 - 3种预测数据趋势的技巧总结

一 预测工作表;二 预测函数TREND;三 散点图的趋势线

Venassa佳的博客 1万+

锁定放大器

锁定放大器

qq_46757048的博客 4706

通过历史进行数据预测的算法

通过历史进行数据预测的算法

zhu_superman的博客 3078

VC Spyglass CDC实战:从TCL脚本到SDC约束的完整避坑指南

本文是一份针对数字IC验证工程师的VC Spyglass CDC实战指南。文章详细阐述了从TCL脚本环境搭建、SDC约束编写到典型CDC违规(如SETUP_PORT_UNCONSTRAINED)诊断与修复的完整流程,旨在帮助读者高效避坑,深入理解工具逻辑,从而完成可靠的时钟域交叉验证。

go5gopher的博客 383

根据历史数据预测未来数据_分析实战 | 一个模型教你用历史数据预估未来

在进入主题之前,我们先设想这样一个场景:你作为一名新员工进入了一家公司,公司主打宠物食品,从产品推广之初,已经投放了多轮广告。现在公司将投放新的一轮广告,需要你预估成交额达到50万元,广告转化率大概要在什么范围。为此你去咨询市场推广部门的前辈同事,得到的答案是6%左右。为什么是这个值呢?前辈告诉你是因为经验。可是你的评估报告上不能将评估理由写成“前辈的经验”,那这个任务是不是无法完成?其...

weixin_39560002的博客 1万+

Linux 配置 multipath 多路径

每天一个 DBA 小知识,助你更进一步!

LuciferLiu_DBA 3298

12、多端神经形态晶体管:原理、应用与算法探索

本文综述了多端神经形态晶体管的原理、应用与算法探索。从神经元MOS晶体管的发展到基于电解质栅极晶体管(EGT)的新型器件设计,系统阐述了其在低电压、多功能逻辑运算和突触行为模拟方面的优势。重点介绍了其在化学生物传感器(如多巴胺和pH检测)中的高灵敏度应用,以及在树突整合、时空总和、动态逻辑和神经元算术等树突算法中的实现。文章还总结了该类器件在神经形态计算、智能传感等领域的广阔前景,并分析了当前面临的材料工艺、理论建模与系统集成挑战,展望了未来发展方向。

delta的博客 143

时序预测:根据历史数据预测未来趋势的任务和算法

综上所述,时序预测是一项重要的数据分析任务,它通过利用历史数据的模式和趋势,帮助我们预测未来的发展方向。随着数据科学和机器学习的不断发展,时序预测技术也在不断演进,为我们提供更准确、可靠的预测结果,助力更明智的决策和规划。时序预测是一项重要的数据分析任务,它旨在通过分析过去的数据模式和趋势,预测未来事件或现象的发展方向。这种任务常见于气象预测领域,如气温预测或降雨量预测等。(1) 移动平均法:移动平均法是一种简单直观的预测方法,通过计算过去一段时间内数据点的平均值,来预测未来某个时间点的数值。

chenmuchen_的博客 7019

Altium Designer(AD24/25)导出DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导出DXF或DWG结构文件的方法。

fydar的博客 2329

怎样通过历史数据预测未来?

很多人或许都看过火影忍者,你是否对蛤蟆丸口中的预言之子感到很神奇,这个老蛤蟆预言了很多事情,他在梦里可以预见未来。如果我们在现实生活中也能预测未来该有多好,每天坐等买彩票就可以致富了(笑醒)。当然彩票因为其随机性,肯定是不能预测的,不过有些事情倒是可以预测,只是现有的技术还做不到百分百正确。那么哪些事情是可以预测的呢,比如预测天气、预测股票,预测世界杯或NBA,预测疾病,事故,公司明年的销量,未来...

litao0942051021的博客 1万+

ISO13849功能安全从入门到精通(3):安全功能及其对降低风险的贡献4

例如,如果机器必须在有限速度下运行时进行设置,那么在低加速度值下进行设置时,参数P1将是正确的选择:随着危险缓慢出现并给予足够的运动自由,操作员将能够移出危险区域。例如,在无故障的条件下,在操作者的手的方向移动的滚子不能陷住它。在所有其他情况下,F1是正确的选择,前提是危险暴露的持续时间不超过机器总操作时间的1/20。需求来源于必要的风险降低。由于这些考虑而降低的PLr在任何情况下都不得低于通过比较方式考虑的机器的PLr,因为并不能从事故发生率低和严重程度低得出实施的安全功能提供的安全水平高于要求。

wdconan001的博客 834

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【ai竞赛系列】新冠疫情预测--BiLSTM未来数值预测

第一次参加竞赛,评测新冠疫情未来预测。 给该地区历史几个月的新冠新增数据,然后预测未来一周的新冠。 官方给的历史数据如下: 本次采用的是BiLSTM算法,采用Keras实现的 BiLSTM 代码: import numpy as np import keras from keras.layers import * import matplotlib.pyplot as plt # 载入数据集 (注:载入数据的函数自行写,这边提供函数实现没有意义) # 返回list类型,病例的新增数量按日期排列 org_

sazass的博客 4358

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

osquery预测分析:基于历史数据的智能预测完全指南

在当今复杂的IT环境中,**osquery预测分析**已成为企业安全运维的重要工具。osquery作为一个强大的端点检测和响应平台,通过SQL查询语言提供了对系统状态的全面可见性。基于历史数据的预测分析能力让osquery在异常检测、性能监控和安全威胁预警方面发挥着关键作用。 ## 🔍 什么是osquery预测分析? osquery预测分析是指利用osquery收集的历史系统数据,通过统计分

gitblog_00897的博客 988

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

如何利用 LSTM 预测上证指数未来值

本文基于2024-1-1到2024-10-26的上证指数收盘价格历史数据(文末附数据集),先经过数据预处理和制作加载,然后通过 Pytorch 实现 LSTM 模型对未来10个交易日收盘价格的预测。

1236

CPU技术趋势预测:从现有产品看未来发展方向

数据清洗时特别注意处理不同厂商的命名差异,比如Intel的"10nm Enhanced SuperFin"需要统一转换为标准制程数值。这个项目最让我惊喜的是发现几个规律:首先,制程进步速度开始放缓,但架构创新加速;的一键部署功能,这个包含实时数据更新的仪表盘可以直接生成可访问的网页链接,不用操心服务器配置。如果你也对硬件趋势感兴趣,不妨用类似方法搭建自己的分析工具,相信会有不少有趣的发现。通过Matplotlib生成趋势线图表时,特别标注了关键技术节点,比如AMD首次采用chiplet设计的时间点。

CyanWave34的博客 842

历史的未来:预测与可能性

1.背景介绍 历史学习和预测对于人类文明的发展至关重要。随着数据量的增加,人工智能技术的进步,我们可以更有效地学习历史,并对未来进行更准确的预测。在这篇文章中,我们将探讨历史预测的核心概念、算法原理、实例和未来趋势。 1.1 历史预测的重要性 历史预测是一种利用历史数据和现实世界现象来预测未来发展的方法。这种方法在各个领域都有广泛的应用,例如经济、政治、科技等。历史预测可以帮助我们理解过去的...

AI天才研究院 1725

【ai竞赛系列】新冠疫情预测--堆叠LSTM未来数值预测

第一次参加竞赛,评测新冠疫情未来预测。 给该地区历史几个月的新冠新增数据,然后预测未来一周的新冠。 官方给的历史数据如下: 本次采用的是BiLSTM算法,采用Keras实现的 堆叠LSTM 代码: ...

sazass的博客 2761

【ai竞赛系列】新冠疫情预测--卷积LSTM未来数值预测

第一次参加竞赛,评测新冠疫情未来预测。 给该地区历史几个月的新冠新增数据,然后预测未来一周的新冠。 官方给的历史数据如下: 本次采用的是卷积LSTM算法,采用Keras实现的 卷积LSTM 代码: import numpy as np import keras from keras.layers import * import matplotlib.pyplot as plt ''' 载入数据集 ''' # 载入数据集 (注:载入数据的函数自行写,这边提供函数实现没有意义) # 返回list类型,病例

sazass的博客 2963

机器学习006:监督学习【回归算法】(概论)--教AI从历史中预测未来

回归算法的核心价值,在于它提供了一套“从纷繁复杂的过去中,提炼出简洁数学规律,用以理性推测未来”的自动化框架。它是预测科学的基石,是连接历史数据与未来决策的智慧桥梁。对于初学者而言,学习回归的重点不是记忆复杂公式,而是建立一种思维模式:理解**“特征”与“目标”** 之间的关联思想,明白**“通过减少误差来学习”** 的训练逻辑,并清醒地认识到数据质量和相关性不等于因果性这两个贯穿整个AI学习生涯的黄金法则。恭喜你!现在你已经掌握了让AI“预测未来”的第一把钥匙。

这里是数字化与人工智能的 “实验场” 与 “瞭望台” 1118

Python 机器学习实战:根据成绩预测大学生能否被高校录取

逻辑回归算法是用于分类的。本案例中,建立一个逻辑回归模型来预测一个学生是否被大学录取。假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会。你有以前的申请人的历史数据,你可以用它作为逻辑回归的训练集。对于每一个培训例子,你有两个考试的申请人的分数和录取决定。为了做到这一点,我们将建立一个分类模型,根据考试成绩估计入学概率。       首先,导入库,并且读取数据集。原来数

denghe优快云的博客 1万+

ARMA模型结合PSO算法进行股票预测

股票市场在我国产生以来不断地成长,逐步成为证券业乃至整个金融业必不可少的组成部分,并且受到越来越多投资者的关注,因而对股票市场走势的分析和预测都有重大的理论意义和可观的应用价值。技术分析,作为证券分析中的重要组成部分,在国外的研究己经达到了较高的水平,在信息技术发展的同时,新的理论和技术分析手段不断地被注入到技术分析中,随着中国证券市场逐渐走向理性,业内外人士对于新技术手段分析在中国股票市场的迫切需求,成为本课题发展的源动力。 本研究利用ARMA模型,结合PSO算法,然后得到时间序列模型的参数估计及预测的

FPGA/MATLAB学习教程/源码/项目合作开发 6869

从基础到前沿:CTR预测技术全解析与未来展望

通过精准的CTR预测,广告系统可以更高效地实现用户与广告之间的匹配,从而提升广告主的投资回报率(ROI),同时提高用户的广告体验。CTR预测是广告系统中的重要模块,它不仅承担了点击率的预测任务,还通过与广告匹配环节的紧密结合,共同决定了广告的召回与排序。每一阶段的算法都针对特定的场景和需求进行了优化,从最早的逻辑回归到如今的复杂深度模型,CTR预测技术不断突破,为广告系统提供了更加精准的点击率预测。CTR预测模型的实现是整个预测流程的核心环节,包括数据的预处理、模型的选择与训练,以及模型的评估与部署。

hello.reader 3048
上一篇: 多字段实现动态排序
下一篇: 部署大数据平台详细教程以及遇到的问题解答(ubuntu18.04下安装ambari2.7.3+HDP3.1.0)
@卓越俊逸_角立杰出@
博客等级 码龄9年 4700粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值