1 Sissejuhatus

1.1 Andmestiku kirjeldus

Selles projektis analüüsitakse teemat Fuel Consumption Ratings uute kergete tarbesõidukite kütusekulu ja CO2 heitkoguseid, tuginedes andmestikule, mis on saadud Kaggle-ist.

Andmestik sisaldab 946 erineva sõiduki kohta kogutud infot. Andmed annavad tervikliku ülevaate 2022. aastal Kandas müüdud sõidukite kütusekulu ja CO2 heitkogustest. Peamised järeldused näitavad, et turgu domineerivad bensiinimootoriga ja keskise suurusega mootoritega sõidukid. Keskkonnasõbralikud valikud on alles tõusuteel.

Andmestiku tunnuste kirjeldused asuvad failis FuelConsumptionRatings.csv Moodle-is.

1.2 Uurimiseesmärk

Eesmärk on uurida, kas linnasõidu kütusekulu ületab maanteesõidu kütusekulu ning kas kombineeritud kütusekulu ja CO₂ heitkogused on omavahel positiivselt seotud.

1.3 Tööhüpoteesid (tööülesanded)

Tööle püstitatud hüpoteesid on järgmised:

  1. Linnasõidu kütusekulu on keskmiselt suurem kui maanteesõidu kütusekulu.
  2. CO2 heitkogused on positiivses korrelatsioonis sõidukite kombineeritud kütusekuluga

1.4 Uuringu käik

Uuringu käik etappidena:

  1. Andmestiku esmane analüüs, et tutvuda tunnuste ja väärtustega. Kontrollida andmestiku terviklikkust ja eemaldada võimalikud vigased või puudulikud kirjed.

  2. Tunnuste “City Fuel Consumption (L/100 km)” ja “Highway Fuel Consumption (L/100 km)” võrdlemine keskmiste ja jaotuste alusel, et testida esimest hüpoteesi.

  3. Kombineeritud kütusekulu ja CO₂ heitkoguste vahelise korrelatsiooni arvutamine ja visualiseerimine, et testida teist hüpoteesi.

  4. Tulemuste tõlgendamine ja hüpoteeside paikapidavuse hindamine.

Kasutatud meetodid:

  • Hajuvusdiagramm koos regressioonijoonega (geom_point() ja geom_smooth() funktsioonid).

  • Korrelatsioonikordaja arvutamine (cor() funktsioon).

Sobivus: Need meetodid olid asjakohased, kuna korrelatsioonikordaja võimaldab mõõta lineaarse seose tugevust ja hajuvusdiagramm aitab visualiseerida seose olemust. Reguleeritava regressioonijoone lisamine rõhutas selget positiivset seost.

2 Andmestiku esmaanalüüs

2.1 Vajalikud paketid

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Selleks, et Moodle faili andmeid lugeda peab eelnevalt .csv fail olema salvestatud samasse kausta, kus asub .rmd fail.

#
fuel_data <- read.csv("FuelConsumptionRatings.csv")
#

2.2 Andmestiku struktuuri

#
str(fuel_data)
## 'data.frame':    946 obs. of  15 variables:
##  $ Model.Year                       : int  2022 2022 2022 2022 2022 2022 2022 2022 2022 2022 ...
##  $ Make                             : chr  "Acura" "Acura" "Acura" "Acura" ...
##  $ Model                            : chr  "ILX" "MDX SH-AWD" "RDX SH-AWD" "RDX SH-AWD A-SPEC" ...
##  $ Vehicle.Class                    : chr  "Compact" "SUV: Small" "SUV: Small" "SUV: Small" ...
##  $ Engine.Size.L.                   : num  2.4 3.5 2 2 2 2 3 3 2 2 ...
##  $ Cylinders                        : int  4 6 4 4 4 4 6 6 4 4 ...
##  $ Transmission                     : chr  "AM8" "AS10" "AS10" "AS10" ...
##  $ Fuel.Type                        : chr  "Z" "Z" "Z" "Z" ...
##  $ Fuel.Consumption..City..L.100.km.: num  9.9 12.6 11 11.3 11.2 11.3 12.3 12.3 10 10.5 ...
##  $ Fuel.Consumption.Hwy..L.100.km.. : num  7 9.4 8.6 9.1 8 8.1 9.4 9.8 7.2 7.7 ...
##  $ Fuel.Consumption.Comb..L.100.km..: num  8.6 11.2 9.9 10.3 9.8 9.8 11 11.2 8.7 9.2 ...
##  $ Fuel.Consumption.Comb..mpg..     : int  33 25 29 27 29 29 26 25 32 31 ...
##  $ CO2.Emissions.g.km.              : int  200 263 232 242 230 231 256 261 205 217 ...
##  $ CO2.Rating                       : int  6 4 5 5 5 5 5 4 6 5 ...
##  $ Smog.Rating                      : int  3 5 6 6 7 7 5 5 3 3 ...
head(fuel_data)
##   Model.Year  Make             Model Vehicle.Class Engine.Size.L. Cylinders
## 1       2022 Acura               ILX       Compact            2.4         4
## 2       2022 Acura        MDX SH-AWD    SUV: Small            3.5         6
## 3       2022 Acura        RDX SH-AWD    SUV: Small            2.0         4
## 4       2022 Acura RDX SH-AWD A-SPEC    SUV: Small            2.0         4
## 5       2022 Acura        TLX SH-AWD       Compact            2.0         4
## 6       2022 Acura TLX SH-AWD A-SPEC       Compact            2.0         4
##   Transmission Fuel.Type Fuel.Consumption..City..L.100.km.
## 1          AM8         Z                               9.9
## 2         AS10         Z                              12.6
## 3         AS10         Z                              11.0
## 4         AS10         Z                              11.3
## 5         AS10         Z                              11.2
## 6         AS10         Z                              11.3
##   Fuel.Consumption.Hwy..L.100.km.. Fuel.Consumption.Comb..L.100.km..
## 1                              7.0                               8.6
## 2                              9.4                              11.2
## 3                              8.6                               9.9
## 4                              9.1                              10.3
## 5                              8.0                               9.8
## 6                              8.1                               9.8
##   Fuel.Consumption.Comb..mpg.. CO2.Emissions.g.km. CO2.Rating Smog.Rating
## 1                           33                 200          6           3
## 2                           25                 263          4           5
## 3                           29                 232          5           6
## 4                           27                 242          5           6
## 5                           29                 230          5           7
## 6                           29                 231          5           7
#

2.3 Puuduvad väärtused

#
sum(is.na(fuel_data))
## [1] 0
#

Puuduvaid väärtuseid on 0.

2.4 Tunnuste statistiline kirjeldus

#
summary(fuel_data)
##    Model.Year       Make              Model           Vehicle.Class     
##  Min.   :2022   Length:946         Length:946         Length:946        
##  1st Qu.:2022   Class :character   Class :character   Class :character  
##  Median :2022   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :2022                                                           
##  3rd Qu.:2022                                                           
##  Max.   :2022                                                           
##  Engine.Size.L.    Cylinders      Transmission        Fuel.Type        
##  Min.   :1.200   Min.   : 3.000   Length:946         Length:946        
##  1st Qu.:2.000   1st Qu.: 4.000   Class :character   Class :character  
##  Median :3.000   Median : 6.000   Mode  :character   Mode  :character  
##  Mean   :3.199   Mean   : 5.668                                        
##  3rd Qu.:3.800   3rd Qu.: 6.000                                        
##  Max.   :8.000   Max.   :16.000                                        
##  Fuel.Consumption..City..L.100.km. Fuel.Consumption.Hwy..L.100.km..
##  Min.   : 4.00                     Min.   : 3.900                  
##  1st Qu.:10.20                     1st Qu.: 7.700                  
##  Median :12.20                     Median : 9.200                  
##  Mean   :12.51                     Mean   : 9.363                  
##  3rd Qu.:14.70                     3rd Qu.:10.700                  
##  Max.   :30.30                     Max.   :20.900                  
##  Fuel.Consumption.Comb..L.100.km.. Fuel.Consumption.Comb..mpg..
##  Min.   : 4.00                     Min.   :11.00               
##  1st Qu.: 9.10                     1st Qu.:22.00               
##  Median :10.80                     Median :26.00               
##  Mean   :11.09                     Mean   :27.25               
##  3rd Qu.:12.90                     3rd Qu.:31.00               
##  Max.   :26.10                     Max.   :71.00               
##  CO2.Emissions.g.km.   CO2.Rating      Smog.Rating  
##  Min.   : 94.0       Min.   : 1.000   Min.   :1.00  
##  1st Qu.:213.2       1st Qu.: 3.000   1st Qu.:3.00  
##  Median :257.0       Median : 5.000   Median :5.00  
##  Mean   :259.2       Mean   : 4.539   Mean   :4.95  
##  3rd Qu.:300.8       3rd Qu.: 5.000   3rd Qu.:6.00  
##  Max.   :608.0       Max.   :10.000   Max.   :7.00
#

2.5 Unikaalsete väärtuste kontroll

#
unique_classes <- unique(fuel_data$Vehicle.Class)
unique_fuel_types <- unique(fuel_data$Fuel.Type)
unique_classes
##  [1] "Compact"                 "SUV: Small"             
##  [3] "Mid-size"                "Minicompact"            
##  [5] "SUV: Standard"           "Two-seater"             
##  [7] "Subcompact"              "Station wagon: Small"   
##  [9] "Station wagon: Mid-size" "Full-size"              
## [11] "Pickup truck: Small"     "Pickup truck: Standard" 
## [13] "Minivan"                 "Special purpose vehicle"
unique_fuel_types
## [1] "Z" "X" "D" "E"
#

2.6 Kütusekulu statistikat linnas, maanteel ja kombineeritud tingimustes

#
fuel_consumption_stats <- fuel_data %>%
  summarise(
    keskmine_linnas = mean(`Fuel.Consumption..City..L.100.km.`, na.rm = TRUE),
    keskmine_maanteel = mean(`Fuel.Consumption.Hwy..L.100.km..`, na.rm = TRUE),
    keskmine_kombineeritud = mean(`Fuel.Consumption.Comb..L.100.km..`, na.rm = TRUE),
    standard_linnas = sd(`Fuel.Consumption..City..L.100.km.`, na.rm = TRUE),
    standard_maanteel = sd(`Fuel.Consumption.Hwy..L.100.km..`, na.rm = TRUE),
    standard_kombineeritud = sd(`Fuel.Consumption.Comb..L.100.km..`, na.rm = TRUE)
  )
print(fuel_consumption_stats)
##   keskmine_linnas keskmine_maanteel keskmine_kombineeritud standard_linnas
## 1        12.50645          9.363319               11.09207        3.452043
##   standard_maanteel standard_kombineeritud
## 1          2.285125               2.876276
#

2.7 CO2 heitkoguste statistikat

#
co2_stats <- fuel_data %>%
  summarise(
    keskmine_co2 = mean(`CO2.Emissions.g.km.`, na.rm = TRUE),
    standard_co2 = sd(`CO2.Emissions.g.km.`, na.rm = TRUE)
  )
print(co2_stats)
##   keskmine_co2 standard_co2
## 1     259.1723     64.44315
#

2.8 Hajuvusdiagramm (CO2 heitkogused vs kombineeritud kütusekulu)

#
ggplot(fuel_data, aes(x = `Fuel.Consumption.Comb..L.100.km..`, y = `CO2.Emissions.g.km.`)) +
  geom_point(alpha = 0.5) +
  geom_smooth(method = "lm", color = "blue", se = FALSE) +
  labs(title = "CO2 heitkoguste ja kütusekulu seos",
       x = "Kombineeritud kütusekulu (L/100km)",
       y = "CO2 heitkogused (g/km)")
## `geom_smooth()` using formula = 'y ~ x'

#

3 Seoste analüüs

3.1 Hüpotees 1: Linnasõidu kütusekulu on keskmiselt suurem kui maanteesõidu kütusekulu

  1. Analüüs: Linnasõidu ja maanteesõidu kütusekulu võrreldi keskmiste ja kastigraafikuga. Keskmine linnasõidu kütusekulu oli suurem, mis viitab sellele, et linnas sõitmine kulutab rohkem kütust.
  2. Järeldus: Hüpotees oli õige – linnasõidu kütusekulu on tõepoolest keskmiselt suurem.

3.1.1 Kood analüüsiks

Graafiline analüüs (boxplot) linnasõidu ja maanteesõidu kütusekulu võrdlemiseks

#
ggplot(fuel_data, aes(x = factor(0), y = `Fuel.Consumption..City..L.100.km.`)) +
  geom_boxplot(fill = "blue", alpha = 0.5) +
  geom_boxplot(aes(x = factor(1), y = `Fuel.Consumption.Hwy..L.100.km..`), fill = "green", alpha = 0.5) +
  labs(title = "Linnasõidu ja maanteesõidu kütusekulu võrdlus",
       x = "Tüüp",
       y = "Kütusekulu (L/100 km)") +
  scale_x_discrete(labels = c("Linnasõit", "Maanteesõit"))

#

Keskmine kütusekulu linnasõidus ja maanteesõidus

#
keskmine_linn <- mean(fuel_data$`Fuel.Consumption..City..L.100.km.`, na.rm = TRUE)
keskmine_maantee <- mean(fuel_data$`Fuel.Consumption.Hwy..L.100.km..`, na.rm = TRUE)

print(paste("Keskmine linnasõidu kütusekulu:", round(keskmine_linn, 2), "L/100 km"))
## [1] "Keskmine linnasõidu kütusekulu: 12.51 L/100 km"
print(paste("Keskmine maanteesõidu kütusekulu:", round(keskmine_maantee, 2), "L/100 km"))
## [1] "Keskmine maanteesõidu kütusekulu: 9.36 L/100 km"
#

3.2 Hüpotees 2: Suurema kombineeritud kütusekuluga sõidukid paiskavad rohkem CO2 heitmeid.

  1. Analüüs: Hajuvusdiagramm ja korrelatsioonikordaja näitasid tugevat positiivset seost kombineeritud kütusekulu ja CO₂ heitkoguste vahel (korrelatsioonikordaja > 0.9).
  2. Järeldus: Hüpotees oli õige – suurema kombineeritud kütusekuluga sõidukid paiskavad rohkem CO₂ heitmeid.

3.2.1 Kood analüüsiks:

Graafiline analüüs (scatter plot) kombineeritud kütusekulu ja CO2 heitkoguste vahel

#
ggplot(fuel_data, aes(x = `Fuel.Consumption.Comb..L.100.km..`, y = `CO2.Emissions.g.km.`)) +
  geom_point(alpha = 0.5) +
  geom_smooth(method = "lm", color = "red", se = TRUE) +
  labs(title = "Kombineeritud kütusekulu ja CO₂ heitkoguste seos",
       x = "Kombineeritud kütusekulu (L/100 km)",
       y = "CO₂ heitkogused (g/km)")
## `geom_smooth()` using formula = 'y ~ x'

#

Arvutame korrelatsiooni kombineeritud kütusekulu ja CO2 heitkoguste vahel

#
cor_combined_co2 <- cor(fuel_data$`Fuel.Consumption.Comb..L.100.km..`, fuel_data$`CO2.Emissions.g.km.`, use = "complete.obs")
print(paste("Korrelatsioon kombineeritud kütusekulu ja CO2 heitkoguste vahel:", round(cor_combined_co2, 2)))
## [1] "Korrelatsioon kombineeritud kütusekulu ja CO2 heitkoguste vahel: 0.97"
#

4 Kokkuvõte

Antud projektis analüüsiti Kanada 2022. aasta uute kergete tarbesõidukite kütusekulu ja CO₂ heitkoguseid, kasutades andmestikku Fuel Consumption Ratings. Uuringu eesmärk oli uurida, esiteks linnasõidu kütusekulu versus maanteesõidu kütusekulu ning CO2 heitkoguseid versus kombineeritud kptusekulu.

Seoste analüüs kinnitas mõlemad püstitatud hüpoteesid:

  1. Linnasõidul on keskmiselt suurem kütusekulu (12.51 L/100 km) võrreldes maanteesõiduga (9.36 L/100 km). See näitab, et linnasõidu eripärad (sagedane pidurdamine ja kiirendamine, lühemad vahemaad) suurendavad kütusekulu.

  2. Korrelatsioonikordaja 0.94 kinnitab tugevat positiivset seost, mis tähendab, et sõidukid, mis tarbivad rohkem kütust, paiskavad rohkem CO₂ heitmeid.Selline tulemus on ootuspärane, kuna suurem kütusekulu viitab suuremale energiatarbele, mis omakorda suurendab heitmeid.

Tulemused on rahuldavad ja vastavad ootustele. Analüüs annab selge ülevaate kütusekulu ja CO₂ heitkoguste vahelisest seosest ning aitab mõista, kuidas sõiduki erinevad omadused mõjutavad keskkonnaalast jalajälge ja kütusekasutust.

Kokkuvõttes pakub analüüs praktilisi teadmisi ja loob aluse paremate otsuste tegemiseks nii tootjate, tarbijate kui ka poliitikakujundajate tasandil.

5 Kasutatud materjalid

Projekti jaoks on kasutatud programme RStudio ning R. Samuti on kasutatud RKE142 Moodle-i kursusel olevaid materjale.

Projektimall ja juhendid on saadud järgmistest linkidest: