EMA怎样计算

2024-05-12

1. EMA怎样计算

时间有限,我把公式发给你,你自己代入就可以了。
 
计算你提供的数据:(收盘价为):1,2,3,4,5,........求其EMA(c,5);
----------------------------------------------------------------------------------------------
解答:对应上面数据,X1,X2,X3,X4,X5,.......分别对应1,2,3,4,5,6,7,8,9;
则EMA(c,5)=5/15*X5+4/15*X4+3/15*X3+2/15*X2+1/15*X1=(5*X5+4*X4+3*X3+2*X2+1*X1)/15
=5.67(为了节省公式我取到X5);
--------------------------------------------------------------------------------------------
EMA(X,N)求X的N日指数平滑移动平均。算法是:
  若Y=EMA(X,N),则Y=[2*X+(N-1)*Y’]/(N+1),其中Y’表示上一周期的Y值。
  EMA引用函数在计算机上使用递归算法很容易实现,但不容易理解。例举分析说明EMA函数。
  X是变量,每天的X值都不同,从远到近地标记,它们分别记为X1,X2,X3,….,Xn
  如果N=1,则EMA(X,1)=[2*X1+(1-1)*Y’]/(1+1)=X1
  如果N=2,则EMA(X,2)=[2*X2+(2-1)*Y’]/(2+1)=(2/3)*X2+(1/3)X1
  如果N=3,则EMA(X,3)=[2*X3+(3-1)*Y’]/(3+1)=[2*X3+2*((2/3)*X2+(1/3)*X1)]/4=(1/2)*X3+(1/3)*X2+(1/6)*X1=3/6*X3+2/6*X2+1/6*X1
  如果N=4,则EMA(X,4)=[2*X4+(4-1)*Y’]/(4+1)=2/5*X4+3/5*((1/2)*X3+(1/3)*X2+(1/6)*X1)=4/10*X4+3/10*X3+2/10*X2+1/10*X1
  =2/5*X4+3/10*X3+3/15*X2+3/30*X1
  如果N=5,则EMA(X,5)=2/(5+1)*X5+(5-1)/(5+1)(2/5*X4+3/10*X3+3/15*X2+3/30*X1)
  =(1/3)*X5+(4/15)*X4+(3/15)*X3+(2/15)*X2+(1/15)*X1=5/15*X5+4/15*X4+3/15*X3+2/15*X2+1/15*X1
  …………循环下去吧:)
  EMA(X,6)=6/21*X6+5/21*X5+4/21*X4+3/21*X3+2/21*1/21X1

EMA怎样计算

2. EMA到底怎么算的

EMA指数平均数指标(Exponential Moving Average,EXPMA或EMA) 指数平均数指标也叫EXPMA指标,它也是一种趋向类指标,其构造原理是仍然对价格收盘价进行算术平均,并根据计算结果来进行分析,用于判断价格未来走势的变动趋势。
计算方法:
  EXPMA=(当日或当期收盘价-上一日或上期EXPMA)/N+上一日或上期EXPMA,其中,首次上期EXPMA值为上一期收盘价,N为天数。
实际上,从EXPMA指标的构造原理和它的使用原则来看,这一指标更接近于均线指标,而且由于EXPMA指标通过对参数进行有效地设定,可以发挥出比均线指标更为直观和有用的信息。

3. 关于ema的计算与dif的计算

DEA是MACD指标的一项参考线,至于如何计算的,是有个公式的,你弄懂公式也没多大用,
公式如下所示:
加权平均指数(DI)=(当日最高指数+当日收盘指数+2倍的当日最低指数)
十二日平滑系数(L12)=2/(12+1)=0.1538
二十六日平滑系数(L26)=2/(26+1)=0.0741
十二日指数平均值(12日EMA)=L12×当日收盘指数+11/(12+1)×昨日的12日EMA
二十六日指数平均值(26日EMA)=L26×当日收盘指数+25/(26+1)×昨日的26日EMA
差离率(DIF)=12日EMA-26日EMA
九日DIF
平均值(DEA)
=最近9日的DIF之和/9
柱状值(BAR)=DIF-DEA
MACD=(当日的DIF-昨日的DIF)×0.2+昨日的MACD
“MACD=(当日的DIF-昨日的DIF)×0.2+昨日的MACD”
公式里MACD的表达式表示的是对下一天DIF的预测,即MACD的值实际上是对DIF的预测值,是长期平滑过来的结果(这里的平滑系数是0.2),在近期股票价格变化较大情况下与实际DIF的偏差会较大,所以很多时候并不去计算它,作用也不大。(由于它是DIF的预测值,不需要表现在MACD图形曲线里)
计算ema式中的1和2分别是(12)和(26)的数值。

关于ema的计算与dif的计算

4. em算法是什么

最大期望算法(Expectation-Maximization algorithm, EM),或Dempster-Laird-Rubin算法,是一类通过迭代进行极大似然估计(Maximum Likelihood Estimation, MLE)的优化算法  ,通常作为牛顿迭代法(Newton-Raphson method)的替代用于对包含隐变量(latent variable)或缺失数据(incomplete-data)的概率模型进行参数估计。
EM算法的标准计算框架由E步(Expectation-step)和M步(Maximization step)交替组成,算法的收敛性可以确保迭代至少逼近局部极大值 。EM算法是MM算法(Minorize-Maximization algorithm)的特例之一,有多个改进版本,包括使用了贝叶斯推断的EM算法、EM梯度算法、广义EM算法等 。
由于迭代规则容易实现并可以灵活考虑隐变量,EM算法被广泛应用于处理数据的缺测值 ,以及很多机器学习(machine learning)算法,包括高斯混合模型(Gaussian Mixture Model, GMM) 和隐马尔可夫模型(Hidden Markov Model, HMM)  的参数估计。

5. 怎么通俗易懂地解释EM算法并且举个例子

在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。
最大期望算法经过两个步骤交替进行计算:
第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;
第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。
M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。
总体来说,EM的算法流程如下:
初始化分布参数
2.重复直到收敛:
E步骤:估计未知参数的期望值,给出当前的参数估计。
M步骤:重新估计分布参数,以使得数据的似然性最大,给出未知变量的期望估计。

怎么通俗易懂地解释EM算法并且举个例子

6. em算法的EM算法

在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。最大期望算法经过两个步骤交替进行计算:第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。总体来说,EM的算法流程如下:1.初始化分布参数2.重复直到收敛:E步骤:估计未知参数的期望值,给出当前的参数估计。M步骤:重新估计分布参数,以使得数据的似然性最大,给出未知变量的期望估计。

7. em算法的EM算法简述

迭代使用EM步骤,直至收敛。可以有一些比较形象的比喻说法把这个算法讲清楚。比如说食堂的大师傅炒了一份菜,要等分成两份给两个人吃,显然没有必要拿来天平一点一点的精确的去称分量,最简单的办法是先随意的把菜分到两个碗中,然后观察是否一样多,把比较多的那一份取出一点放到另一个碗中,这个过程一直迭代地执行下去,直到大家看不出两个碗所容纳的菜有什么分量上的不同为止。EM算法就是这样,假设我们估计知道A和B两个参数,在开始状态下二者都是未知的,并且知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。可以考虑首先赋予A某种初值,以此得到B的估计值,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。EM 算法是 Dempster,Laind,Rubin 于 1977 年提出的求参数极大似然估计的一种方法,它可以从非完整数据集中对参数进行 MLE 估计,是一种非常简单实用的学习算法。这种方法可以广泛地应用于处理缺损数据,截尾数据,带有噪声等所谓的不完全数据(incomplete data)。假定集合Z = (X,Y)由观测数据 X 和未观测数据Y 组成,X 和Z = (X,Y)分别称为不完整数据和完整数据。假设Z的联合概率密度被参数化地定义为P(X,Y|Θ),其中Θ表示要被估计的参数。Θ的最大似然估计是求不完整数据的对数似然函数L(X;Θ)的最大值而得到的:L(Θ;X)= log p(X|Θ) = ∫log p(X,Y|Θ)dY ;EM算法包括两个步骤:由E步和M步组成,它是通过迭代地最大化完整数据的对数似然函数Lc(X;Θ)的期望来最大化不完整数据的对数似然函数,其中:Lc(X;Θ) =log p(X,Y |Θ) ;假设在算法第t次迭代后Θ获得的估计记为Θ(t) ,则在(t+1)次迭代时,E-步:计算完整数据的对数似然函数的期望,记为:Q(Θ|Θ (t)) = E{Lc(Θ;Z)|X;Θ(t)};M-步:通过最大化Q(Θ|Θ(t) ) 来获得新的Θ 。通过交替使用这两个步骤,EM算法逐步改进模型的参数,使参数和训练样本的似然概率逐渐增大,最后终止于一个极大点。直观地理解EM算法,它也可被看作为一个逐次逼近算法:事先并不知道模型的参数,可以随机的选择一套参数或者事先粗略地给定某个初始参数λ0 ,确定出对应于这组参数的最可能的状态,计算每个训练样本的可能结果的概率,在当前的状态下再由样本对参数修正,重新估计参数λ,并在新的参数下重新确定模型的状态,这样,通过多次的迭代,循环直至某个收敛条件满足为止,就可以使得模型的参数逐渐逼近真实参数。EM算法的主要目的是提供一个简单的迭代算法计算后验密度函数,它的最大优点是简单和稳定,但容易陷入局部最优。

em算法的EM算法简述

8. EM算法详解

作为N大机器学习方法的一员,EM算法在各种书籍、博客、网上视频上被描述或者介绍,每次看完总感觉很多地方含糊不清,不能让一个初学者(有一定统计概率基础)接受。最近再B站上,看到 徐亦达老师的课程 ,EM算法这块讲解易于理解和接受,再结合PRML一书的关于混合模型和EM章节内容,对整个EM算法从具体的原理上面有了更深入的理解。
   在下文中,更多的是通过公式推导和一些文字说明来梳理EM算法,尽量做到大家一看就明白。
  
 极大似然估计是概率统计中,估计模型参数的一种方法,如果对似然概念以及极大似然估计的概念不理解,可参考维基百科 https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1 
  
 这里,我们给出一个一维高斯函数的例子。如图1所示,一维空间里面离散分布的样本点其分布特点可以看成是一种高斯分布。那这些样本的高斯分布函数参数怎么求解呢?可以通过极大似然估计获得。
                                          
 假设我们获取图1中数据样本集合为  ,其分布函数假设为一维高斯分布,即:
     
   那所有数据的联合概率,即似然函数为:
     
   对等式两边求log,即log-likelihood:
     
   分别对参数求导:
     
     
   可以得到:
     
     
   通过上述方法,就可以得到基于样本数据和假设分布函数模型情况下,得到样本数据的分布函数。
  
 从图2所示中,如果样本数据分布式蓝色点和橙色点的集合,如果依然用高斯分布去进行最大似然估计,得到的分布模型自然是不合适的。很显然,样本数据分布存在两个密集区(蓝色点和橙色点),如果能通过一种方法,确认样本数据里面的蓝色点和橙色点,然后分别对蓝色点集合进行一个高斯估计,对橙色点集进行另外一个高斯估计,两个高斯混合到一起,是不是比单个高斯能更好的匹配样本数据的分布情况。这种情况下的分布函数就是高斯混合模型。
                                          
 这里我们先直接给出高斯混合模型的分布函数(多维):
     
   在图2例子中,提到如果给每一个数据样本能够先进行分类,即确定属于哪一个集中的簇中,就能比较容易的进行混合模型的求解。这说明了什么呢?我们可以理解,原始样本数据是不完全的(incomplete),引入一个K维的二值随机变量  ,这个变量采用"1-of-K"的表示方法,即K维中,只有一维是1,其余所有元素等于0。那么每一个样本数据,即有数据特征  ,再匹配一个分配变量  ,就可以将图2过程完整描述,即我们认为  和  联合在一起才是完全的(complete)。
  
 数学表示上,我们利用边缘概率分布  和条件概率分布  定义联合概率分布  .
     的边缘概率分布根据混合系数  进行赋值,即  ,使得边缘概率分布是合法,那么:
     
   类似的,在给定  的一个特定的值,即针对某一簇的情况,  的条件概率分布是一个高斯分布,即  
     
   那么根据贝叶斯公式得到高斯混合模型:
     
   由于我们只能观察样本数据  ,无法直接获取每个数据的分配变量  ,可理解  为潜在变量(latent)
   依据极大似然函数的求解方法,我们可以对高斯混合模型写出数据的对数似然函数:
     
  
 由于对数函数内部出现求和,这种情况是没有办法通过求导等于0的方式获取估计参数的解析解的。这种情况下,就需要用到EM算法,通过迭代方式获取估计参数。下面我们先从一般性问题上进行EM算法的理论描述,然后再利用EM算法推导高斯混合模型的计算方法。
  
 EM算法叫做期望最大化方法,首先我们给出EM算法一般性结论或者说步骤,其具体分为两步,即E-step和M-step。
  
 EM算法的步骤,通过高斯混合模型可以直观理解记忆。  是什么意思呢,其含义是在给定数据样本的情况下,潜在变量的概率情况。也就是说在高斯混合模型中,给定样本数据,我们推测样本属于哪一个高斯簇的概率情况。在确定分配情况后,每一个簇都用高斯进行估计,衡量估计好还是不好,用期望形式表示。这样可以帮助理解和记忆Q的定义。那EM算法怎么证明其收敛性呢?
  
 我们要保证:
     
   这样每次迭代可以使得似然函数随着参数变大,一直到似然函数不再增大或满足其他终止条件止。
  
 那怎么保证呢?首先,利用贝叶斯公式有:
     
  
 两边同时取log
     
   然后两边同时用  求期望,可以得:
     
   等式左边  和  没有关系,  是概率密度函数,积分是1,所以等式左边依然是  .
   等式右边第一项就是E-step里面的Q函数,第二项我们记做H函数,则:
     
   要保证  ,首先  ,那么是不是保证  满足,就一定有  ?答案是肯定的。(说明一下,这里面的H和Q函数都是关于  的函数,每一次迭代  是已知的,他不是变量)
  
 那下面只要证明  就可以了。
  
   
     
     
     
     
  
 因此可以得到  ,则整个EM算法的收敛性证毕。
  
 注:这里用到了Jessian不等式,如果函数是convex的,则有函数的期望大于期望的函数,即  .
   
                                          
 
  
 上述EM算法的证明,有一些技巧性,而这些技巧性有没有一种是在已知结论基础上硬凑的感觉呢,尤其是用  去求期望,就是为了去构造Q函数。那有没有更好的解释或者更为直观的方式来得到相同的结论呢?答案是有的。
  
 首先,仍然用到:
     
   我们稍微变个型,假设一个概率密度函数  :
     
   两边同时用  求期望:
     
  
 其中等式右边第一项,我们记做  ,可以称为ELOB,EvidenceLowerBound,第二项是  和  的KL散度。
   
                                          
 
  
 如图4所示,当我固定参数  时候,ELOB就是关于  的泛函(只听过没学过,可理解为函数的函数),那ELOB的上界是什么呢?那首先要理解KL散度,KL散度是衡量两个概率分布之间的差异性,如果两个分布没有差异,则KL散度等于0,如果有差异则大于0,所以KL散度的最小值就是0,那ELOB的上界就是此刻的似然函数。
  
 在EM算法中,当前迭代时,参数  ,则对于E-step,我们需要使得ELOB最大,即KL散度为0,如图5所示,其中  为  。此时,  
   
                                          
 
  
 对于M-Step,我们是需要得到新的估计参数,这个时候,固定  ,重新获得ELOB的最大值,这个时候的ELOB是什么样的呢?
     
     
   右边第二项没有参数  ,所以固定  最大化ELOB,就等于最大化第一项,而第一项是什么呢?就是  函数。
   
                                          
 
  
 如图6所示,我们最大化  函数,也就是最大化此次迭代的ELOB。在新的参数下,  ,此刻  不变,所以和新的  在没有达到局部(或者全局)极大值的情况下,是两个不同的概率分布,即二者KL散度是大于0的,那此刻的似然函数等于此刻的KL散度加上此刻的ELOB,自然是有  。
  
 从ELOB和KL散度的层面可以更好的理解EM算法的迭代过程。
  
 PRML一书中,有图7所示的示意图,能比较形象的说明,EM算法的迭代过程。
                                          
 图7中,红色曲线表示(不完整数据)对数似然函数,它的最大值是我们想要得到的。我们首先选择某个初始的参数值  ,然后在第一个E步骤中,我们计算潜在变量上的后验概率分布,得到了  的一个更小的下界,它的值等于在  处的对数似然函数值,用蓝色曲线表示。注意,下界与对数似然函数在  处以切线的方式连接,因此两条曲线的梯度相同。这个界是一个凹函数,对于指数族分布的混合分布来说,有唯一的最大值。在M步骤中,下界被最大化,得到了新的值  ,这个值给出了比  处更大的对数似然函数值。接下来的E步骤构建了一个新的下界,它在  处与对数似然函数切线连接,用绿色曲线表示。以这样的方式不停迭代,直到满足条件。
  
 了解了EM算法,我们来详细推导高斯混合模型的E步和M步的内容。这一部分内容来自徐亦达老师的课件。由于公式太多了,我就放一些截图,供大家一起学习和参考。
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 徐亦达老师的课件在: https://github.com/roboticcam/machine-learning-notes/blob/master/em.pdf 
  
 后续关于EM算法的应用会举例以下几方面内容
   (1)Kmeans和高斯混合模型
   (2)EM算法应用之贝叶斯线性回归
   (3)EM算法应用之PLSA
   (4)EM算法应用之缺失数据参数估计问题
最新文章
热门文章
推荐阅读