setwd("C:/Users/user/Desktop/Paskaitos/3 kursas 2 semestras/Prognozavimas")
if (!require(readxl)) install.packages('readxl')
## Įkeliamas reikalingas paketas: readxl
library(readxl)
d <- read_excel("Duomenys prognozavimui.xlsx")
#UŽDAVINIAI
#1. Atlikti statistinę duomenų rinkinio analizę
#2. Ištirti koreliaciją tarp kintamųjų
#3. Ištirti autokoreliaciją
#4. Atlikti sezoniškumo analizę
#5. Apskaičiuoti asimetrijos ir eksceso koeficientus
#Statistinė duomenų rinkinio analizė
summary(d)
## Lietuva Latvija Lenkija
## Min. : 0.0 Min. : 0.0 Min. : 71.0
## 1st Qu.: 55.5 1st Qu.: 0.0 1st Qu.: 181.0
## Median : 340.0 Median : 449.5 Median : 547.5
## Mean : 407.6 Mean : 443.2 Mean : 777.0
## 3rd Qu.: 587.8 3rd Qu.: 682.0 3rd Qu.: 803.8
## Max. :1759.0 Max. :2231.0 Max. :4619.0
#Koreliacija tarp kintamųjų
if (!require(ggpubr)) install.packages('ggpubr')
## Įkeliamas reikalingas paketas: ggpubr
## Įkeliamas reikalingas paketas: ggplot2
library(ggpubr)
cor(d)
## Lietuva Latvija Lenkija
## Lietuva 1.0000000 0.1618383 0.7638332
## Latvija 0.1618383 1.0000000 0.2919994
## Lenkija 0.7638332 0.2919994 1.0000000
ggscatter(d, x = "Lietuva", y = "Latvija",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "Lietuva", ylab = "Latvija", main="Koreliacija")
ggscatter(d, x = "Lietuva", y = "Lenkija",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "Lietuva", ylab = "Lenkija", main="Koreliacija")
ggscatter(d, x = "Lenkija", y = "Latvija",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "Lenkija", ylab = "Latvija", main="Koreliacija")
#Autokoreliacja
acf(d$Lietuva)
acf(d$Latvija)
acf(d$Lenkija)
#Sezoniškumo analizė
##Neįmanoma atlikti sezono analizės tik su keturių mėnesių duomenimis. Sezoninei analizei reikalingas bent vienas visas sezoninis ciklas, kurį paprastai sudarytų bent 12 mėnesių duomenys. Turint tik keturių mėnesių duomenis, neįmanoma nustatyti jokių aiškių sezoninių modelių ar tendencijų. ````
library(ggplot2)
# Load data
d <- read_excel("Duomenys prognozavimui.xlsx")
a <- c(d$Lietuva)
b <- c(d$Latvija)
c <- c(d$Lenkija)
# Create date range and data frame
dates <- seq(as.Date("2022-10-01"), as.Date("2023-01-08"), by = "day")
df <- data.frame(date = dates, Lietuva = a, Latvija = b, Lenkija = c)
# Create ggplot with trend line
ggplot(df, aes(x = date)) +
geom_line(aes(y = Lietuva, color = "Lietuva")) +
stat_smooth(aes(y = Lietuva), method = "lm", formula = y ~ x, se = FALSE, color = "blue") +
scale_x_date(date_labels = "%b") +
scale_color_manual(values = c("Lietuva" = "black"),
labels = c("Lietuva")) +
labs(x = "Mėnesiai", y = "Susirgimai",
title = 'Susirgimų skaičius Lietuvoje 2022-2023 metais su tendencijų linija')
library(ggplot2)
# Load data
d <- read_excel("Duomenys prognozavimui.xlsx")
a <- c(d$Lietuva)
b <- c(d$Latvija)
c <- c(d$Lenkija)
# Create date range and data frame
dates <- seq(as.Date("2022-10-01"), as.Date("2023-01-08"), by = "day")
df <- data.frame(date = dates, Lietuva = a, Latvija = b, Lenkija = c)
# Create ggplot with trend line
ggplot(df, aes(x = date)) +
geom_line(aes(y = Latvija, color = "Latvija")) +
stat_smooth(aes(y = Lietuva), method = "lm", formula = y ~ x, se = FALSE, color = "blue") +
scale_x_date(date_labels = "%b") +
scale_color_manual(values = c("Latvija" = "black"),
labels = c("Latvija")) +
labs(x = "Mėnesiai", y = "Susirgimai",
title = 'Susirgimų skaičius Latvijoje 2022-2023 metais su tendencijų linija')
library(ggplot2)
# Load data
d <- read_excel("Duomenys prognozavimui.xlsx")
a <- c(d$Lietuva)
b <- c(d$Latvija)
c <- c(d$Lenkija)
# Create date range and data frame
dates <- seq(as.Date("2022-10-01"), as.Date("2023-01-08"), by = "day")
df <- data.frame(date = dates, Lietuva = a, Latvija = b, Lenkija = c)
# Create ggplot with trend line
ggplot(df, aes(x = date)) +
geom_line(aes(y = Lenkija, color = "Lenkija")) +
stat_smooth(aes(y = Lietuva), method = "lm", formula = y ~ x, se = FALSE, color = "blue") +
scale_x_date(date_labels = "%b") +
scale_color_manual(values = c("Lenkija" = "black"),
labels = c("Lenkija")) +
labs(x = "Mėnesiai", y = "Susirgimai",
title = 'Susirgimų skaičius Lenkijoje 2022-2023 metais su tendencijų linija')
#Asimetrijos ir eksceso koeficientų apskaičiavimas
if (!require(moments)) install.packages('moments')
## Įkeliamas reikalingas paketas: moments
library(moments)
skewness(d) #Asimetrijos koeficientas (g1). Kai g1 > 0, histogramos asimetrija teigiama (dešinioji).
## Lietuva Latvija Lenkija
## 1.050085 1.209877 2.290137
kurtosis(d) #eksceso koeficientas (g2). Kai g2 > 3, turime smailą dažnių skirstinį
## Lietuva Latvija Lenkija
## 4.055377 4.990496 8.263174
#IŠVADOS
Atlikus statistinę duomenų analizę galima matyti,kad analiuojamu laikotarpiu minimalus susirgimų skaičius Lietuvoje buvo 0, Latvijoje 0, o Lenkijoje 71. Maksimalus susirgimų skaičius Lietuvoje buvo 1759, Latvijoje 2231, o Lenkijoje 4619.
Kadangi koreliacijos koeficientas tarp Lietuvos ir Latvijos yra arti nulio (0,16), tad galima teigti, kad tarp kintamųjų nėra jokoio ryšio. Tarp Lenkijos ir Latvijos koreliacijos koeficientas taip pat arti nulio (0,29) todėl taip pat galima sakyti kad ryšio tarp kintamųjų beveik nėra. Tarp Lietuvos ir Lenkijos koreliacijos koeficientas yra arti vieneto (0,76), todėl galima teigti, kad ryšys tarp kintamųjų stiprus.
Lietuvos ir Latvijos autokoreliacijos grafikai “triukšmo” tipo, vadinasi, signalo reikšmės nesusijusios arba labai silpnai susijusios su reikšmėmis praeityje. Lenkijos autokoreliacijos grafike matomas stacionarus signalas, vadinasi dabartinei reikšmei įtakos turi praeities reikšmė.
Kadangi sezoniškumo analizės atlikti neįmanoma vietoj to atlikau tendencijos analizę. Visose trijose šalyse galima matyti mažėjančią susirgimų tendenciją.
Visų trijų šalių eksceso koeficientas yra didesnis nei 3, vadinasi tai nėra normalusis skirstinys, diagrama būtų smailėjanti. Visų trijų šalių asimetrijos koeficientai yra didesni už 0, todėl histogramos asimetrija yra teigiama (dešinioji).