You are on page 1of 2

#

#
# MACRO R SOFTWARE FOR DETECTING SEASONAL PATTERN
#
# Both stationary and NonStationary Pattern
#
# Copyright : Gumgum Darmawan
#
#
#
x<-co2
# Contoh
library(fracdiff)
# instal paket fracdiff
x<-x[,1]
Fungsiku <- function(x,d){
n<-length(x)
k<-round((n-1)/2)
omega<-c()
t<-c(1:n)
md=matrix(0,nrow=k,ncol=n)
mt=matrix(0,nrow=k,ncol=n)
mdata=matrix(0,nrow=k,ncol=n)
cosomega=matrix(0,nrow=k,ncol=n)
md1=matrix(0,nrow=k,ncol=n)
mt1=matrix(0,nrow=k,ncol=n)
mdata=matrix(0,nrow=k,ncol=n)
sinomega=matrix(0,nrow=k,ncol=n)
for (i in 1:k)
{
omega[i]<-(2*pi*i)/n
md[i,]<-omega[i]
mt[i,]<-t
mdata[i,]<-x[t]
}
cosomega<-mdata*cos(md*mt)
sinomega<-mdata*sin(md*mt)
a<-c()
b<-c()
periodogram<-c()
for (i in 1:k)
{
a[i]<-(2/n)*sum(cosomega[i,])
b[i]<-(2/n)*sum(sinomega[i,])
periodogram[i]<-(a[i]^2+b[i]^2)
}
k<-which.max(periodogram)
omega<-(2*pi*k)/n
Periode<-(2*pi)/omega
Thitung<-(max(periodogram))/sum(periodogram)
Nbintang<-c(seq(5,50,by=5))
galpha<-c(0.68377,0.444,0.33462,0.27040,0.22805,0.19784,0.17513,0.15738,0.14310,
0.13135)
Tabel<-cbind(Nbintang,galpha)
Ttabel<-Tabel[10,2]
if (Thitung>Ttabel){
print('Data mengikuti pola musiman')
} else {
print('Data tidak mengikuti pola musiman')
}
Periode
}

d<-fdGPH(x,bandw.exp=0.5)$d

if (d>0.5){
x<-diff(x,d=1)
Fungsiku(x,d)
} else {
Fungsiku(x,d)
}

You might also like