APPENDICE B

Funzioni di riferimento

CARICAMENTO PACCHETTO
"library(tseries)"

CARICAMENTO DATI
x<-read.table("C:/Documents and Settings/Giuseppe/Desktop/importazioni di energia extra ue.txt",header=TRUE)
indice<-x\$indice

ANALISI PRELIMINARE
max(indice)
min(indice)
mean(indice)
var(indice)
length(indice)

RICONOSCIMENTO SERIE STORICA
xt<-ts(indice,start=c(1993,1),frequency=12)
is.ts(xt)
xt

ANALISI GRAFICA
plot(xt,ylab="importazioni di enegia",xlab="tempo",main="GRAFICO DELLA SERIE STORICA",lwd=1,lty=1,col="red")
hist(indice,prob=TRUE,col="yellow")

CARICAMENTO PACCHETTO AST
"library(ast)"

STIMA DEL TREND CON IL FILTRAGGIO
xt.filt<-filter(xt,filter=rep(1/25,25))
xt.filt
plot(xt.filt,main="TREND STIMATO CON MEDIA MOBILE",col="green")

SCOMPOSIZIONE MEDIANTE DIFFERENZIAZIONE
xt.diff<-diff.ts(xt)
xt.diff
plot(xt.diff,main="GRAFICO DELLA SERIE STORICA DETRENDIZZATA",col="brown")
xt.diff2<-diff.ts(xt.diff)
plot(xt.diff2,main="GRAFICA DELLA SERIE STORICA DETRENDIZZATA 2",col="brown")

STIMA DEL TREND CON IL LIVELLAMENTO
xt.hw<-HoltWinters(xt,seasonal="additive")
xt.hw
plot(xt.hw)
prev<-predict(xt.hw,n.ahead=5)
prev

DECOMPOSIZIONE DELLA SERIE STORICA CON DEC
dec.fit<-decompose(xt,type="additive")
stag.dec<-dec.fit\$seasonal
trend.dec<-dec.fit\$trend
res.dec<-dec.fit\$random
plot(dec.fit)

DECOMPOSIZIONE DELLA SERIE STORICA CON STL
stl.fit<-stl(xt,s.window="periodic")
attributes(stl.fit)
stag.stl<-stl.fit\$time.series[,1]
trend.stl<-stl.fit\$time.series[,2]
res.stl<-stl.fit\$time.series[,3]
plot(stl.fit,main="GRAFICO DELLA SERIE STORICA DECOMPOSTA- funzione stl")

DECOMPOSIZIONE DELLA SERIE STORICA CON TSR
library(ast)
tsr.fit<-tsr(xt~poly(1)+c)
plot(tsr.fit)
plot(xt.filt)
lines(trend(tsr.fit),col="red")
tsr2.fit<-tsr(xt~loess(1,10)+c)
plot(tsr2.fit)
plot(xt.filt)
lines(trend(tsr2.fit),col="blue")
plot(trend(tsr2.fit),main="COMPARAZIONE DEL TREND STIMATO")
lines(xt.filt,col="red")
lines(trend.stl,col="green")
trend.tsr<-trend(tsr2.fit)
stag.tsr<-seasonal(tsr2.fit)
res.tsr<-residuals(tsr2.fit)

LISCIAMENTO DELLA SERIE STORICA
plot(xt,main="LISCIAMENTO DELLA SERIE STORICA")
lines(smoothts(xt~lo(2,10)),col="red")
lines(smoothts(xt~s(2)),col="blue")
lines(smoothts(xt~p(2)),col="black")

VERIFICA SUL VALORE DELLA MEDIA DEGLI ERRORI
media.residui<-mean(res.stl)
media.residui
n<-length(res.stl)
n
var.residui<-(n/(n-1))*var(res.stl)
var.residui
s<-sqrt(var.residui)
s
test<-(media.residui/(s/sqrt(n)))
test.t
pt(test.t,n-1,lower.tail=F)
qt(0.99,n-1)

VERIFICA DELLA NORMALITA'
stand<-function(x){m=mean(x)
s=(var(x)^0.5)
z=(x-m)/s
return(z)}
res.stand<-stand(res.stl)
res.stand
plot(res.stand,main="DIAGRAMMA DEI RESIDUI STANDARDIZZATI")
abline(h=2.5)
hist(res.stand,main="ISTOGRAMMA DEI RESIDUI STANDARDIZZATI",xlab="Residui",col="green")
plot(density(res.stand,kernel="gaussian"),main="Distribuzione dei residui:lisciamento",col="green")

TEST DI SHAPIRO
shapiro.test(res.stand)

TEST DI AUTOCORRELAZIONE
acf(res.stand,main="Correlogramma dei residui",col="red")

 

PROCESSO STOCASTICO
mean(res.stl)
var(res.stl)
acf(res.stl,type="correlation",plot=TRUE,main="CORRELOGRAMMA DELLA SERIE DEI RESIDUI",col="violet")
acf(res.stl,type="covariance",plot=TRUE,main="GRAFICO DELLE AUTOCOVARIANZE",col="orange")
acf(res.stl,type="correlation",plot=FALSE)
pacf(res.stl,plot=TRUE,main="GRAFICO DELLE CORRELAZIONI PARZIALI",col="green")
pacf(res.stl,plot=FALSE)

 

ALCUNI MODELLI STOCASTICI
1) AR
ar1<-arima.sim(n=170,list(order=c(1,1,0),ar=0.6))
ar1
plot(ar1,main="SIMULAZIONE DI UN PROCESSO AR(1)",col="blue")

ar11<-arima.sim(n=170,list(ar=0.15,sd=sqrt(2.5)))
ar11
plot(ar11,main="SIMULAZIONE DI UN PROCESSO AR(1)",col="brown")
abline(h=2.5)
abline(h=-2.5)

ar2<-arima.sim(n=170,list(order=c(2,1,0),ar=c(0.5,0.4)))
ar2
plot(ar2,main="SIMULAZIONE DI UN PROCESSO AR(2)")

ar22<-arima.sim(n=170,list(ar=0.88,-0.49),sd=sqrt(0.15))
ar22
plot(ar22,main="SIMULAZIONE DI UN PROCESSO AR(2)")
abline(h=0.15)
abline(h=-0.15)

2) MA
ma1<-arima.sim(n=170,list(order=c(0,1,1),ma=-0.7))
ma1
plot(ma1,main="SIMULAZIONE DI UN PROCESSO MA(1)",col="yellow")

ma2<-arima.sim(n=170,list(order=c(0,1,2),ma=c(-0.9,0.3)))
ma2
plot(ma2,main="SIMULAZIONE DI UN PROCESSO MA(2)",col="green")

3) ARIMA
arima1<-arima.sim(n=170,list(order=c(1,1,1),ar=0.05,ma=0.3))
plot(arima1,main="SIMULAZIONE DI UN PROCESSO ARIMA(1,1,1)",col="red")

 

STIMA DEI PARAMETRI
1)
ar1fit<-arima(ar1,order=c(1,1,0),include.mean=FALSE)
ar1fit
tsdiag(ar1fit)

ar22fit<-arima(ar22,order=c(2,1,0),include.mean=FALSE)
ar22fit
tsdiag(ar22fit)

2)
fitma1<-arima(ma1,c(0,1,1))
fitma1
tsdiag(fitma1)

3)
arimafit<-arima(arima1, order=c(1,1,1), include.mean=FALSE)
arimafit
tsdiag(arimafit)

 

Commenti

commenti