数学learning

目录

移动平均

简单移动平均

加权移动平均

指数移动平均

矩阵求导

 矩阵对标量求导 Matrix-by-scalar

标量对矩阵求导 Scalar-by-matrix

参考博客


移动平均

        优化算法里面会涉及到一个知识点:指数移动平均。

        但是为了知识的完整性,这里会将常见的移动平均全部过一遍

        首先移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数,以反映长期趋势的方法。当时间序列的数值由于受到周期变动和不规则变动的影响,起伏较大,不易显示出发展趋势时,可采用移动平均法,消除这些因素的影响,分析、预测序列的长期趋势由此可以看出移动平均是技术分析中一种分析时间序列的常用工具

        常见的移动平均包括:

  • 简单移动平均(SMA)
  • 加权移动平均(WMA) --加权平均
  • 指数移动平均(EMA) --指数平滑

简单移动平均

        首先举个例子若依次得到测定值(x_1, x_2, x_3, ..., x_n) 时,按顺序取一定个数所做的全部算术平均值。 这里假设按照三个区算术平均数,则移动平均值为:

\textup{}(\frac{x_1+x_2+x_3}{3}, \frac{x_2+x_3+x_4}{3}, \frac{x_3+x_4+x_5}{3}, ...)

        设观测序列为y_1, ..., y_T,取移动平均的项数N < T.一次简单移动平均值计算公式为:

M_t = \frac{1}{N}(y_t + y_{t-1} + ... + y_{t-N+1})\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1)

M_t = \frac{1}{N}(y_{t-1}+ ... + y_{t-N}) + \frac{1}{N}(y_t - y_{t-N})\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (2)

M_t = M_{t - 1} + \frac{1}{N}(y_t - y_{t - N}) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (3)

        (1)式为简单移动平均值计算的定义式,但是我们发现由(1)式可以推出(2)式,我们可以把(2)式的括号打开,那么(2)式子中前面的累加和中的最大项会变成y_t,最小项会因为y_{t-N}相互抵消,重新变为y_{t-N},我们发现就是(1)式,很简单的一个变换。

        当预测目标的基本趋势是在某一水平面上下波动时,可用一次简单移动平均法建立预测模型:

        \hat{y} = M_t 利用最后N项求完的简单移动平均值作为预测的值。其预测标准误差为:

S = \sqrt{\frac{\sum_{t=N+1}^{T}(\hat{y_t } - y_t)^2}{T - N}}

        一般N的取值范围:5<=N<=200.当历史序列的基本趋势变化不大且序列中随机变动成分较多时,N的取值应较大一些。否则N的取值应小一些,在由确定的季节变动周期资料中,移动平均的项数应取周期长度。选择最佳N值的一个有效方法是,比较若干模型的预测误差。预测误差小的好。

        简单移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。 如果目标的发展趋势存在其它的变化,采用简单移动平均法就会产生较大的预测偏差和滞后。 

加权移动平均

        在简单移动平均公式中,每期数据在求平均时的作用是等同的。但是,每期数据所包含的信息量不一样,近期数据包含着更多关于未来情况的信心。因此,把各期数据等同看待是不尽合理的,应考虑各期数据的重要性对近期数据给予较大的权重,这就 是加权移动平均法的基本思想。 

        总结一句话就是加权移动平均法,是在简单移动平均法的基础上给每一项加上一个权值,公式如下:

M_t = \frac{w_1y_t+w_2y_{t-1}+...+w_Nt_{t-N+1}}{w_1+w_2+...+w_N} \ \ \ t\geq N

        在加权移动平均法中, wtwt 的选择,同样具有一定的经验性。一般的原则是:近期 数据的权数大,远期数据的权数小。至于大到什么程度和小到什么程度,则需要按照预 测者对序列的了解和分析来确定。 

指数移动平均

        一次移动平均实际上认为近 N期数据对未来值影响相同,都加权\frac{1}{N};而 N 期以前的数据对未来值没有影响,加权为 0。但是,二次及更高次移动平均数的权数却不是 \frac{1}{N},且次数越高,权数的结构越复杂,但永远保持对称的权数,即两端项权数小
        中间项权数大,不符合一般系统的动态性。一般说来历史数据对未来值的影响是随时间间隔的增长而递减的。所以,更切合实际的方法应是对各期观测值依时间顺序进行加权平均作为预测值。指数平滑法可满足这一要求,而且具有简单的递推形式。

        那么究竟什么是指数移动平均,指数移动平均(exponential moving average,EMA或EWMA)是以指数式递减加权的移动平均。各数值的加权影响力随时间而指数式递减,越近期的数据加权影响力越重,但较旧的数据也给予一定的加权值。参考吴恩达深度学习课程中的计算公式进行描述

设时刻t的实际数值为\theta _t, 时刻t的EMA为v_t,时刻t- 1的EMA为v_{t-1},计算时刻t\geqslant 2的指数移动平均公式为:

v_t = \beta v_{t-1} + (1 - \beta) \theta _t

  \beta为权重因子, 通常取值为接近于1的值,如0.9, 0.98, 0.99, 0.999等。\beta越小,过去过去累计值的权重越低,当前抽样值的权重越高,移动平均值的实时性就越强。反之 \beta 越大,吸收瞬时突发值的能力变强,平稳性更好

        v_t是如何表示指数移动平均的?

我们这里设\beta = 0.9, v_0 = 0

v_1 = 0.9v_0 + 0.1 \theta _1

v_2 = 0.9v_1 + 0.1 \theta _2

......

v_{t-2} = 0.9v_{t-3} + 0.1 \theta _{t-2}

v_{t-1} = 0.9v_{t-2} + 0.1 \theta _{t-1}

v_{t} = 0.9v_{t-1} + 0.1 \theta _{t}

逐层会带:

v_t = 0.1 * (\theta _t + 0.9 * \theta _{t-1} + 0.9^2 \theta _{t-2} + ... + 0.9^{t-1}\theta _1)

这里v_t实际上是对时刻t之前(包括t)实际数值的加权平均,实际数值的加权平均,时间离得越远,权重越小,而且是指数式递减的,所以又叫指数加权移动平均 / 指数衰减移动平均

与一般的加权平均相比,使用指数移动平均的好处在于:

  • 不需要保存前面所有时刻的实际数值,并且在计算v_t的过程中是逐步覆盖的,因此可以减少内存的占用
  • 在有些场景下,其实更符合实际情况的,例如股票价格,天气等,上一个时间步对当前时间步影响最大

        但是因为当 EMA 在初始化或者在开始计算的时候,它是有偏的,特别是在序列的开始阶段。这是由于 EMA 的初始值 (v_0) 通常被设置为 0 或者被设置为非常小的数,这将导致 EMA 在开始时偏向于较小的值,从而低估了真实的平均值。

        为了减少这种偏差,我们可以应用偏差修正。修正后的 EMA 定义如下:

\hat{v}_t = \frac{v_t}{1 - \beta^t}

        在这里,(t) 是时间步或迭代的次数,(\hat{v}_t) 是偏差校正后的 EMA 值。当 (t) 很小时,(\beta^t) 接近1,这样做可以显著提高修正后的 EMA 值,使其更接近实际的平均值。随着 (t) 的增加,(1 - \beta^t) 接近1,这意味着修正越来越小,当 (t) 足够大以后,EMA 的值就不再需要修正

下面是最最最重要的问题,权重因子如何确定

权重因子是指数移动平均计算中最关键的参数,如何确定权重因子的大小成为一个关键问题。下面重新推导指数移动平均公式,进一步理解指数移动平均的含义,从而确定权重因子的大小。

\beta = 0.9,求解v_{100}的表达式

        v_{100}指数移动平均值,本质上前100项数值的加权平均。这时我们考虑,到底需要平均多少项的数值。实际上,在计算当前项的指数移动平均值时,我们会加权平均,包含当前项的之前所有项的值。

        但是我们发现,权重随着指数系数的增加而减小,并趋近于0,例如0.9^{99}\approx 0,所以我们可以假设这一项后面的值后忽略不计,即我们假设存在一个阈值,当项的权重系数大于阈值时为有效项;当权重系数衰减到低于阈值则为无效项

\lim_{x\rightarrow 0}(1-x)^{\frac{1}{x}} = \frac{1}{e}

        这里的权重衰减阈值设为自然数的倒数为 \frac{1}{e}\approx 0.368 ,进一步说,当权重系数小于 \frac{1}{e} 时忽略当前项及之后项的加权值。权重因子的作用本质上是控制指数权重平均计算中有效项的数目,即指数平滑有效窗口的大小

        权重因子\beta可以表示为\beta = 1 - x,带入极限得\lim_{\beta \rightarrow 1} \beta ^ {\frac{1}{1-\beta}} = \frac{1}{e}

        我们关心的并不是权重因子的大小,而是指数移动平滑的步长大小,即权重系数\beta ^ T,其中 T 对应的数值,表示平滑窗口/周期的大小。

        所以我们很容易得得出\frac{1}{1-\beta}\approx T,怎么理解呢,因为我们设置了权重系数最小为\frac{1}{e},所以可以理解为\beta^T \geqslant \ \frac{1}{e} \approx lim_{\beta\rightarrow 1} \beta ^ {\frac{1}{1-\beta}}所以T \approx \frac{1}{1-\beta}就一定满足要求。

        通过老师分享得博客我们还发现,Beta 取值越小,序列 V 波动越大。因为我们平均的例子更少,因此结果与噪声数据更接近。随着 Beta 值越大,比如当 Beta = 0.98 时,我们得到的曲线会更加圆滑,但是该曲线有点向右偏移,因为我们取平均值的范围变得更大(beta = 0.98 时取值约为 50)。Beta = 0.9 时,在这两个极端间取得了很好的平衡。如下图所示:

矩阵求导

 矩阵对标量求导 Matrix-by-scalar

标量对矩阵求导 Scalar-by-matrix

看到了一个特别特别好的图,关于矩阵求导如下:

 这篇博客关于矩阵写的比较详细,我觉得一已经比较全面咯~

矩阵求导——学习笔记-CSDN博客

参考博客

指数移动平均EMA - 简书

矩阵求导常用公式_矩阵求导公式-CSDN博客

移动平均(Moving Average) - 知乎 (zhihu.com)

动量 | 机器之心 (jiqizhixin.com)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Mars3d】关于locationBar等控件的css样式冲突处理问题

【Mars3d】关于locationBar等控件的css样式冲突处理问题 问题场景&#xff1a; 1.通过代码加载new mars3d.control.Zoom(或者通过地球map初始化配置 option.control {加载放大缩小工具控件的时候&#xff0c;出现图标的样式冲突效果&#xff1a; 2.sceneModePicker&#xf…

jsp 学科竞赛成绩管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 学科竞赛成绩管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysq…

Spring Boot统一功能处理(Spring拦截器)

为什么需要Spring拦截器 原生的Spring AOP实现统一拦截有两大难点&#xff0c;1.定义拦截的规则难写&#xff1b;2.在切面类中拿到HttpSession比较难。为此Spring官方提供了拦截器帮我们解决了上面痛点。 实现登入信息验证拦截器 实现HanderInterceptor接口重写preHeadler方…

Python创建代理IP池详细教程

一、问题背景 在进行网络爬虫或数据采集时&#xff0c;经常会遇到目标网站对频繁访问的IP进行封禁的情况&#xff0c;为了规避这种封禁&#xff0c;我们需要使用代理IP来隐藏真实IP地址&#xff0c;从而实现对目标网站的持续访问。 二、代理IP池的基本概念 代理IP池是一个包…

微服务——服务保护Sentinel

雪崩问题 在单体项目里面&#xff0c;如果某一个模块出问题会导致整个项目都有问题。 在微服务项目里面&#xff0c;单独一个服务出问题理论上是不会影响别的服务的。 但是如果有别的业务需要调用这一个模块的话还是会有问题。 问题产生原因和解决思路 最初那只是一个小小…

ubuntu创建apt-mirror本地仓库

首先创建apt-mirror的服务端&#xff0c;也就是存储所有apt-get下载的文件和依赖。大约需要300G&#xff0c;预留400G左右空间就可以开始了。 安装ubuntu省略&#xff0c;用的是ubuntu202204 ubuntu挂载硬盘&#xff08;不需要的可以跳过&#xff09;: #下载挂载工具 sudo apt…

数据库——存储过程及游标

智能2112杨阳 一、目的与要求&#xff1a; 1、掌握存储过程的工作原理、定义及操作方法 2、掌握函数的工作原理、定义及操作方法 3、掌握游标的工作原理、定义及操作方法 二、内容&#xff1a; 1. 创建存储过程&#xff0c;用来自动统计给定订单号的订单总金额 源码&…

SpringBoot - 事件机制使用详解(ApplicationEvent、ApplicationListener)

SpringBoot - 事件机制使用详解&#xff08;ApplicationEvent、ApplicationListener&#xff09; Spring 事件机制使用观察者模式来传递事件和消息。我们可以使用 ApplicationEvent 类来发布事件&#xff0c;然后使用 ApplicationListener 接口来监听事件。当事件发生时&#…

使用ThreadLocal.withIniti避免初始化为null问题

问题描述 我们在使用threadLocal的时&#xff0c;使用ThreadLocal.withInitial去初始化而不是使用new ThradLocal去初始化&#xff0c;这是为什么呢&#xff1f; 问题例子 比如说&#xff0c;假设我们想要在每个线程中维护一个独立的计数器 import java.util.concurrent.at…

Node.js创建一个简单的WebSocket接口,实现通信交互

Node.js创建一个简单的WebSocket接口&#xff0c;实现通信交互 一、为什么使用WebSocket&#xff1f; WebSocket&#xff0c;最大特点就是&#xff0c;服务器可以主动向客户端推送信息&#xff0c;客户端也可以主动向服务器发送信息&#xff0c;是真正的双向平等对话&#xf…

C++从bing采集各行业的企业官网信息

作为一名合格的销售&#xff0c;除了自己的人脉&#xff0c;还应该有新鲜的客户加入并发掘。不管哪行哪业&#xff0c;知彼知己&#xff0c;方才能做到百战百胜。今天我就用我们的专业技能&#xff0c;让销售获取更多同行业的公开企业信息&#xff0c;让业绩顺风顺水。 通常在C…

【代码随想录算法训练营-第六天】【哈希表】242,349,202,1

242.有效的字母异位词 第一遍 思考 比较简单&#xff0c;用数组就能实现了 class Solution {public boolean isAnagram(String s, String t) {int[] checkListi new int[256];int[] checkListj new int[256];for (int i 0; i < s.length(); i) {char checkChar s.ch…

修改Docker0和容器的地址

修改Docker0和容器的地址 1. 需求 默认服务器安装完Docker-ce后会给docker0分配172.17.0.1/16地址. 公司新接入一个网段正好与172.17.0.1/16冲突,此时访问这台服务器的容器时就会发生网络不可达. 2. 解决方法 修改/etc/docker/daemon.json 加入一个自定义网段 vim /etc/d…

基于单片机的智能小车 (论文+源码)

1. 系统设计 此次可编程智能小车系统的设计系统&#xff0c;结合STM32单片机&#xff0c;蓝牙模块&#xff0c;循迹模块&#xff0c;电机驱动模块来共同完成本次设计&#xff0c;实现小车的循迹避障功能和手机遥控功能&#xff0c;其整体框架如图2.1所示。其中&#xff0c;采用…

剧本杀小程序成为创业者新选择,剧本杀小程序开发

剧本杀作为现下年轻人最喜欢的新兴行业&#xff0c;发展前景非常乐观&#xff0c;即使剧本杀目前处于创新发展阶段&#xff0c;但剧本杀行业依然在快速发展中。 根据业内数据&#xff0c;预计2025年剧本杀市场规模能达到四百多亿元。市场规模的扩大自然也吸引来了不少的创业者…

利用机器学习实现客户细分的实战

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来学习一下机器学习实战中的案例&#xff1a;创建客户细分&#xff0c;在此过程中也会补充很多重要的知识点&#xff0c;欢迎大家一起前来探讨学习~ 一、导入数据 在此项目中&#xff0c;我们使用 UCI 机器学习代码库…

1+X大数据平台运维职业技能等级证书中级

该部分是选择题部分&#xff0c;实操题在主页的另一篇文章 考试名称&#xff1a;“1X”大数据平台运维职业技能等级证书&#xff08;中级&#xff09; 1X 大数据平台运维中级测试题一、单选题 以下哪种情况容易引发 HDFS 负载不均问题&#xff1f;&#xff08; C&#xff09…

定制软件开发的 5 个挑战

对于大公司来说&#xff0c;定制软件开发就像是眼中钉。无论您是要创建内部使用的工具、自动化手动流程还是推出新产品&#xff0c;从头开始构建它历来都是昂贵且危险的。花钱购买领先的现成解决方案之一&#xff0c;却不得不花费更多的时间和金钱对其进行定制来完成工作&#…

绿萝送温暖,扫雪助出行

今冬的大雪如约而至&#xff0c;给居民的出行带来诸多不便&#xff0c;为保障居民安全出行&#xff0c;绿萝志愿服务队第一时间召集志愿者参与扫雪铲冰工作。2023年12月13日&#xff0c;志愿者在房山城关街道青年北路园林所门口、星城生活区等地进行了志愿扫雪活动。 大雪把街道…

SQL自学通之函数 :对数据的进一步处理

目录 一、目标 二、汇总函数 COUNT SUM AVG MAX MIN VARIANCE STDDEV 三、日期/时间函数 ADD_MONTHS LAST_DAY MONTHS_BETWEEN NEW_TIME NEXT_DAY SYSDATE 四、数学函数 ABS CEIL 和FLOOR COS、 COSH 、SIN 、SINH、 TAN、 TANH EXP LN and LOG MOD POW…