Hi all,
 
I am sorry for bothering the list, but I hope one of its members can help me.
 
Currently I am doing a spectral analysis with the help of R. The spectral 
density I have calculated as follows:
(The vector q contain some testing numbers.)
 
 
> q <- 
> c(28,28,26,19,16,24,26,24,24,29,29,27,31,26,38,23,13,14,28,19,19,17,22,2,4,5,7,8,14,14,23,23)
> N <- length(q)
> Fourier <- fft(q)/N
> Fourier2 <- ( Re(Fourier)^2 + Im(Fourier)^2) * 2
> SpecDen <- array(0,dim=c(0,N/2-1))
> for (i in 2:(N/2+1))
+ {
+  SpecDen[i-1] <- Fourier2[i]
+ }
> SpecDen[N/2] <- SpecDen[N/2]/2
> k <- c(1:(N/2))
> freq <- (N/k)^-1
> plot(freq,SpecDen, type="l", lwd=1, col="blue")
 
 
To check if this computation is correct I have summed all Spectral Densities 
(SpecDen) and they were equal to the variance, correct thus.
 
 
Now I want to test if the peaks I get in this spectrum are statistically 
significant. For this I want to use an autoregressive order 1 process (AR1). 
For that I have used the following code:
 
 
> spec <- ar(q, aic = TRUE, order.max = 1, method="yule-walker")
> f<-seq(0,1/2*3.1415,by=1/2*3.1415/255)
> lines(f,ARSdf(spec$ar), type="l", lwd=2, col="red")

 
Now I get two lines, which should be somewhat of the same order. In this case 
(for this vector) the difference is already a factor 4. But if I use for 
example the USTobacco data, the difference is way to large. So I suspect, 
somewhere in my use of the ar() function I make a thinking mistake. For 
example, maybe the ar() function does not return spectral densities?
 
Can anybody help me? 
 
Thank you for your time and consideration.                                      
  
        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to