关于落后自相关系数的一个疑问
求落后自相关的时候,一般我们都是计算前几个系数(比如落后1个时次数到落后n/3个时次,n是序列的长度)。但是,当落后的时次是n-1的时候,我们拿序列的前两个和最后两个来计算(根据附件落后自相关的定义),根据常识这个值应该很接近0,因为落后的时次越多,自相关系数应该逐步趋近0. 但是,又根据常识这任意两个值和另外的任意的两个值计算相关系数的时候,要么是1要么是-1.这个不是很矛盾吗?比如: a=; 求落后5个时次的相关系数时:应该用1,5和1,2来求相关,很明显结果是1.
但是,根据
=autocorr(a,5)
acf = 1.0000 0.0068 -0.5437 -0.1025 0.1544 -0.0150
lag = 0 1 2 3 4 5
当落后5的时候,这个系数是-0.0150。
还是我理解错了。 得不到LZ的结果。查了一下autocorr函数如下:
help autocorr
= autocorr(s,P)
where s is the input vector, and P is the order of prediction.
Function to compute the autocorrelation of the data
computes autocorrelation R(i) for i=1, .. ,P+1.
autocorr输出只有一个参数。按LZ的的数列,用acf=autocorr(a,5)得结果为:
212 125 88 57 11 5
[ 本帖最后由 ChaChing 于 2010-2-3 15:01 编辑 ] 难道是版本 不同
AUTOCORR Compute or plot sample auto-correlation function.
Compute or plot the sample auto-correlation function (ACF) of a univariate,
stochastic time series. When called with no output arguments, AUTOCORR
displays the ACF sequence with confidence bounds.
= autocorr(Series)
= autocorr(Series , nLags , M , nSTDs)
Optional Inputs: nLags , M , nSTDs
这个是我的help autocorr
谢谢 这个是一个更离谱的例子,最后几个滞后相关系数大于1了
clc
clear
Tjan=;
n=length(Tjan,1);
s=cov(Tjan);
ave=mean(Tjan);
m=25;
for i=0:1:m
r(i+1)=sum((Tjan(1:n-i)-ave).*(Tjan(1+i:n)-ave))/s/(n-i);
end
%上面就是严格按照定义计算的,最后的两个相关系数都大于-1了?????
= autocorr(Tjan,25);
这个是用matlab计算的,这个结果是逐渐趋近于0的 大于1的是,没有标准化的
页:
[1]