You are on page 1of 2

data=read.csv("datasusu.

csv")
attach(data)
X<-X1000.MT
library(fracdiff)
x=X
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)
}
#arima
a=X
ts.plot(a)
a1=log(a)
ts.plot(a1)
a2=diff(a1,lag=1)
n=length(a)
#non musiman
acf=acf(a2,lag.max=n)
pacf=pacf(a2,lag.max=n)
#musiman
acf=acf(a2,lag.max=33)
pacf=pacf(a2,lag.max=33)
arima=arima(a1,order=c(1,1,1),seasonal=list(order=c(1,0,1),period=11),include.me
an=FALSE,method="ML")
residual=residuals(arima)
#menguji keacakan residual (independen atau tidak) -> H0=residual bersifat indep
enden
Box.test(residual,lag=1,type=c("Ljung-Box"))
#menguji kenormalan residual (H0=residual normal)
z=rnorm(n=length(residual),mean=mean(residual),sd=sd(residual))
ks.test(residual,z)
#jika residual independen dan normal maka white noise -> model dapat dipakai
#mencari nilai forecast
prediksi=predict(arima,n.ahead=11)
exp(prediksi$pred)
#data training = data ke 11 terakhir
et=exp(residual[(n-11):n])
xt=a[(n-11):n]
MAPE=(1/11)*sum(abs(et/xt))
MAPE
MSE=(1/11)*sum(et^2)
MSE

You might also like