C# Forecast 预测数据方法,MathNet.Numerics学习分享

news2024/11/28 9:23:57

 Forecast 数据预测

        /// <summary>
        /// 数据预测
        /// </summary>
        /// <param name="xValues">数据序列</param>
        /// <param name="yValues">数据值</param>
        /// <param name="forecastPoint">第N个预测序列</param>
        /// <returns>返回第N个序列预测值</returns>
        public double Forecast(double[] xValues, double[] yValues, double forecastPoint)
        {
            //数组平均值
            var xAverage = xValues.Average();
            var yAverage = yValues.Average();

            //预测值上下区间
            var bounds = yValues
                .Select((y, i) => new { Value = y, Index = i })
                .Aggregate(new { Top = 0.0, Bottom = 0.0 }, (acc, cur) =>
                    new
                    {
                        //上限值
                        Top = acc.Top + (xValues[cur.Index] - xAverage) * (yValues[cur.Index] - yAverage),
                        //下限值
                        Bottom = acc.Bottom + Math.Pow(xValues[cur.Index] - xAverage, 2.0)
                    });
            
            var level = bounds.Top / bounds.Bottom;
            //区中预测值
            return (yAverage - level * xAverage) + level * forecastPoint;
        }

 测试调用:

        //测试数据
            double[] xList = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
            double[] yList = new double[] { 836.43, 831.68, 836.03, 835.94, 836.61, 835.8, 835.2, 834.35, 835.93, 835.41, 835.75, 838.15, 835.19, 836.64, 746.17, 669.6, 666.57, 679.41, 679.99, 684.96 };

            //根据已知20个值预测未来10个值
            for (int i = 1; i <= 10; i++)
            {
                //调用主方法
                double foreCastValue = Forecast(xList, yList, 20 + i);
                //打印输出
                Response.Write(foreCastValue.ToString("F4") + "\r\n");
            }

MathNet.Numerics 学习分享:

原文地址: https://blog.csdn.net/zyyujq/article/details/123215130

MathNet.Numerics主要类功能简述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯面试经验,岗位是C++后端

分享一篇腾讯面经&#xff0c;岗位是C后端&#xff0c;考察的内容是C、Redis、网络。 c shared_ptr的原理 答&#xff1a;内部的共享数据和引用计数实现 补充&#xff1a; shared_ptr多个指针指向相同的对象。shared_ptr使用引用计数&#xff0c;每一个shared_ptr的拷贝都…

【瑞萨RA系列FSP库开发】RASC+Keil的环境搭建

文章目录 一、获取资源包二、安装 Keil 软件、RA 芯片包和 RASC三、RASC 集成到 Keil四、使用 RASC 生成 Keil 工程五、通过 Keil 打开 RASC 的 FSP 配置器界面六、配置和编译 Keil 工程七、使用调试器下载程序 本节将介绍如何在Keil上开发瑞萨RA MCU &#xff08;如需了解 e2 …

元宇宙虚拟展馆和VR的关系与区别

元宇宙是指一个数字化的虚拟世界&#xff0c;这个世界由虚拟现实、增强现实等多种技术构建而成。这个世界中&#xff0c;人们可以用虚拟身份在其中自由穿梭&#xff0c;享受到与现实世界不同的多样化和极致体验。虚拟现实&#xff08;VR&#xff09;则是一种技术手段&#xff0…

一文吃透3类CSS复合选择器【案例演示】

书写CSS样式表时&#xff0c;可以使用CSS基础选择器选中HTML元素。但是在实际网站开发中&#xff0c;一个网页可能包含成千上万的HTML元素&#xff0c;如果仅使用CSS基础选择器是远远不够的。为此&#xff0c;CSS提供了儿种复合选择器&#xff0c;实现了更强、更方便的选择功能…

云原生技术的个人总结

文章目录 云原生概念Kubernetes容器和微服务k8s 服务网格边缘计算云边端 云原生概念 重点在以下三个方面 应用容器化面向微服务架构应用支持容器的编排调度 介绍&#xff1a; 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段&#xff0c;…

公网远程访问公司管家婆ERP进销存管理系统 - 无需公网IP

文章目录 1.管家婆服务2. 内网穿透2.1 安装cpolar内网穿透2.2 设置远程访问 3. 固定访问地址4. 配置固定公网访问地址 管家婆辉煌系列产品是中小企业进销存、财务管理一体化的典范软件&#xff0c;历经十余年市场的洗礼&#xff0c;深受广大中小企业的欢迎&#xff0c;在国内及…

jQuery为什么还在发布新版本?

是的&#xff0c;你没有看错&#xff0c;jQuery发布了3.7.0&#xff0c;这个曾经告诉大家write less do more的JS库&#xff0c;这个已经被很多人遗忘的前端必备&#xff0c;曾经有本书叫《锋利的jQuery》。但现在谁还在每天做着jQuery的工作&#xff0c;谁还熟练jQuery的写法&…

linux环境安装使用tomcat详解

01-安装Tomcat # 0.下载tomcat http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.46/bin/apache-tomcat-8.5.46.tar.gz # 1.通过工具上传到Linux系统中 # 2.解压缩到/usr目录中 [rootlocalhost ~]# tar -zxvf apache-tomcat-8.5.46.tar.gz -C /usr/ -C 用来指…

高创伺服电机飞车问题

高创伺服电机飞车问题 兜兜转转又回到了伺服电机上&#xff0c;此次遇到的伺服电机飞车问题困扰了我有好长一段时间。在飞车发生时&#xff0c;除了电机飞速转动使设备抖动带来的物理冲击&#xff0c;也有身边其他人你一言我一语的情绪冲击。希望这个办法可以解决你的飞车问题…

数据湖与数据仓库区别

数据湖是近两年中比较新的技术在大数据领域中&#xff0c;对于一个真正的数据湖应该是什么样子&#xff0c;现在对数据湖认知还是处在探索的阶段&#xff0c;像现在代表的开源产品有iceberg、hudi、Delta Lake。 那对于数据湖应该是什么样子&#xff0c;先来看数据湖的作者AWS…

浏览器缓存学习记录

图片参考链接&#xff1a;https://blog.csdn.net/weixin_44258964/article/details/106444238 其他学习参考链接&#xff1a; 浏览器的强缓存和协商缓存 『网络篇』之手把手实现强缓存与协商缓存 本文主要是对浏览器的两种缓存模式进行记录学习。 浏览器缓存是什么&#xff…

Kali安装zenmap无法使用成功解决

1,找到 https://nmap.org下载 Optional Zenmap GUI (all platforms): zenmap-7.93-1.noarch.rpm 第二步(已安装的忽略):新版kali Linux不支持rpm命令,需要安装rpm格式转化工具fakeroot sudo apt-get install alien fakeroot 第三步:因为后面安装要是debian(deb)格…

商场布局图怎么画?用于商场内部导航的地图怎么做?

用于商场内部导航的地图怎么做&#xff1f;随着人们生活节奏的加快以及收入的提高&#xff0c;人们对于购物的体验要求也在不断的提升&#xff0c;比如以往在商场里面想要快速找到某个商家或者商品都是通过询问工作人员或者路人&#xff0c;非常麻烦&#xff0c;而且&#xff0…

权重老域名在哪里找-怎么找有历史权重域名做站

在哪挖老域名 在哪挖老域名&#xff1f;作为一个SEO人员&#xff0c;这是一个常见的问题。其实&#xff0c;有许多方法可以挖掘老域名&#xff0c;其中一种最有效的方法是使用147SEO老域名挖掘工具。 147SEO老域名挖掘工具是一种基于云平台的工具&#xff0c;专门为SEO人员提…

SolidWorks草图练习题——第十一届M级

欢迎参加SOLIDWORKS认证考试的同学前来学习&#xff0c;下面是SOLIDWORKS第十一届M级的十道SolidWorks草图练习题&#xff1a; 1、2D11-M1&#xff08;路标&#xff09; [题目] CaTICs 2D11-M1 [注意]其中同心、等长等几何关系。[其他] 同色短线长度相等。(题图为示意图&…

webrtc 测试video_loopback

webrtc版本5841-m110 时间又过去了一年&#xff0c;再分析一下底层有什么改进&#xff0c;依然从video_loopback开始。 我想先不去看信令及协商的过程&#xff0c;只看媒体层有什么变化。所以从这个demo开始 video_loopback 项目路径 src/video/video_loopback 在video_loopb…

openssh原理

目录 一、openssh是什么 二、安装openssh 三、ssh协议 四、客户端登录过程 &#xff08;1&#xff09;远程登录——采用“密码身份验证方式” &#xff08;1&#xff09;远程登录——采用“密钥身份验证&#xff08;免密登录&#xff09;方式” 五、openssh配置文件 &a…

从零开始写一个Vue3+Element Plus的后台管理系统

写在开始之前 接触Vue3也有一年的时间了&#xff0c;除了刚开始用Vue3做了一个小小的项目&#xff0c;其后一直没有机会在项目中真正使用Vue3&#xff0c;反而一直维护Vue2的老项目。作为一个有追求&#xff08;wuliao&#xff09;的前端&#xff0c;那就自己开一个git仓库练手…

RAM内存,ROM,CACHE缓存

RAM&#xff08;Random Access Memory&#xff09;&#xff1a;&#xff08;redis是在这一层做的  随机存储器&#xff0c;俗称内存&#xff0c;我们常说的电脑内存8g&#xff0c;指的就是这个(也不完全正确)。RAM要求每时每刻都不断地供电&#xff0c;否则数据会丢失。它由半…

抖音无需代码连接飞书自建的方法

抖音用户使用场景&#xff1a; 公司短视频运营人员每天需要监管企业抖音视频的评论并及时处理&#xff0c;日常工作流程为&#xff1a;每当抖音上发布的视频有新增评论时&#xff0c;运营人员需要将评论内容发送到企业飞书群中通知相关人员及时跟进。整个流程看似比较简单&…