Está en la página 1de 8

CCAA País Vasco

Código
Dataset <-

readXL("F:/Anna Work/UOC/UOC202202/BaseDatos/ViajerosResidentesEspanya4T2021.xlsx",

rownames=FALSE, header=TRUE, na="", sheet="Datos2", stringsAsFactors=TRUE)

SubData <- subset(Dataset, subset=CCAA_RESIDENCIA == 'Pais Vasco')

------------------------------------------------

local({

.Table <- with(SubData, table(ALOJAPRIN))

cat("\ncounts:\n")

print(.Table)

cat("\npercentages:\n")

print(round(100*.Table/sum(.Table), 2))

})

variable <- 'ALOJAPRIN'

Freq <- table(SubData[,variable])

Perc <- table(SubData[,variable])/sum(Freq)

barplot(Freq, col=palette(), cex= 0.7,cex.names = 0.01)

legend("top",legend = rownames(Perc), fill = palette(), cex= 0.8)

------------------------------------------------

with(SubData, Hist(NPERNOC_30d, scale="frequency", breaks="Sturges", col="blue"))

numSummary(SubData[,"NPERNOC_30d", drop=FALSE], statistics=c("mean", "sd", "IQR", "quantiles", "cv", "skewness"),


quantiles=c(0,.10,.25,.5,.75,.90,1), type="2")

numSummary(SubData[,c("GASTOFI_TOTAL", "NPERNOC"), drop=FALSE], statistics=c("mean", "sd", "IQR", "quantiles", "cv",


"skewness"), quantiles=c(0,.25,.5,.75,1), type="2")

------------------------------------------------

Boxplot(NPERNOC_30d~ALOJAPRINC_2, data=SubData, id=list(method="y"), col =rainbow(5))

numSummary(SubData[,"NPERNOC_30d", drop=FALSE], groups=SubData$ALOJAPRINC_2, statistics=c("mean", "sd", "cv", "IQR",


"quantiles"), quantiles=c(0,.25,.5,.75,1), type="2")

------------------------------------------------

Mercado <- subset(SubData, subset= ALOJAPRINC_2 == "De mercado")


NoMercado <- subset(SubData, subset= ALOJAPRINC_2 == "No de mercado")

install.packages("ineq")
library(ineq)

# GINIs
GNI_Mercado <- with(Mercado,Gini(NPERNOC))
GNI_NoMercado <- with(NoMercado,Gini(NPERNOC))

# Grafica
with(Mercado,plot(Lc(NPERNOC), col="green", main=""))
with(NoMercado,lines(Lc(NPERNOC), col="red"))
mtext(paste("De Mercado GINI index=", round(GNI_Mercado, digits=6)), col = "green", side=3, line=1, cex=0.75)

mtext(paste("No de Mercado GINI index=", round(GNI_NoMercado, digits=6)), col = "red", side=3, line=2, cex=0.75)
------------------------------------------------

Dataset <- readXL("F:/Anna Work/UOC/UOC202202/BaseDatos/SerieTemporal_CCAA_residencia.xls", rownames=FALSE,


header=TRUE, na="", sheet="PV", stringsAsFactors=TRUE)

SubData <- subset(Dataset, subset=CCAA == 'Pais Vasco')

RegModel.3 <- lm(Duración.media.del.viaje~Tiempo, data=SubData)


summary(RegModel.3)
scatterplot(Duración.media.del.viaje~Tiempo, regLine=TRUE, smooth=FALSE, boxplots=FALSE, data=SubData)
cor(Dataset[,c("Duración.media.del.viaje","Tiempo")], use="complete")

------------------------------------------------

install.packages("fpp")
library(fpp)
install.packages("forecast")
library(forecast)

# Definim la serie
DuracionMedia<-ts(SubData$Duración.media.del.viaje,start=c(2018,1),end=c(2021,4),frequency=4)
DuracionMedia

#Gràfica de la sèrie i la línia de la mitjana mòbil i la mitjana global


MA_Duracion <- ma(DuracionMedia, order = 4, centre = T)
Media_Duracion = DuracionMedia *0 + mean(DuracionMedia)
plot(DuracionMedia, col = "dark blue", type = "o", pch = 21, cex = 1, bg = "dark blue")
lines(MA_Duracion, col="gold",lwd=3)
lines(Media_Duracion, col="green",lwd=2)
mtext(paste("Mitjana global de la serie=", round(mean(DuracionMedia),digits=2)), col = "green", side=3)

------------------------------------------------

# Model de regressió lineal i les components estacionals associades


#Regressió lineal
RegModel <- lm(Duración.media.del.viaje~Tiempo, data=SubData)

#Gràfic de dispersió
scatterplot(Duración.media.del.viaje~Tiempo, regLine=TRUE, smooth=FALSE, boxplots=FALSE, data=SubData)

#Components estacionals

PrediccionRegresion <- predict(RegModel, Tiempo = SubData$Tiempo)


m_DuracionMedia <- t(matrix(data = DuracionMedia - PrediccionRegresion , nrow = 4))
components_estacionals <- round(colMeans(round(m_DuracionMedia, digit=4), na.rm = T), digit=4)
components_estacionals_Correcta<-ts(components_estacionals,start=c(0,1),end=c(0,4),frequency=4)
components_estacionals_Correcta

#Resumint
Constante <- RegModel[1]$coefficients[1]
Pendiente <- RegModel[1]$coefficients[2]
scatterplot(Duración.media.del.viaje~Tiempo, regLine=TRUE, smooth=FALSE, boxplots=FALSE, data=SubData)
lines(PrediccionRegresion + components_estacionals, col="Red4", pch=24 )
mtext(paste("Model Regressio + Components estacionals ="), col="Red4", side=3, line=2, cex=0.75)
mtext(paste( round(Constante, digits = 2), ifelse(Pendiente<0, "-", "+"), round(abs(Pendiente), digits = 2), "* Tiempo","+ Component
Estacional"), col="Red4", side=3, line=1, cex=0.75)

#Predicció

PrediccionRegresion_1 <- round(Constante, digits = 4) + round(Pendiente , digits = 4) * (max(SubData$Tiempo) +1)


PrediccionRegresion_2 <- round(Constante, digits = 4) + round(Pendiente , digits = 4) * (max(SubData$Tiempo) +2)
PrediccionRegresion_3 <- round(Constante, digits = 4) + round(Pendiente , digits = 4) * (max(SubData$Tiempo) +3)
PrediccionRegresion_4 <- round(Constante, digits = 4) + round(Pendiente , digits = 4) * (max(SubData$Tiempo) +4)
PrediccionRegComp1 <- round(PrediccionRegresion_1, digits = 4) + round(components_estacionals[1], digits=4)
PrediccionRegComp2 <- round(PrediccionRegresion_2, digits = 4) + round(components_estacionals[2], digits=4)
PrediccionRegComp3 <- round(PrediccionRegresion_3, digits = 4) + round(components_estacionals[3], digits=4)
PrediccionRegComp4 <- round(PrediccionRegresion_4, digits = 4) + round(components_estacionals[4], digits=4)

p.reg <- ts(components_estacionals,start=c(2022,1),end=c(2022,4),frequency=4)


p.reg[1] <- round(PrediccionRegComp1, digits = 2)
p.reg[2] <- round(PrediccionRegComp2, digits = 2)
p.reg[3] <- round(PrediccionRegComp3, digits = 2)
p.reg[4] <- round(PrediccionRegComp4, digits = 2)
p.reg
------------------------------------------------

#Descomposició temporal (decompose())


decompose_DuracionMedia = decompose(DuracionMedia, "additive")
plot(decompose_DuracionMedia)
decompose_DuracionMedia

------------------------------------------------

#Holt-Winters

hw.DuracionMedia=HoltWinters(DuracionMedia, alpha = NULL, beta = NULL, gamma = NULL,seasonal =


"additive")
p.DuracionMedia=predict(hw.DuracionMedia, n.ahead = 4, prediction.interval = FALSE)
p.DuracionMedia
plot(hw.DuracionMedia,p.DuracionMedia)

#auto-arima()

mod1 <- auto.arima(DuracionMedia)


mod1
pred1mod1 <- forecast(DuracionMedia, h=4, model=mod1)
pred1mod1
pred <- forecast(DuracionMedia, h=4, model=mod1, level = c(80,95), fan=TRUE)
plot(pred)

También podría gustarte