精华内容
下载资源
问答
  • 一个例子学会自相关互相关的计算
    千次阅读
    2020-12-18 09:38:45

    问题

    A = [1 2 3 4] ,求A的自相关系数。
    求解过程如下图:
    pic
    求得结果为:[4 11 20 30 20 11 4]
    自相关的结果为2N-1个,关于N对称。

    理解matlab中的xcorr

    1. 求两个序列的互相关

    x = [1 2 3 4 5 6 7 8];
    [r,lags] = xcorr(x); 
    

    求得:

    r = [8	23	44	70	100	133	168	204	168	133	100	70	44	23 8]
    lags = [-7	-6	-5	-4	-3	-2	-1	0	1	2	3	4	5	6	7]
    

    lags就是偏移量,默认从最小的偏移量开始,信号长度是8,往左偏移最多7位,往右偏移做多也是7位。也理解了为什么求出来的自相关结果的长度位15=2N-1。
    pic2

    2. 求给定偏移量不大于p的自相关函数

    x = [1 2 3 4 5 6 7 8];
    [r,lags] = xcorr(x, 4); 
    

    这里设定最大偏移量不大于4,考虑正负偏移和0,所以对于指定偏移范围的自相关计算,其结果为2p+1个。

    lags = [-4	-3	-2	-1	0	1	2	3	4]
    

    r 的计算如法炮制:
    pic3

    r = [70	100	133	168	204	168	133	100	70]
    

    3. 计算无偏估计及其他

    Matlab提供的xcorr提供了一个归一化选项:
    pic5
    在谱估计的时候,经常要用到自相关函数的有偏估计,下面求一个。

    [r,lags] = xcorr(x, 4, 'biased'); 
    

    按照上面的公式,N为信号长度,可以猜测r的结果为:

    [70/8	100/8	133/8	168/8	204/8	168/8	133/8	100/8	70/8]
    

    使用matlab计算:

    >> xcorr(x, 4, 'biased')
    
    ans =
    
      列 1 至 8
    
        8.7500   12.5000   16.6250   21.0000   25.5000   21.0000   16.6250   12.5000
    
      列 9
    
        8.7500
    

    一模一样。

    4. 互相关的例子

    >> x = [1 2 3 4];
    >> y = [1 4 9 16];
    >> xcorr(x, y)
    
    ans =
    
       16.0000   41.0000   70.0000  100.0000   50.0000   19.0000    4.0000
    
    K>> 
    

    怎么算的?跟上面一样,自行脑补。

    5. 题外话

    matlab的帮助文档写得非常好,比外面乱七八糟抄来抄去说不清的博客好太多了,还权威。

    参考:xcorr 互相关

    自相关的概念的理解也可以参考这个博文,个人认为写得挺好。

    还有博主自己手写了一个求自相关函数的算法,并与matlab提供的xcorr做了对比:
    MATLAB_XCORR_互相关函数的讨论

    C++版本:
    xcorr 自相关 c++实现

    更多相关内容
  • 自相关与互相关

    千次阅读 多人点赞 2020-04-28 20:27:01
    自相关(Autocorrelation),也叫序列相关,是一个信号与其自身在不同时间点的互相关。非正式地来说,自相关是对同一信号在不同时间的两次观察,通过对比来评判两者的相似程度。自相关函数就是信号x(t)和它的时移...

    自相关(Autocorrelation),也叫序列相关,是一个信号与其自身在不同时间点的互相关。非正式地来说,自相关是对同一信号在不同时间的两次观察,通过对比来评判两者的相似程度。自相关函数就是信号x(t)和它的时移信号x(t-τ)的乘积平均值。它是时移变量τ的函数。

    这是从书上抄来的话,到底是什么意思呢?

    说人话!好吧,让我来编一个有关潜伏的故事:

    话说余则成要到火车站去交换情报,他需要在火车靠站的短短几分钟内找到这位情报员并完成交换工作,在熙熙攘攘的火车站里,除非事先知道情报员所在的车厢,否则根本来不及。任务的前一天,他收到了含有情报员所在车厢的密电,密电如下:

    这是什么鬼?

    这是一段随机信号,但在其中隐藏了一个正弦,你能看得出来吗?

    余则成同志的智商是比较高的,也是上过大学的,他的眼睛在杂乱无章的随机曲线上来回快速扫描,运用自己所有的知识,希望能找出那个正弦来。半个小时后……终于,

    他什么也没发现。

    余则成想了一个笨办法,他让翠平把曲线照猫画虎地描出一小段来,然后拿着翠平的画样在整个曲线上一点一点地进行对比。

    怎么对比呢?无非是“加、减、乘、除”之类。但因为“加、减”属于同量级的变化,用肉眼就能大概地完成,而“除”则具有缩小功能。所以,为放大曲线中的差异,显然“乘法”大概是比较好的选择。

    然后怎么办呢?总不能用“有点像”、“很像”、“很不像”这样的词来评价吧。他将整个比较过程分为四个步骤:

    第一步:将“画样”与原信号中的开始端对齐,逐点一一对应地相乘,得到一小段新曲线;

    第二步:将新曲线上各个点的值进行算术平均,得到一个均值;

    第三步:将得到的均值描绘在最终曲线图中;

    第四步:将“画样”向后挪动一点(“步距”),重复上述过程,直至“画样”移动到曲线末端。

    这个工作很繁琐,但好在不太难,余则成教会翠平后就忙着应付陆桥山去了,等晚上回到家,看到的结果虽然不是太满意,但最终的曲线中还是表现出了很强的规律性,他拿尺子量了所有“锯齿”的间距,取了个平均值,得到了Δt≈0.2s,取倒数便是5Hz。第二天,余则成顺利地在5号车厢与情报员完成了交接。

    好吧,我承认,这个故事编的不太认真,不过戏剧性本来也不是我们这里讨论的重点哈。

    我们只是想通过这个小栗子来说明,“自相关”这种数据处理方法,可以发现隐藏在杂乱信号中的有用信息。这个能力是相当重要的,因为工程实际中的信号,不可避免地要受到各种干扰,严重的时候会完全淹没真正有用的数据。自相关能找出重复信息(被噪声掩盖的周期信号),或识别隐含在信号谐波频率中消失的基频,它常用于时域信号的分析。

    用数学的语言表述,则是:自相关函数是信号在时域中特性的平均度量,它用来描述信号在一个时刻的取值与另一时刻取值的依赖关系。

    另外,上面的这个例子也仅是故事性的,并不满足数学的严格性。实际上,数学上是这样定义的:

    这个公式中,τ是进行“比较”时移动的“步距”。而整个公式的意思是“将x(t)进行时移,得到x(t+τ),然后将其与x(t)在整个范围内逐点进行相乘,得到一条新曲线,这条曲线下方所围成的面积就是一个R值。改变τ的取值,再来一次,……,如此不断重复,R的一系列值将成为R(τ)曲线,这就是自相关曲线”。

    自相关函数就是信号x(t)和它的时移信号x(t+τ)乘积的平均值,它是时移变量τ的函数。

    如果能明确地看出原始数据有周期性,那么就不必在整个数轴范围(-∞~+∞)内进行移动比较了,只需要移动一个周期(T)即可:

    明白了自相关,互相关也就好懂了。其实,大多数教材都是先讲互相关的。因为,所谓相关性,从字面的意思就是指两组数据,把它们相互比较,看看有没有关联。自相关是自己和自己比,互相关呢,自然就是两个不同信号之间相互比:

    基本定义介绍完了,我们来看看,自相关函数有什么特点。

    假设有一个余弦信号: 

    它的自相关函数是什么呢?根据定义,有:

    可以看到,自相关函数仍为余弦,且频率不变。如果信号是由两个频率与初相角不同的频率分量组成,同样可以证明,余弦信号的自相关函数还是是一个余弦函数。它保留了原信号的频率成分,其频率不变,幅值等于原幅值平方的一半,即等于该频率分量的平均功率,但丢失了相角的信息。

    自相关函数具有如下主要性质

    (1). 自相关函数为偶函数, ,其图形对称于纵轴。因此,不论时移方向是导前还是滞后(τ为正或负),函数值不变;

    (2). 当τ=0时,自相关函数具有最大值,且等于信号的均方值;

    (3). 周期信号的自相关函数仍为同频率的周期信号;

    (4). 若随机信号不含周期成分,当τ趋于无穷大时,自相关函数趋于信号平均值的平方。

    典型应用:

    (1). 检测信号回声(反射)。若在宽带信号中存在着带时间延迟τ0的回声,那么该信号的自相关函数将在τ=τ0处也达到峰值(另一峰值在τ=0处),这样可根据τ0确定反射体的位置。

    (2). 检测淹没在随机噪声中的周期信号。由于周期信号的自相关函数仍是周期性的,而随机噪声信号随着延迟增加,它的自相关函数将减到零。因此在一定延迟时间后,被干扰信号的自相关函数中就只保留了周期信号的信息,而排除了随机信号的干扰。

    另外,相关函数的计算与卷积的计算有点关系。

    从定义式中可以看到,互相关函数和卷积运算类似,也是两个序列滑动相乘,但是区别在于:互相关的两个序列都不翻转,直接滑动相乘,求和;卷积的其中一个序列需要先翻转,然后滑动相乘,求和。所以,x(t)和y(t)做相关等于x(t)与y(-t)做卷积。

    展开全文
  • 自相关函数与互相关函数

    万次阅读 2021-01-16 23:49:31
    1 概念 相关函数是描述信号X(s),Y(t)(这两个信号可以是随机的,也可以是确定的)在任意两个不同时刻s、t的取值之间的相关程度。...自相关函数是描述随机信号 x(t) 在任意不同时刻 t1,t2 的取值之间的相...

    目录

    1 概念

    2 自相关函数

    2.1 定义

    2.2 性质

    3 互相关(cross-correlation)函数

    3.1 定义

    3.2 性质

    3.3 线性互相关(linear cross-correlation)

    3.4 循环互相关(Circular Cross-Correlation)的定义和计算

    3.5 用线性互相关处理周期性信号

    3.6 相关问题QA

    3.7 参考资料


    1 概念

          相关函数是描述信号X(s)Y(t)(这两个信号可以是随机的,也可以是确定的)在任意两个不同时刻s、t的取值之间的相关程度。两个信号之间的相似性大小用相关系数来衡量。定义:

            

            称为变量 X 和 Y 的相关系数。若相关系数 = 0,则称 X与Y 不相关。相关系数越大,相关性越大,但肯定小于或者等于1.。

            

            相关函数分为自相关互相关

    • 自相关函数是描述随机信号 x(t) 在任意不同时刻 t1,t2 的取值之间的相关程度。
    • 互相关函数是描述随机信号 x(t)、y(t) 在任意两个不同时刻s,t的取值之间的相关程度

    自相关函数

    2.1 定义

            自相关函数是描述随机信号 x(t) 在任意不同时刻 t1,t2的取值之间的相关程度。自相关函数,是对信号自身的互相关, 表示同一序列不同时刻的相关程度。是用寻找重复模式的数字工具,就如一个存在被覆盖噪声的周期信号,或识别丢失的基频。它经常被用于信号处理中的分析函数或序列,如时域信号 。定义式:

            

    或者:

            

    2.2 性质

    主要性质如下:

    自相关系数:

    3 互相关(cross-correlation)函数

    3.1 定义

            自相关是互相关的一种特殊情况.。互相关函数是描述随机信号 x(t)、y(t) 在任意两个不同时刻 s,t 的取值之间的相关程度,其定义为: 

               

            对于连续函数,有定义:

          

           对于离散的,有定义:

          

            从定义式中可以看到,互相关函数卷积运算类似,也是两个序列滑动相乘,但是区别在于:互相关的两个序列都不翻转,直接滑动相乘,求和;卷积的其中一个序列需要先翻转,然后滑动相乘,求和。所以,f(t)g(t) 做相关等于 f*(-t)g(t) 做卷积。

            在图象处理中,自相关和互相关函数的定义如下:设原函数是 f(t),则自相关函数定义为 R(u)=f(t)*f(-t),其中*表示卷积;设两个函数分别是f(t)和g(t),则互相关函数定义为R(u)=f(t)*g(-t),它反映的是两个函数在不同的相对位置上互相匹配的程度。

    3.2 性质

    互相关函数的性质:

    互相关系数:

            正如卷积有线性卷积(linear convolution)循环卷积(circular convolution)之分;互相关也有线性互相关(linear cross-correlation)循环互相关(circular cross-correlation)。线性互相关和循环互相关的基本公式是一致的,不同之处在于如何处理边界数据。其本质的不同在于它们对原始数据的看法不同。

    3.3 线性互相关(linear cross-correlation)

            假设我们手里有两组数据,分别为个和个,表示为:长,即。序列之间的线性互相关操作表示为,其结果也是一个序列,表示为。具体的操作是用这两个序列进行的一种类似“滑动点积”的操作,如图1和图2所示。

    图1. 线性互相关的计算过程示意

    图2. 线性互相关结果序列中单个值计算示意

            得到的互相关序列总长度为,该序列的前和后个数值是无效的,有效的数据共个。线性互相关的有效数据第个分量的值为:

    注意,线性互相关并不满足交换律,即:

            

            一个简单的应证是,等式两侧操作所得结果的有效数据个数都不一致。

            线性相关的实际意义是,向量中的各个与向量等长的子向量与向量的相似程度。这样,中值最大的索引就是与向量中与最相似的子向量的起始索引。通常,为了获得有效的互相关数据,我们总是用较短的数据去滑动点积较长的数据。

            用一个实际的应用例子来验证一下吧。如图3的第一个子图表示雷达声纳发射了一个探测信号。经过一段时间之后,收到了如图3的第二个子图所示的回波(带有一定的噪声)。此时我们关注的是如何确定回波中从何时开始是对探测信号的响应,以便计算目标距雷达的距离,这就需要用到线性互相关。在第三个子图中的‘Valid’曲线即是有效互相关数据,其中清晰地呈现出两处与探测信号相似的回波的位置。

    图3. 相关计算的一个例子:雷达回波分析

            线性互相关中,还有一些概念值得注意:

    • 一是补零。由线性相关的计算式不难发现,为了计算出个完整的相关系数序列(包含那些“无效数据”在内的所有结果),需要用到一些“不存在”的点。这就需要人为地对这些值进行补充,在线性相关的计算中,对这些超出原始数据储存的区域取值为零。
    • 二是末端效应。由图1可以发现,一头一尾的个互相关数据并没有完全“嵌入”两个原始数组的全部信息,它们或多或少地受到了人为补零的影响。因此一般认为这些数据是不可用的。
    • 三是计算模式的选择。这个问题其实是由问题二衍生而来的,就Python语言中的函数而言,至少有两个可以直接计算线性相关:

    numpy.correlate(a, v, mode)scipy.signal.correlate(a, v, mode)

    它们的调用参数完全相同。在调用时有三种模式可供选择,它们计算的内容是相同的,但是返回值长度各不相同:
    mode = ‘valid’:只返回有效的那一部分相关数据,共$M-N+1$个;
    mode = ‘same’:只返回与 等长的那一部分相关数据,共$N$个;
    mode = ‘full’:返回全部相关数据,共$M+N-1$个。
    图3的第三个子图展示了这三种模式的计算结果,在那个例子中,‘valid’模式是最合适的。

    3.4 循环互相关(Circular Cross-Correlation)的定义和计算

            循环互相关是表征两组等长周期性数据之间相似性的操作,其与线性互相关的区别也正由“等长”“周期性”这个两特点产生。在循环互相关中,被处理的原始数据是等长的,即。序列之间的线性互相关操作表示为,其结果也是一个序列,表示为。其计算式与线性互相关的写法是一致的:

            

            只是得到的互相关序列长度也为。循环互相关的计算的具体过程如图4所示,注意到在计算时要用到超出原始数据索引范围的数据,其数据补充方式并不是“补零”而是“周期延拓”:即。这意味着对于循环互相关,不存在不同的计算模式之分,所有的数据都是有效数据

    图4. 循环互相关的计算过程示意

            注意,循环互相关也不满足交换律

            这里给出了一个关于循环相关的算例。两路原始数据分别由如下函数生成:

            

            

            如果视为某个线性系统的周期输入信号,而视为这个线性系统的输出信号。由于存在外接干扰,因此输出信号不完全由输入信号决定。此时,循环互相关的实际意义是,分辨输出信号中的哪一个部分(频率成分)是由该输入信号产生的。

     

    图5. 时域数据,从上到下:和他们的循环互相关

    图6. 频谱,从上到下:和他们的循环互相关

            从图5和图6可以看出,循环互相关的频谱准确地说明了那些测试信号的相关性。

            遗憾的是,在Python几大数值计算库中,并没有直接可计算循环相关的函数。但是可以采用如下代码构造出一个可用的(经过归一化的)cxcorr(a, v)函数出来:

    def cxcorr(a,v):
    nom = np.linalg.norm(a[:])*np.linalg.norm(v[:])
    return fftpack.irfft(fftpack.rfft(a)*fftpack.rfft(v[::-1]))/nom

            图4中的数据就是通过这个函数计算出来的。其中用到了傅里叶变换反变换来计算循环互相关,这是可行的。它们之间的关系在第四小节的QA中专门讨论。

    3.5 用线性互相关处理周期性信号

            实际上,线性相关也可以处理周期信号,前提是将两组信号采样成长度差异较大的序列。这样,其有效线性互相关也可以完美地反应数据之间的相关性。

            同样采用第二节中的例子。这时为了保证足够的有效线性互相关数据,两组数据的长度故意不一致(但都足够表征其特征),如图7所示。它们的频谱如图8所示,仍然完美地体现了测试数据的相关性。

    图7. 时域数据,从上到下:和他们的线性互相关

    图8. 频谱,从上到下:和他们的线性互相关

            既然线性互相关也能处理周期性数据,为什么还要专门搞一个基于等长序列和周期延拓的循环互相关呢?实际上,正如后文QA中专门讨论的,这是为了利用快速傅利叶变换加速计算。

    3.6 相关问题QA

            至此,两种常用的互相关评价方法及其计算已经总结完毕。然而其中还有一些细节尚待分辨。例如,序列之间的互相关的计算式:

            

            与卷积(convolution)的定义式:

            

    如此类似,如果再联想起傅里叶变换的卷积定理,那么,至少会产生如下的问题:

    Q.1:它们之间有更深意义上的联系吗?
    A.1:文献[1]的答复是坚决的:“不要让求卷积和互相关的数学相似性迷惑你,它们描述了不同的信号处理过程。卷积是系统输入信号、输出信号和冲激响应之间的关系互相关是一种在噪声背景下检测已知信号的方法。二者在数学上的相似仅仅是一种巧合。”实际上,只要注意到卷积操作是满足交换律的,而互相关操作并不满足交换律。仅此一点也许就能说明它们有着本质的不同吧。

    Q.2:可以利用Python中计算卷积的函数来计算互相关吗?
    A.2可以,但是只能用以计算线性互相关。Python中的numpy.convolve()函数就可以计算两个序列之间的卷积。在卷积的计算过程中也会自动进行补零(而不是周期延拓,这就是为什么只能计算线性相关的原因),这种卷积有时被称为线性卷积,同样涉及末端效应、有效数据长度等考虑。具体地,根据相关和卷积的表达式,如果希望计算序列之间的线性互相关序列。等效地,只需要计算序列之间的卷积。表示序列的“反置”,即将序列[1,2,3]反置为[3,2,1]。

    Q.3:可以根据傅立叶变换的性质中有卷积定理,利用傅立叶正/逆变换计算互相关吗?
    A.3可以,但是只能用于计算循环互相关。傅立叶变换的卷积定理中所涉及的卷积是循环卷积。与前述的线性卷积是不同的。实际上不同的并不是卷积本身,它们的计算式是一致的,而是在如何看待参与卷积计算的数据,线性卷积认为参与计算的序列之外都是零,而循环卷积认为参与计算的序列是一个无限循环的数据的一段——这导致了它们对“越界”数据的补齐方式不一样。正如线性互相关和循环互相关的区别!先将循环互相关等效为一个循环卷积,再利用快速傅里叶变换计算卷积即可。实际上本文给出的cxcorr(a, v)函数正是利用这一性质来计算循环相关的。其对计算速度的提升是相当明显的。

    Q.4:怎样进行归一化(normalization),以便于比较互相关数据?
    A.4:根据参考[4],用公式:

    3.7 参考资料

    [1] Steven W. Smith. Digital Signal Processing: A Practical Guide for Engineering and Scientists [M].
    张瑞峰, 詹敏晶 等译. 实用数字信号处理,从原理到应用[M]. 人民邮电出版社, 北京, 2010.
    [2] Mark Owen. Practical Signal Processing [M].
    丘天爽, 李丽, 赵林 译. 实用信号处理 [M]. 电子工业出版社, 北京, 2009.
    [3] 关于MATLAB中的xcorr() 的论述
    http://www.mathworks.cn/cn/help/signal/ref/xcorr.html
    [4] 关于MATLAB中的cxcorr() 的论述
    http://www.mathworks.com/matlabcentral/fileexchange/4810-circular-cross-correlation
    [5] 网络论坛Stackoverflow关于此问题的讨论
    http://stackoverflow.com/questions/6991471/computing-cross-correlation-function
    http://stackoverflow.com/questions/12323959/fast-cross-correlation-method-in-python
    http://stackoverflow.com/questions/9281102/n-fold-fft-convolution-and-circular-overlap
    http://stackoverflow.com/questions/6855169/convolution-computations-in-numpy-scipy
    http://stackoverflow.com/questions/4688715/find-time-shift-between-two-similar-waveforms
    [6] 关于Cross-correlation的定义
    http://mathworld.wolfram.com/Cross-Correlation.html
    http://paulbourke.net/miscellaneous/correlate/
    http://en.wikipedia.org/wiki/Cross-correlation
    [7] 关于 Circular Cross-correlation的定义
    http://en.wikipedia.org/wiki/Circular_convolution
    http://cnx.org/content/m22974/latest/

     

     

     

    自相关函数与互相关函数:http://www.doc88.com/p-5129647069822.html

    互相关(cross-correlation)及其在Python中的实现:https://blog.csdn.net/icameling/article/details/85238412

    第五章:自相关: https://thinkdsp-cn.readthedocs.io/zh_CN/latest/05-autocorrelation.html

    展开全文
  • 如何理解自相关和偏自相关图(最全面的讲解)

    万次阅读 多人点赞 2019-07-10 11:25:26
    前几篇的时间序列预测的文章中,都用到了自相关(ACF)和偏自相关(PACF)图,但是理解起来还是存在一些问题。今天就针对这2个概念,重点进行了解和学习。 数据集:澳大利亚墨尔本10年最低气温 链接: ...

    前几篇的时间序列预测的文章中,都用到了自相关(ACF)和偏自相关(PACF)图,但是理解起来还是存在一些问题。今天就针对这2个概念,重点进行了解和学习。

    数据集:澳大利亚墨尔本10年最低气温 链接: https://pan.baidu.com/s/17sVPK8iI-dlC4W6oGpd-Xg 提取码: jtei

    import pandas as pd
    from matplotlib import pyplot as plt
    data = pd.read_csv(“daily-minimum-temperatures-in-me.csv”, parse_dates=[‘Date’], index_col=‘Date’)
    data.head()
    data.plot(figsize=(12,6))

    在这里插入图片描述
    相关与自相关
    统计中的相关性说的是两个变量间的相关程度。我们假设如果每个变量都符合正态分布,可以使用皮尔逊相关系数(Pearson correlation coefficient)来统计变量间的相关性。皮尔逊相关系数是-1和1之间的数字分别描述负相关或正相关。值为零表示无相关。

    自相关(英语:Autocorrelation),也叫序列相关,是一个信号于其自身在不同时间点的互相关。非正式地来说,它就是两次观察之间的相似度对它们之间的时间差的函数。它是找出重复模式(如被噪声掩盖的周期信号),或识别隐含在信号谐波频率中消失的基频的数学工具。自相关函数在不同的领域,定义不完全等效。在某些领域,自相关函数等同于自协方差。

    由于时间序列的相关性与之前的相同系列的值进行了计算,这被称为序列相关或自相关。一个时间序列的自相关系数被称为自相关函数,或简称ACF。这个图被称为相关图或自相关图。

    以下是利用statsmodels库中使用plot_acf()函数计算和绘制“每日最低气温”自相关图:

    import statsmodels.api as sm
    sm.graphics.tsa.plot_acf(data)
    plt.figure(figsize=(12, 6))
    plt.show()

    在这里插入图片描述

    这个示例创建了一个2D的平面图,显示沿x轴的延迟值以及y轴上的相关性(-1到1之间)。置信区间被画成圆锥形。默认情况下,置信区间这被设置为95%。

    默认情况下,图中显示的是所有的延迟值,这让真实情况掩藏了,我们可以将x轴上的延迟值限制为50,让图更容易看懂。

    在这里插入图片描述
    sm.graphics.tsa.plot_acf(data, lags=50)
    plt.figure(figsize=(12, 6))
    plt.show()

    偏自相关函数(PACF)
    偏自相关函数用来度量暂时调整所有其他较短滞后的项 (y_{t-1}, y_{t-2}, …, y_{t-k-1}) 之后,时间序列中以 k 个时间单位(y_{t}和y_{t-k})分隔的观测值之间的相关。

    偏自相关是剔除干扰后时间序列观察与先前时间步长时间序列观察之间关系的总结。在滞后k处的偏自相关是在消除由于较短滞后条件导致的任何相关性的影响之后产生的相关性。一项观察的自相关和在先验时间步上的观测包括直接相关和间接相关。这些间接相关是线性函数观察(这个观察在两个时间步长之间)的相关。偏自相关函数试图移除这些间接相关。

    下面的示例使用statsmodels库中的plot_pacf()来计算和绘制最低每日温度数据集里的前50个滞后的偏自相关函数:

    sm.graphics.tsa.plot_pacf(data, lags=50)
    plt.figure(figsize=(12, 6))
    plt.show()
    在这里插入图片描述

    ACF和PACF图的直观认识
    时间序列的自相关函数和偏自相关函数的平面图描述了完全不同的情形。我们可以使用ACF和PACF图来探索一些信息。

    自回归直观认识(intuition)

    考虑由自回归(AR)过程产生的滞后时间为k的时间序列。我们知道,ACF描述了一个观测值与另一个观测值之间的自相关,包括直接和间接的相关性信息。这意味着我们可以预期AR(k)时间序列的ACF强大到(如同使用了)k的滞后,并且这种关系的惯性将继续到之后的滞后值,随着效应被削弱而在某个点上缩小到没有。我们知道,PACF只描述观测值与其滞后(lag)之间的直接关系。这表明,超过k的滞后值(lag value)不会再有相关性。这正是ACF和PACF图对AR(k)过程的预期。

    滑动平均直观认识(Moving Average Intuition)

    考虑由滑动平均(MA)过程产生的滞后(lag)时间为k的时间序列。请记住,滑动平均过程是先前预测的残留偏差的时间序列的自回归模型。考虑滑动平均模型的另一种方法是根据最近预测的错误修正未来的预测。我们期望MA(k)过程的ACF与最近的lag值之间的关系显示出强烈的相关性,然后急剧下降到低或者无相关性。根据定义,这解释了整个过程是如何产生的。对于PACF,我们预计图会显示与滞后(lag)的关系,以及滞后(lag)之前的相关。再次强调,这正是MAF(k)过程的ACF和PACF图的预期。

    自相关和偏自相关用于测量当前序列值和过去序列值之间的相关性,并指示预测将来值时最有用的过去序列值。了解了此内容,您就可以确定 ARIMA 模型中过程的顺序。更具体来说,

    自相关函数 (ACF)。延迟为 k 时,这是相距 k 个时间间隔的序列值之间的相关性。
    偏自相关函数 (PACF)。延迟为 k 时,这是相距 k 个时间间隔的序列值之间的相关性,同时考虑了间隔之间的值。
    截尾与拖尾是什么鬼?
    截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF);拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。

    截尾:在大于某个常数k后快速趋于0为k阶截尾
    拖尾:始终有非零取值,不会在k大于某个常数后就恒等于零(或在0附近随机波动)
    自回归移动平均模型(ARMA(p,q))是时间序列中最为重要的模型之一,它主要由两部分组成: AR代表p阶自回归过程,MA代表q阶移动平均过程,其公式如下:
    在这里插入图片描述

    依据模型的形式、特性及自相关和偏自相关函数的特征,总结如下:

    在这里插入图片描述

    在时间序列中,ARIMA模型是在ARMA模型的基础上多了差分的操作。

    参考链接:

    https://machinelearningmastery.com/gentle-introduction-autocorrelation-partial-autocorrelation/
    文章来源:
    https://www.biaodianfu.com/acf-pacf.html

    展开全文
  • 经济学中的序列相关(自相关

    千次阅读 2020-12-30 20:22:43
    检验虽然只能检验一阶自相关,但在实际计量经济学问题中,一阶自相关是出现最多的一类序列相关,而且经验表明,如果不存在一阶自相关,一般也不存在高阶序列相关。所以在实际应用中,对于序列相关问题一般只进行D.W....
  • 自相关函数

    千次阅读 2021-06-09 10:12:42
    自相关函数 自相关,也叫做序列相关,是一个信号于其自身在不同时间点的互相关。非正式地来说,它就是两次观察之间地相似度对他们之间地时间差的函数。它是找出重复模式(如被噪声掩盖的周期信号),或识别隐含在...
  • 时序图、自相关图和偏相关图是判断时间序列数据是否平稳的重要依据。本文涉及的扩展库numpy、pandas、statsmodels一般可以使用pip进行在线安装,如果安装失败,可以到http...
  • 自相关图是一个平面二维坐标悬垂线图。横坐标表示延迟阶数,纵坐标表示自相关系数 偏自相关图跟自相关图类似, 横坐标表示延迟阶数,纵坐标表示偏自相关系数 自相关图与偏自相关图的python代码实现: from ...
  • 在学习概率统计之前,我学习的都是确定的函数。概率统计讨论了一次取值时获得的值是不确定的,而随机过程讨论了不确定会发生哪个时间函数。 每个x(t)函数(样本函数)就是实际发生的一个表达式确定的函数,...自相关函数
  • 文章目录 自相关 自相关产生的原因 自相关产生的后果 自相关的检验方法 图示检验法 自相关系数法 DW(杜宾沃森)检验 自相关的消除 迭代法 差分法 SPSS处理自相关示例 自相关 自相关产生的原因 (1)忽略遗漏了关键...
  • 自相关系数

    万次阅读 多人点赞 2019-06-11 10:50:50
    1、介绍 相关函数是描述信号X(s),Y(t)(这两个信号可以是随机的,也可以是确定的)在任意两个不同时刻s、t的取值之间的相关程度。两个信号之间的相似性大小用相关系数来...自相关函数是描述随机信号 x(t) 在任意不同...
  • 备选假设是:存在p阶自相关。检验统计量渐进服从卡方分布,如果计.BP(Breush-Pagan)其实是指提出这个判断随机效应判别方法的人,他具体提出的方法就是进行LM检验,来检验个体和时间因素是否存在。可以在STATA中直接...
  • 小虎在这里介绍了相关函数的意义和工程应用,工程应用以提取受噪声干扰的周期信号为例,并用MATLAB进行仿真。
  • 自相关系数、偏自相关系数理解

    千次阅读 2020-08-26 08:29:42
    截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF);拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。 截尾:在大于某个常数k后快速趋于0为k阶截
  • 如何理解自相关和偏自相关

    千次阅读 2020-08-03 15:24:03
    https://www.biaodianfu.com/acf-pacf.html
  • 【转】自相关图 截尾拖尾 判断

    千次阅读 2020-12-23 18:08:01
    请教高手如何从相关图,偏相关图判定截尾拖尾?很多书都说从相关图偏相关图的截尾拖尾情况是判断AR,MA,ARMA的P,Q值的重要方法。关键是啷个看也?比如P阶截尾,是指P阶后相关...AR模型:自相关系数拖尾,偏自相关系...
  • MATLAB自相关分析xcorr

    千次阅读 2020-12-14 10:51:21
    目录自相关定义xcorr的应用举个栗子 自相关定义 信号x(t)x(t)x(t)的自相关函数定义为 其中,T为信号x(t)x(t)x(t)的观测时间,Rx(τ)R_{x}(\tau)Rx​(τ)描述了x(t)x(t)x(t)与x(t+τ)x(t+\tau)x(t+τ)或x(t−τ)x(t-...
  • 自相关系数与偏自相关系数,拖尾与截尾

    万次阅读 多人点赞 2020-11-01 14:09:15
    自相关系数(autocorrelation coefficient,AC)和偏自相关系数(partial autocorrelation coefficient,PAC)是统计学中定义的概念,是用以反映变量之间相关程度的统计指标,只是两者表现的具体变量之间的关系有所不同...
  • 之前是从DNN CNN RNN LSTM这样看下来的,当知道时间序列有另外的ARIMA处理模型时,刚看时有点转不过来,相当的疑惑;时间趋势可分解为: 内在趋势/季节性趋势/周期性趋势/噪音 ...自相关拖尾 偏相关截尾 则用AR算法...
  • 本文详细讲解空间统计分析:空间权重矩阵、全局空间自相关、局部空间自相关三种方法的原理、应用案例。
  • 摘要:Python中,更确切地说是numpy、scipy、statsmodels这些库中都有计算相关的方法。但numpy和scipy中的correlate方法的定义和MATLAB中的不同,导致计算结果不太一样。看上去MATLAB和statsmodels里都是用的标准的...
  • 自相关函数&互相关函数

    千次阅读 2019-08-15 23:22:45
    为比较某信号与另一延时的信号之间的相似度,需要引入相关函数的概念。相关函数是鉴别信号的有力工具,被广泛应用于雷达回波的识别,通信同步信号的识别等领域。相关函数 也称为相关积分,它与卷积的运算方法类似。 ...
  • 循环自相关函数,matlab程序

    热门讨论 2010-05-07 09:33:48
    自己写的关于循环自相关函数的快速计算方法,不同的调制方式只要更改x_t表达式即可
  • r语言实现自相关分析和偏相关分析

    万次阅读 2020-08-06 22:56:44
    r语言实现自相关分析和偏相关分析 自相关分析 为什么要做自相关分析: 对数据进行建模前首先要对数据有一个大致的理解,自相关分析可以帮助人们看出数据是否平稳,时间序列是否存在某种变化的趋势。 自相关简介: ...
  • 本文档主要介绍关于线性回归模型的自相关(又叫序列相关)的检验(图像法、辅助回归、DW检验与LM检验)与修正(广义差分最小二乘法,GLS)。使用软件为Eviews 9。 关于一些提到的基本操作可以见上一篇文章,对于数据...
  • 新版白话空间统计(2):空间自相关

    万次阅读 多人点赞 2020-02-06 09:45:12
    空间自相关是学习空间统计学课程中的第一个拦路虎,据虾神所知,很多初学空间统计学的同学,在遇上这个词汇的时候,就准备放弃这一门本来可以很有意思的课程了。因为大家发现“空间自相关”这五个字,...
  • Python计算离散序列的自相关函数

    千次阅读 2019-12-02 19:41:49
    离散时间序列的自相关函数其实就是若干阶自相关系数的组合,其中,自相关系数的计算公式如下: 其中 h 为阶数,μ为序列的均值,比如计算离散时间序列 : [2, 3, 4, 3, 7] 的自相关函数 首先计算 0 阶自相关系数为 1...
  • 文章目录1 空间地理相关性2 技术性定义3 空间相关类型4 Moran’s I(莫兰系数)5 空间自相关的应用6 案例研究: 意大利人口迁移分析7 总结8 实现工具 1 空间地理相关性 地理空间自相关是指一个物体与附近其他物体的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,731,526
精华内容 1,892,610
关键字:

自相关

友情链接: Notepad(CSharp).rar