Bab 1 - Pendahuluan

Latar Belakang

Dataset airquality merupakan data bawaan pada perangkat lunak R yang berisi pengukuran kualitas udara di New York, Amerika Serikat, selama bulan Mei hingga September 1973. Data ini dikumpulkan pada musim panas, ketika konsentrasi ozon cenderung meningkat akibat intensitas sinar matahari yang lebih tinggi. Dataset airquality mencakup beberapa variabel penting, yaitu Ozone, Solar.R, Wind, Temp, serta informasi kalender Month dan Day. Dalam tugas ini, hanya digunakan tiga variabel, yaitu Ozone sebagai variabel terikat serta Wind dan Temp sebagai variabel bebas. Ketiga variabel ini dipilih karena memiliki hubungan langsung dengan dinamika pembentukan ozon dan merupakan indikator meteorologi yang paling relevan dalam studi polusi udara.

Kualitas udara, khususnya kadar ozon (Ozone), sangat dipengaruhi oleh kondisi atmosfer. Kecepatan angin (Wind) berperan penting dalam proses dispersi polutan; semakin tinggi kecepatan angin, semakin cepat polutan menyebar dan mengencer, sedangkan suhu udara (Temp) memengaruhi reaksi fotokimia yang menghasilkan ozon (Ozone); semakin tinggi suhu, semakin optimal proses pembentukan ozon.

Melalui analisis ini, diharapkan untuk mengetahui seberapa besar pengaruh kecepatan angin dan suhu udara terhadap kadar ozon. Pemahaman hubungan tersebut dapat membantu memprediksi konsentrasi ozon berdasarkan kondisi cuaca, serta mendukung strategi pengendalian dan pengelolaan kualitas udara di wilayah perkotaan.

Rumusan Masalah

  1. Bagaimana karakteristik awal data variabel Ozone, Wind, dan Temp (statistik deskriptif dan distribusi)?

  2. Bagaimana hubungan antar variabel, khususnya Ozone terhadap Wind dan Temp (visualisasi scatterplot dan korelasi Pearson)?

  3. Bagaimana pengaruh Wind dan Temp terhadap Ozone secara simultan menggunakan model regresi linear berganda?

  4. Apakah asumsi regresi terpenuhi dan adakah outlier berpengaruh pada model?

Tujuan Penelitian

  1. Mengetahui karakteristik awal data variabel Ozone, Wind, dan Temp melalui statistik deskriptif dan visualisasi histogram.

  2. Menilai hubungan antara Ozone dengan Wind dan Temp menggunakan scatterplot LOESS dan korelasi Pearson.

  3. Membangun model regresi linear berganda Ozone ~ Wind + Temp untuk menilai pengaruh kedua variabel bebas terhadap Ozone.

  4. Mengevaluasi validitas model regresi melalui pemeriksaan asumsi (linearitas, normalitas residual, homoskedastisitas) dan mendeteksi observasi berpengaruh menggunakan Cook’s Distance.

Bab 2 - Metode Analisis

Analisis dilakukan melalui beberapa tahapan sebagai berikut:

  1. Pemeriksaan data awal, meliputi:

    • Statistik deskriptif untuk variabel Ozone, Wind, dan Temp.
    • Pemeriksaan jumlah nilai hilang (missing values).
    • Visualisasi histogram untuk melihat distribusi ketiga variabel tersebut.
  2. Pembersihan data, yaitu menghapus baris yang memiliki nilai hilang sehingga analisis dilakukan hanya pada data lengkap.

  3. Visualisasi hubungan antar variabel menggunakan:

    • Scatterplot Ozone vs Wind dengan kurva LOESS.
    • Scatterplot Ozone vs Temp dengan kurva LOESS.
  4. Perhitungan korelasi Pearson untuk mengetahui kekuatan hubungan linear antar variabel.

  5. Pembangunan model regresi linear berganda, terdiri dari:

    • Fitting model Ozone ~ Wind + Temp untuk melihat pengaruh variabel bebas terhadap Ozone.
    • Pemeriksaan asumsi regresi:
      • Linearitas
      • Normalitas residual (Q-Q plot)
      • Homoskedastisitas (plot residual vs fitted)
    • Uji Heteroskedastisitas
    • Perhitungan Robust Standard Errors (HC1) untuk menangani potensi heteroskedastisitas dan memastikan interpretasi koefisien tetap reliabel.
    • Pemeriksaan multikolinearitas menggunakan Variance Inflation Factor (VIF) dari paket car.
    • Deteksi outlier berpengaruh menggunakan Cook’s Distance.

Bab 3 - Hasil dan Pembahasan

3.1 Statistik Deskriptif dan Pemeriksaan Data

data(airquality)

# Ringkasan 3 variabel
summary(airquality[, c("Ozone", "Wind", "Temp")])
##      Ozone             Wind             Temp      
##  Min.   :  1.00   Min.   : 1.700   Min.   :56.00  
##  1st Qu.: 18.00   1st Qu.: 7.400   1st Qu.:72.00  
##  Median : 31.50   Median : 9.700   Median :79.00  
##  Mean   : 42.13   Mean   : 9.958   Mean   :77.88  
##  3rd Qu.: 63.25   3rd Qu.:11.500   3rd Qu.:85.00  
##  Max.   :168.00   Max.   :20.700   Max.   :97.00  
##  NA's   :37
# Jumlah NA
colSums(is.na(airquality[, c("Ozone", "Wind", "Temp")]))
## Ozone  Wind  Temp 
##    37     0     0

3.1.1 Histogram Ozone

hist(airquality$Ozone,
     main = "Histogram Kadar Ozone",
     xlab = "Ozone (ppb)",
     col = "brown",
     border = "darkgrey")

3.1.2 Histogram Wind

hist(airquality$Wind,
     main = "Histogram Kecepatan Angin",
     xlab = "Wind (mph)",
     col = "brown",
     border = "darkgrey")

3.1.3 Histogram Temp

hist(airquality$Temp,
     main = "Histogram Suhu Udara",
     xlab = "Temperature (°F)",
     col = "brown",
     border = "darkgrey")

Berdasarkan hasil ringkasan data, variabel Ozone, Wind, dan Temp memiliki karakteristik yang berbeda.

  1. Variabel Ozone memiliki rentang nilai Minimum 1.00 ppb hingga Maksimum 168.00 ppb, dengan rata-rata 42.13 ppb dan median 31.50 ppb. Nilai mean yang lebih tinggi dari median menunjukkan bahwa distribusi Ozone condong ke kanan (positively skewed). Kuartil Pertama berada pada 18.00 ppb dan kuartil Ketiga berada pada 63.25 ppb. Ini menunjukkan bahwa 50% data berada dalam rentang yang relatif sempit (18.00–63.25 ppb). Selain itu terdapat 37 nilai hilang (NA) yang merupakan jumlah NA terbanyak pada dataset ini.
  • Histogram juga memperlihatkan bahwa sebagian besar nilai Ozone berada pada kisaran rendah (0–60 ppb), sementara nilai tinggi hanya muncul dalam beberapa kejadian, menciptakan sebuah ‘ekor’ panjang ke kanan disebabkan oleh nilai-nilai ekstrem (outlier), terutama nilai maksimum 168.00 ppb.
  1. Variabel Wind memiliki rentang nilai minimum 1.700 mph dan nilai maksimum 20.700 mph dengan rata-rata 9.985 mph dan median 9.700 mph menunjukkan distribusi data yang cukup simetris. Kuartil Pertama adalah 7.400 mph dan Kuartil Ketiga adalah 11.500 mph dan tidak terdapat NA pada variabel ini. Penyebaran data yang stabil menjadikan Wind layak digunakan sebagai salah satu prediktor dalam model regresi.
  • Histogram untuk Wind memperlihatkan distribusi yang cukup simetris dengan data terkonsentrasi di sekitar pusat (sekitar 9–10 mph) dan melandai secara merata di kedua sisi. Bentuk ini menegaskan kembali bahwa nilai mean dan median berada dalam kedekatan yang erat, dan tidak ada outlier yang menonjol yang menyebabkan kemiring.
  1. Variabel Temp memiliki rentang suhu 56–97°F dengan rata-rata 77.88°F dan median 79°F. Distribusinya cenderung sedikit condong ke kiri (negatively skewed) karena median sedikit lebih besar dari mean. Kuartil Pertama adalah 72.00°F dan Kuartil Ketiga adalah 85.00°F. Suhu pada dataset relatif stabil tanpa outlier ekstrem, dan tidak terdapat nilai hilang pada variabel ini.
  • Histogram untuk Temp menunjukkan bahwa sebagian besar data suhu terkonsentrasi pada nilai-nilai yang lebih tinggi (dekat 79–97°F), dan melandai sedikit lebih tajam di sisi kiri. Bentuk ini mengonfirmasi sedikit kemiringan ke kiri, di mana median (79.00°F) sedikit melebihi mean (77.88°F). Meskipun demikian, distribusinya masih relatif stabil tanpa outlier yang parah.

Secara keseluruhan, pemeriksaan awal menunjukkan bahwa:

  1. Ozone memiliki variasi paling besar serta banyak nilai hilang,
  2. Wind dan Temp lebih bersih dan stabil, dan
  3. karakteristik ketiga variabel ini perlu dipertimbangkan dalam analisis regresi, terutama karena outlier pada Ozone berpotensi memengaruhi model.

3.2 Pembersihan Data

# Pembersihan data: hapus baris dengan NA
dat <- na.omit(airquality[, c("Ozone", "Wind", "Temp")])
dat
##     Ozone Wind Temp
## 1      41  7.4   67
## 2      36  8.0   72
## 3      12 12.6   74
## 4      18 11.5   62
## 6      28 14.9   66
## 7      23  8.6   65
## 8      19 13.8   59
## 9       8 20.1   61
## 11      7  6.9   74
## 12     16  9.7   69
## 13     11  9.2   66
## 14     14 10.9   68
## 15     18 13.2   58
## 16     14 11.5   64
## 17     34 12.0   66
## 18      6 18.4   57
## 19     30 11.5   68
## 20     11  9.7   62
## 21      1  9.7   59
## 22     11 16.6   73
## 23      4  9.7   61
## 24     32 12.0   61
## 28     23 12.0   67
## 29     45 14.9   81
## 30    115  5.7   79
## 31     37  7.4   76
## 38     29  9.7   82
## 40     71 13.8   90
## 41     39 11.5   87
## 44     23  8.0   82
## 47     21 14.9   77
## 48     37 20.7   72
## 49     20  9.2   65
## 50     12 11.5   73
## 51     13 10.3   76
## 62    135  4.1   84
## 63     49  9.2   85
## 64     32  9.2   81
## 66     64  4.6   83
## 67     40 10.9   83
## 68     77  5.1   88
## 69     97  6.3   92
## 70     97  5.7   92
## 71     85  7.4   89
## 73     10 14.3   73
## 74     27 14.9   81
## 76      7 14.3   80
## 77     48  6.9   81
## 78     35 10.3   82
## 79     61  6.3   84
## 80     79  5.1   87
## 81     63 11.5   85
## 82     16  6.9   74
## 85     80  8.6   86
## 86    108  8.0   85
## 87     20  8.6   82
## 88     52 12.0   86
## 89     82  7.4   88
## 90     50  7.4   86
## 91     64  7.4   83
## 92     59  9.2   81
## 93     39  6.9   81
## 94      9 13.8   81
## 95     16  7.4   82
## 96     78  6.9   86
## 97     35  7.4   85
## 98     66  4.6   87
## 99    122  4.0   89
## 100    89 10.3   90
## 101   110  8.0   90
## 104    44 11.5   86
## 105    28 11.5   82
## 106    65  9.7   80
## 108    22 10.3   77
## 109    59  6.3   79
## 110    23  7.4   76
## 111    31 10.9   78
## 112    44 10.3   78
## 113    21 15.5   77
## 114     9 14.3   72
## 116    45  9.7   79
## 117   168  3.4   81
## 118    73  8.0   86
## 120    76  9.7   97
## 121   118  2.3   94
## 122    84  6.3   96
## 123    85  6.3   94
## 124    96  6.9   91
## 125    78  5.1   92
## 126    73  2.8   93
## 127    91  4.6   93
## 128    47  7.4   87
## 129    32 15.5   84
## 130    20 10.9   80
## 131    23 10.3   78
## 132    21 10.9   75
## 133    24  9.7   73
## 134    44 14.9   81
## 135    21 15.5   76
## 136    28  6.3   77
## 137     9 10.9   71
## 138    13 11.5   71
## 139    46  6.9   78
## 140    18 13.8   67
## 141    13 10.3   76
## 142    24 10.3   68
## 143    16  8.0   82
## 144    13 12.6   64
## 145    23  9.2   71
## 146    36 10.3   81
## 147     7 10.3   69
## 148    14 16.6   63
## 149    30  6.9   70
## 151    14 14.3   75
## 152    18  8.0   76
## 153    20 11.5   68

Karena variabel utama dalam analisis, yaitu Ozon, teridentifikasi memiliki 37 nilai hilang (NA), maka dilakukan pembersihan data untuk memastikan analisis korelasi dan regresi dapat dilakukan dengan tepat. Proses pembersihan ini menggunakan fungsi na.omit() yang diaplikasikan hanya pada kolom Ozon, Wind, dan Temp. Fungsi ini bekerja dengan menghapus (mengeluarkan) setiap baris observasi yang mengandung setidaknya satu nilai NA pada ketiga kolom yang dipilih. Akibatnya, 37 observasi dikeluarkan, dan dataset baru bernama dat terbentuk dengan 116 observasi lengkap yang siap digunakan untuk analisis statistik selanjutnya.

3.3 Visualisasi Scatterplot dengan LOESS

3.3.1 Scatterplot Ozone ~ Wind

# Scatterplot Ozone vs Wind dengan LOESS 
plot(dat$Wind, dat$Ozone, 
     xlab = "Wind (mph)", 
     ylab = "Ozone (ppb)",
     main = "Hubungan Wind dan Ozone",
     pch = 16, col = "darkgreen") # pch=16 membuat titik bulat solid 
# Tambahkan kurva LOESS 
lines(lowess(dat$Wind, dat$Ozone), col="salmon", lwd=2)

Scatterplot antara Wind dan Ozone menunjukkan pola hubungan negatif yang jelas. Pada saat kecepatan angin berada pada tingkat rendah, yaitu sekitar 1–6 mph, kadar Ozone cenderung tinggi karena kondisi atmosfer yang lebih stagnan (diam) membuat polutan tidak tersebar secara efektif. Ketika kecepatan angin meningkat ke rentang 7–15 mph, terjadi penurunan yang konsisten pada Ozone karena angin membantu mendispersikan polutan ke area yang lebih luas. Pada kecepatan yang sangat tinggi, yaitu >= 16 mph, kurva LOESS menunjukkan sedikit fluktuasi akibat jumlah data yang terbatas pada rentang tersebut, namun pola umum tetap memperlihatkan hubungan negatif antara Wind dan Ozone.

3.3.2 Scatterplot Ozone ~ Temp

# Scatterplot Ozone vs Temp dengan LOESS 
plot(dat$Temp, dat$Ozone,
     xlab = "Temperature (°F)", 
     ylab = "Ozone (ppb)", 
     main = "Hubungan Temperature dan Ozone",
     pch = 16, col = "darkgreen") 
# Tambahkan kurva LOESS 
lines(lowess(dat$Temp, dat$Ozone), col="salmon", lwd=2)

Scatterplot antara Temp dan Ozone memperlihatkan pola hubungan positif. Pada suhu rendah, yaitu sekitar 56–70°F, kadar Ozone berada pada tingkat rendah karena proses fotokimia pembentuk ozon belum bekerja secara optimal. Ketika suhu meningkat ke rentang 71–85°F, kadar Ozone tampak meningkat cukup tajam seiring meningkatnya intensitas reaksi kimia antara sinar matahari dengan prekursor ozon. Pada suhu yang lebih tinggi, yaitu >= 86°F, Ozone terus menunjukkan tren peningkatan, yang dikonfirmasi oleh garis LOESS yang naik secara konsisten.

Secara keseluruhan, visualisasi ini menunjukkan bahwa Wind berhubungan negatif dengan Ozone, sedangkan Temp berhubungan positif, sehingga keduanya merupakan prediktor penting dalam variasi kadar ozon di atmosfer.

3.4 Korelasi Pearson

# Korelasi Ozone dengan Wind
cor(airquality$Wind, airquality$Ozone, use = "complete.obs")
## [1] -0.6015465
# Korelasi Ozone dengan Temp
cor(airquality$Temp, airquality$Ozone, use = "complete.obs")
## [1] 0.6983603

Hasil perhitungan korelasi Pearson menunjukkan bahwa hubungan antara Wind dan Ozone bernilai –0.6015, sedangkan hubungan antara Temp dan Ozone bernilai 0.698. Perhitungan dilakukan menggunakan argumen use = "complete.obs" karena variabel Ozone memiliki beberapa nilai hilang (NA), sehingga korelasi hanya dihitung berdasarkan baris dengan data lengkap.

Nilai korelasi negatif pada pasangan WindOzone menunjukkan bahwa semakin tinggi kecepatan angin, semakin rendah kadar ozon. Hal ini sejalan dengan teori atmosfer bahwa angin berperan dalam mendispersikan polutan, sehingga konsentrasi ozon di udara akan berkurang ketika angin bertiup lebih kencang.

Sebaliknya, nilai korelasi positif pada pasangan TempOzone mengindikasikan bahwa peningkatan suhu cenderung diikuti peningkatan kadar ozon. Suhu yang lebih tinggi memperkuat proses fotokimia pembentuk ozon, sehingga konsentrasi ozon biasanya meningkat pada kondisi cuaca panas dan cerah.

Secara keseluruhan, hasil korelasi menunjukkan bahwa baik Wind maupun Temp memiliki hubungan yang kuat dan konsisten dengan variasi kadar ozon, sehingga keduanya relevan sebagai prediktor dalam analisis lanjutan.

3.5 Regresi Linear Berganda

Analisis ini menggunakan model regresi linear berganda dengan variabel respon Ozone dan dua prediktor utama, yaitu Wind dan Temp. Model dibangun sebagai berikut:

3.5.1 Pembangunan Model

model <- lm(Ozone ~ Wind + Temp, data = dat)
summary(model)
## 
## Call:
## lm(formula = Ozone ~ Wind + Temp, data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -41.251 -13.695  -2.856  11.390 100.367 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -71.0332    23.5780  -3.013   0.0032 ** 
## Wind         -3.0555     0.6633  -4.607 1.08e-05 ***
## Temp          1.8402     0.2500   7.362 3.15e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.85 on 113 degrees of freedom
## Multiple R-squared:  0.5687, Adjusted R-squared:  0.5611 
## F-statistic:  74.5 on 2 and 113 DF,  p-value: < 2.2e-16

Hasil regresi linear berganda menunjukkan bahwa model secara keseluruhan sangat signifikan (F statistic: 74.5 p-value < 2.2 e-16). Kecepatan angin (Wind) dan suhu (Temp) keduanya merupakan prediktor signifikan bagi kadar ozon (Ozone).

Berdasarkan output model:

  1. Residual Model:
  • Residual model berada pada rentang −41.25 hingga 100.37 dengan median mendekati nol. Informasi ini memberikan gambaran awal mengenai variasi kesalahan prediksi, sementara evaluasi pola residual secara lebih mendalam dibahas pada bagian diagnostik (3.5.2–3.5.3).
  1. Koefisien Regresi:
  • Koefisien untuk Wind sebesar -3.0555 (p-value = 1.08 e-05), menandakan bahwa setiap kenaikan 1 mph angin menurunkan kadar ozon sebesar sekitar 3.06 ppb, dengan asumsi suhu konstan.
  • Koefisien untuk Temp sebesar 1.8402 p-value = 3.15 e-11), menunjukkan bahwa setiap kenaikan 1°F meningkatkan kadar ozon sekitar 1.84 ppb, dengan asumsi kecepatan angin tetap konstan.
  • Intersep sebesar -71.0332 menandakan prediksi kadar ozon ketika kecepatan angin dan suhu masing-masing nol.
  1. Kualitas Model (Fit Statistics):
  • Nilai Adjusted R² adalah 0.5611, yang berarti sekitar 56.1 % variasi kadar ozon dijelaskan secara bersama-sama oleh kecepatan angin dan suhu.
  • Residual Standard Error (RSE) adalah 21.85. Nilai ini menunjukkan bahwa rata-rata kesalahan prediksi model berada di kisaran 21.85 ppb.
  • Uji F-statistic adalah 74.5 dengan p-value yang sangat kecil (< 2.2 e -16), yang secara tegas mengonfirmasi bahwa model ini signifikan secara statistik secara keseluruhan. Secara keseluruhan, hasil ini konsisten dengan analisis korelasi dan teori atmosfer, mengonfirmasi bahwa Wind dan Temp adalah prediktor yang relevan dan kuat bagi Ozone.

3.5.2 Plot Residual vs Fitted

Plot residual digunakan untuk mengevaluasi asumsi dasar regresi, terutama linearitas dan homoskedastisitas.

model_clean <- lm(Ozone ~ Wind + Temp, data = dat)

plot(model_clean$fitted.values,
     model_clean$residuals,
     xlab = "Fitted Values",
     ylab = "Residuals",
     main = "Residual vs Fitted",
     col = "darkgreen",
     pch = 19)
abline(h = 0, col = "salmon", lwd = 2)

Plot Residual vs Fitted digunakan untuk mengevaluasi dua asumsi penting model regresi: linearitas dan homoskedastisitas (varian konstan). Plot ini menunjukkan bahwa residual tersebar secara acak di sekitar garis horizontal nol (garis merah), tanpa membentuk pola kurva tertentu. Kondisi acak ini mengonfirmasi bahwa asumsi linearitas telah terpenuhi dan model linier adalah bentuk yang tepat. Selain itu, penyebaran titik-titik residual terlihat cukup seragam di sepanjang rentang Fitted Values, yang menunjukkan bahwa asumsi homoskedastisitas juga terpenuhi. Secara keseluruhan, plot ini memberikan indikasi kuat bahwa model regresi valid dan dapat diandalkan untuk analisis selanjutnya.

3.5.3 Q-Q Plot Residuals

qqnorm(model$residuals)
qqline(model$residuals, col="brown", lwd=2)

Q-Q plot digunakan untuk menguji asumsi normalitas residual. Sebagian besar titik pada grafik berada dekat dengan garis diagonal, menunjukkan bahwa distribusi residual mengikuti pola normal. Sedikit penyimpangan pada bagian ekor disebabkan oleh nilai Ozon yang ekstrem, namun secara keseluruhan penyimpangan tersebut tidak cukup besar untuk melanggar asumsi normalitas. Oleh karena itu, model masih memenuhi asumsi normalitas residual dan valid untuk keperluan inferensial.

3.5.4 Uji Heteroskedastisitas

library(lmtest) 
## Warning: package 'lmtest' was built under R version 4.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 6.1493, df = 2, p-value = 0.04621

Tujuan dari pengujian ini adalah untuk mengecek apakah varians residual pada model regresi bersifat konstan (homoskedastisitas) atau tidak (heteroskedastisitas). Berdasarkan hasil uji, diperoleh nilai BP = 6.1493 dengan derajat kebebasan 2 dan p-value = 0.04621. Karena p-value < 0.05, maka hipotesis nol ditolak, yang berarti varians residual tidak konstan dan terdapat heteroskedastisitas. Untuk mengatasi masalah ini, digunakan robust standard errors sehingga inferensi koefisien regresi tetap valid meskipun heteroskedastisitas ada.

3.5.5 Robust Standar Errors

library(sandwich)
## Warning: package 'sandwich' was built under R version 4.4.3
library(lmtest)

robust_se <- coeftest(model, vcov = vcovHC(model, type="HC1"))
robust_se
## 
## t test of coefficients:
## 
##              Estimate Std. Error t value  Pr(>|t|)    
## (Intercept) -71.03322   21.80247 -3.2580 0.0014819 ** 
## Wind         -3.05549    0.87314 -3.4994 0.0006682 ***
## Temp          1.84018    0.19819  9.2851 1.377e-15 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Robust standard errors dihitung menggunakan estimator HC1. Hasil perhitungan robust standard error (HC1) menunjukkan bahwa koefisien untuk Wind (–3.05549; p = 0.0006682) dan Temp (1.84018; p = 1.377e-15) tetap signifikan bahkan setelah koreksi heteroskedastisitas diterapkan. Dengan demikian, meskipun model terdeteksi mengalami heteroskedastisitas, kesimpulan mengenai pengaruh Wind dan Temp terhadap Ozone tidak berubah. Robust standard errors memastikan bahwa interpretasi koefisien tetap reliabel.

3.5.6 Uji Multikolineritas (VIF)

library(car) 
## Warning: package 'car' was built under R version 4.4.2
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.2
vif(model)
##     Wind     Temp 
## 1.353542 1.353542

Hasil perhitungan VIF menunjukkan bahwa nilai VIF untuk Wind dan Temp adalah 1.35, yang berada jauh di bawah batas umum 5. Ini berarti tidak terdapat masalah multikolinearitas pada model, sehingga kedua variabel independen dapat digunakan secara bersamaan tanpa mengganggu kestabilan koefisien regresi.

3.5.7 Outlier dan Observasi Berpengaruh

cook <- cooks.distance(model)
plot(cook, type="h", main="Cook's Distance", ylab="Distance")
abline(h = 4/length(cook), col="brown", lty=2)

Plot Cook’s Distance digunakan untuk mengidentifikasi observasi yang memiliki pengaruh besar terhadap model regresi. Sumbu X mewakili indeks observasi, dan sumbu Y menunjukkan nilai Cook untuk setiap titik. Garis putus-putus horizontal menunjukkan batas umum sebesar 4/n = 0.03. Sebagian besar observasi memiliki nilai Cook di bawah batas ini, menandakan kontribusi yang normal terhadap model. Namun, terdapat beberapa puncak pada indeks tertentu (misal 30-35 dan 80-85) dengan nilai Cook sekitar 0.20-0.25, yang menunjukkan observasi tersebut berpengaruh cukup kuat.

Meski ada beberapa observasi berpengaruh, jumlahnya sedikit dibandingkan total data, sehingga model regresi tetap stabil. Informasi ini penting untuk diperhatikan, karena pengaruh observasi ekstrem bisa memengaruhi koe sien regresi jika dihapus atau diperbaiki.

Bab 4 - kesimpulan

Analisis terhadap dataset airquality menunjukkan bahwa kadar ozon di New York selama musim panas 1973 sangat dipengaruhi oleh kondisi meteorologi, khususnya kecepatan angin (Wind) dan suhu udara (Temp). Dari hasil pemeriksaan data awal, diketahui bahwa variabel Ozone memiliki variasi yang besar serta distribusi yang miring ke kanan dengan banyak nilai hilang, sementara Wind dan Temp memiliki distribusi yang lebih stabil dan tidak mengandung nilai hilang, sehingga keduanya layak digunakan sebagai prediktor dalam model regresi.

Visualisasi awal melalui histogram dan scatterplot memperlihatkan bahwa Wind cenderung memiliki hubungan negatif dengan Ozone, sedangkan Temp menunjukkan hubungan positif yang cukup kuat. Hal ini dikonfirmasi oleh hasil korelasi Pearson yang menunjukkan korelasi negatif antara Wind dan Ozone, serta korelasi positif antara Temp dan Ozone. Secara fisik, fenomena ini sejalan dengan dinamika polusi udara, di mana angin yang lebih kencang akan mendispersikan ozon sehingga konsentrasinya menurun, sementara suhu tinggi mempercepat reaksi fotokimia pembentukan ozon.

Model regresi linear berganda Ozone ~ Wind + Temp menghasilkan temuan bahwa kedua variabel bebas berpengaruh signifikan terhadap kadar ozon. Koefisien regresi menunjukkan bahwa peningkatan satu unit Wind menurunkan Ozone, sementara peningkatan satu unit Temp menaikkan Ozone. Kedua pengaruh ini konsisten dengan hubungan korelasinya.

Pemeriksaan diagnostik model memperlihatkan bahwa asumsi regresi terpenuhi dengan baik. Plot Residual vs Fitted memperlihatkan pola acak tanpa bentuk kurva tertentu, menandakan linearitas dan homoskedastisitas tidak mengalami pelanggaran serius. Q–Q plot menunjukkan residual mengikuti distribusi mendekati normal. Analisis Cook’s Distance menunjukkan tidak ada pengamatan yang memberikan pengaruh berlebih.

Analisis tambahan menunjukkan bahwa tidak terdapat masalah multikolinearitas, yang dibuktikan melalui nilai VIF yang berada jauh di bawah batas kritis umum (VIF < 10). Selain itu, meskipun terdapat indikasi heteroskedastisitas ringan, perhitungan Robust Standard Error (HC1) menunjukkan bahwa koefisien Wind dan Temp tetap signifikan. Artinya, kesimpulan mengenai pengaruh kedua variabel tetap stabil dan reliabel meskipun dilakukan koreksi terhadap heteroskedastisitas.

Secara keseluruhan, analisis ini menunjukkan bahwa kecepatan angin dan suhu udara merupakan faktor penting yang mempengaruhi konsentrasi ozon, dengan arah pengaruh yang sesuai dengan teori atmosfer. Model regresi yang dibangun dapat digunakan untuk memberikan gambaran yang cukup baik mengenai bagaimana kondisi cuaca memengaruhi kualitas udara, sehingga bermanfaat untuk pemantauan dan mitigasi polusi ozon di wilayah perkotaan.