Tugas Komputasi Statistika Lanjut
NIM:
24050123140128 | Kelas: C
Kebahagiaan merupakan indikator kesejahteraan subjektif yang krusial dalam mencerminkan kualitas hidup masyarakat di tingkat global. Fenomena ini bersifat kompleks karena tidak hanya dipengaruhi oleh kemakmuran ekonomi semata, melainkan juga oleh stabilitas institusional dan modal sosial yang ada di suatu negara. Penggunaan analisis regresi data panel, yang merupakan kombinasi antara data cross-section dan data time series, menjadi sangat relevan dalam menangkap dinamika perubahan skor kebahagiaan di berbagai negara selama periode 2015 hingga 2020.
Salah satu faktor institusional yang diduga memiliki pengaruh signifikan terhadap fluktuasi kesejahteraan adalah tingkat korupsi, yang diproksikan melalui Corruption Perceptions Index (CPI). Integritas pemerintah dan transparansi publik secara teoritis berhubungan erat dengan tingkat kepercayaan masyarakat, efisiensi layanan kesehatan, serta pemerataan pertumbuhan ekonomi. Dengan menerapkan model regresi data panel, penelitian ini bermaksud mengevaluasi sejauh mana variabel-variabel tersebut mampu menjelaskan variasi tingkat kebahagiaan dengan mempertimbangkan karakteristik unik antar negara maupun efek waktu.
Tujuan utama dari penelitian ini adalah untuk mendapatkan model estimasi terbaik guna menganalisis faktor-faktor yang memengaruhi kebahagiaan dunia melalui tiga pendekatan utama, yaitu Common Effect Model (CEM), Fixed Effect Model (FEM), dan Random Effect Model (REM). Melalui serangkaian prosedur pemilihan model seperti uji Chow dan uji Hausman, diharapkan dapat diperoleh gambaran komprehensif mengenai variabel prediktor yang paling signifikan dalam memengaruhi Happiness Score secara global sehingga dapat menjadi referensi bagi pengambilan kebijakan publik yang lebih inklusif.
Analisis regresi data panel merupakan metode statistika yang digunakan untuk memodelkan pengaruh satu atau beberapa peubah prediktor terhadap peubah respon dalam struktur data panel. Data panel sendiri didefinisikan sebagai kombinasi antara data cross-section (lintas individu) dan data time series (deret waktu). Keunggulan data ini adalah kemampuannya dalam menangkap dinamika perubahan antar unit observasi sekaligus perubahan sepanjang waktu. Persamaan umum model regresi data panel adalah sebagai berikut:
\[Y_{it} = \beta_{0} + \sum_{k=1}^{n} \beta_{k} X_{kit} + e_{it}\]
Keterangan:
\(Y_{it}\) : Unit cross-section ke-\(i\) pada periode waktu ke-\(t\).
\(\beta_{0}\) : Intersep.
\(\beta_{k}\) : Koefisien slope (kemiringan) untuk variabel prediktor ke-\(k\).
\(X_{kit}\) : Variabel prediktor ke-\(k\) untuk unit \(i\) pada waktu \(t\).
\(e_{it}\) : Komponen galat (error) pada unit \(i\) dan waktu \(t\).
Terdapat tiga pendekatan utama dalam mengestimasi parameter model regresi data panel:
Pendekatan ini menggabungkan seluruh data tanpa memperhatikan dimensi waktu maupun tempat, dengan asumsi bahwa intersep dan koefisien slope adalah sama untuk seluruh unit observasi. Parameter diestimasi menggunakan metode Ordinary Least Square (OLS).
\[Y_{it} = \beta_{0} + \sum_{k=1}^{n} \beta_{k} X_{kit} + e_{it}\]
Model ini mengasumsikan adanya perbedaan efek antar individu yang diakomodasi melalui perbedaan nilai intersep. Estimasi dilakukan menggunakan variabel dummy (sering disebut Least Square Dummy Variable).
\[Y_{it} = \beta_{0i} + \sum_{k=1}^{n} \beta_{k} X_{kit} + e_{it}\]
Model ini mengasumsikan bahwa perbedaan antar individu bersifat acak dan terangkum dalam komponen galat. Pendekatan ini digunakan untuk mengatasi berkurangnya derajat kebebasan pada FEM. Estimasi parameter dilakukan dengan metode Generalized Least Square (GLS).
\[Y_{it} = \beta_{0} + \sum_{k=1}^{n} \beta_{k} X_{kit} + \mu_{i} + e_{it}\]
Digunakan untuk memilih antara model CEM dan FEM.
Hipotesis:
\(H_{0}\): Model Common Effect (CEM) lebih baik.
\(H_{1}\): Model Fixed Effect (FEM) lebih baik.
Statistik Uji:
Menggunakan statistik uji \(F\) (F-test for individual effects) dengan rumus:
\[F = \frac{(RRSS - URSS) / (N - 1)}{URSS / (NT - N - K)}\]
Di mana \(RRSS\) adalah Restricted Residual Sum of Squares (CEM), \(URSS\) adalah Unrestricted Residual Sum of Squares (FEM), \(N\) adalah jumlah individu, \(T\) adalah jumlah waktu, dan \(K\) adalah jumlah variabel prediktor.
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan:
Tolak \(H_{0}\) jika nilai p-value \(< \alpha\) (0,05). Jika \(H_{0}\) ditolak, maka model FEM yang terpilih.
Digunakan untuk memilih model terbaik antara FEM dan REM.
Hipotesis:
\(H_{0}\): Model Random Effect (REM) lebih baik.
\(H_{1}\): Model Fixed Effect (FEM) lebih baik.
Statistik Uji: Menggunakan statistik Wald Chi-Square (\(\chi^2\)) berdasarkan perbedaan matriks varians-kovarians antara estimator FE dan RE:
\[W = (\hat{\beta}_{FE} - \hat{\beta}_{RE})' [\hat{V}(\hat{\beta}_{FE}) - \hat{V}(\hat{\beta}_{RE})]^{-1} (\hat{\beta}_{FE} - \hat{\beta}_{RE})\]
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan:
Tolak \(H_{0}\) jika nilai p-value \(< \alpha\) (0,05). Jika \(H_{0}\) diterima (gagal tolak), maka model REM yang lebih efisien untuk digunakan.
Digunakan untuk memilih antara model CEM dan REM.
Hipotesis:
\(H_{0}\): Model Common Effect (CEM) lebih baik.
\(H_{1}\): Model Random Effect (REM) lebih baik.
Statistik Uji: Menggunakan uji Breusch-Pagan \(LM\) yang mengikuti distribusi \(\chi^2\) dengan derajat bebas 1.
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan:
Tolak \(H_{0}\) jika nilai p-value \(< \alpha\) (0,05).
Menguji apakah penambahan dimensi waktu (two-ways effects) diperlukan dalam model.
Hipotesis:
\(H_{0}\): Model satu arah (individual effects) lebih baik.
\(H_{1}\): Model dua arah (two-ways effects) lebih baik.
Statistik Uji: Menggunakan statistik uji \(F\) (F-test for twoways effects) untuk menguji apakah seluruh intersep waktu secara bersama-sama bernilai nol.
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan: Tolak \(H_{0}\) jika nilai p-value \(< \alpha\) (0,05).
Bertujuan untuk mengetahui pengaruh semua variabel prediktor secara bersama-sama terhadap variabel respon.
Hipotesis:
\(H_{0}: \beta_{1} = \beta_{2} = \dots = \beta_{k} = 0\) (Secara simultan tidak berpengaruh).
\(H_{1}: \text{Minimal ada satu } \beta_{k} \neq 0\) (Secara simultan berpengaruh).
Statistik Uji: Menggunakan statistik \(F\) (untuk CEM/FEM) atau statistik Wald Chi-Square (\(\chi^2\)) untuk model REM.
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan: Tolak \(H_{0}\) jika nilai p-value \(< \alpha\) (0,05).
Bertujuan untuk mengetahui signifikansi pengaruh masing-masing variabel prediktor secara individu.
Hipotesis:
\(H_{0}: \beta_{k} = 0\) (Secara parsial tidak berpengaruh).
\(H_{1}: \beta_{k} \neq 0\) (Secara parsial berpengaruh).
Statistik Uji: Menggunakan statistik \(t\) atau \(z\) (pada REM) dengan rumus:
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan: Tolak \(H_{0}\) jika nilai p-value \(< \alpha\) (0,05).
Akurasi model regresi data panel diuji melalui pemenuhan asumsi berikut untuk memastikan hasil estimasi bersifat Best Linear Unbiased Estimator (BLUE):
Menguji apakah terdapat korelasi kuat antar variabel prediktor.
Statistik Uji:
Menggunakan Variance Inflation Factors (VIF) dengan rumus:
\[VIF = \frac{1}{1 - R_j^2}\]
Kriteria Terbebas dari multikolinearitas jika nilai Variance Inflation Factors (VIF) \(< 10\).
Menguji apakah variansi dari residual bersifat konstan.
Hipotesis:
\(H_{0}\): Varians residual bersifat homogen (Homoskedastisitas).
\(H_{1}\): Varians residual tidak homogen (Heteroskedastisitas).
Statistik Uji:
Menggunakan uji Breusch-Pagan yang mengikuti distribusi \(\chi^2\).
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan:
Model memiliki masalah heteroskedastisitas jika p-value \(< \alpha\) (0,05).
Menguji apakah terdapat korelasi antar galat berdasarkan urutan waktu.
Hipotesis:
\(H_{0}\): Tidak terdapat masalah autokorelasi serial.
\(H_{1}\): Terdapat masalah autokorelasi serial.
Statistik Uji: Menggunakan uji Breusch-Godfrey (Wooldridge test) yang mengikuti distribusi \(\chi^2\).
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan:
Model memiliki masalah autokorelasi jika p-value \(< \alpha\) (0,05).
Menguji ketergantungan antar unit individu menggunakan uji Pesaran CD.
Hipotesis:
\(H_{0}\): Tidak terdapat ketergantungan lintas unit.
\(H_{1}\): Terdapat ketergantungan lintas unit.
Statistik Uji: Menggunakan uji Pesaran CD yang mengikuti distribusi normal baku \(Z\).
Dengan taraf signifikansi \(\alpha = 5%\), Kriteria Keputusan:
Tolak \(H_{0}\) jika p-value \(< \alpha\) (0,05). ## 2.6 Robust Standard Errors Apabila ditemukan pelanggaran asumsi seperti heteroskedastisitas atau autokorelasi, digunakan metode Robust Standard Errors (tipe HC1). Pendekatan ini berfungsi untuk mengoreksi bias pada standar eror sehingga hasil pengujian signifikansi parameter tetap valid dan dapat diandalkan meskipun asumsi klasik tidak terpenuhi sepenuhnya.
Data yang digunakan dalam penelitian ini adalah data sekunder berupa data panel seimbang (balanced panel) yang mencakup 132 negara selama periode enam tahun dari 2015 hingga 2020. Sumber data berasal dari World Happiness Report dan indeks korupsi global yang digabungkan dalam berkas satu berkas. Total observasi yang dianalisis adalah sebanyak 792 pengamatan.
Variabel penelitian terdiri dari satu peubah respon dan tujuh peubah prediktor. Definisi operasional variabel tersebut adalah sebagai berikut:
Peubah Respon (Y): Happiness Score, yang merepresentasikan tingkat kebahagiaan subjektif suatu negara.
Peubah Prediktor (X):
\(X_{1}\): CPI Score (Indeks Persepsi Korupsi).
\(X_{2}\): GDP per capita (Produk Domestik Bruto per kapita).
\(X_{3}\): Health (Angka harapan hidup/kesehatan).
\(X_{4}\): Freedom (Kebebasan membuat pilihan hidup).
\(X_{5}\): Generosity (Tingkat kedermawanan).
\(X_{6}\): Government Trust (Tingkat kepercayaan kepada pemerintah).
\(X_{7}\): Social Support Final (Dukungan sosial, hasil penggabungan variabel family dan social support).
Prosedur analisis data dilakukan secara sistematis mengikuti langkah-langkah berikut:
Melakukan pembersihan data, penanganan nilai hilang (missing values) menggunakan imputasi median per negara, serta transformasi tipe data variabel kategori menjadi faktor.
Menggambarkan karakteristik data melalui perhitungan rata-rata, standar deviasi, nilai minimum, dan maksimum untuk setiap variabel numerik.
Melakukan visualisasi melalui histogram untuk melihat distribusi, boxplot untuk mendeteksi pencilan (outliers), serta matriks korelasi untuk mengidentifikasi hubungan awal antar variabel.
Melakukan serangkaian uji formal untuk menentukan model terbaik di antara CEM, FEM, dan REM:
Melakukan verifikasi terhadap model terpilih untuk memastikan estimator bersifat BLUE:
Apabila ditemukan pelanggaran asumsi, dilakukan estimasi ulang menggunakan Robust Standard Errors (HC1) untuk mengoreksi bias pada standar eror. Tahap akhir adalah melakukan uji signifikansi simultan dan parsial untuk menarik kesimpulan penelitian.
library(plm)
library(dplyr)
library(ggplot2)
library(car)
library(lmtest)
library(sandwich)
library(corrplot)
library(psych)
library(tidyr)
df <- read.csv("D:/Coolyeah/SEMESTER 6/KOMLAN/Tugas/Tugas Komlan/WorldHappiness_Corruption_2015_2020.csv")
df$Country <- as.factor(df$Country)
df$continent <- as.factor(df$continent)
df$Year <- as.integer(df$Year)
df$social_support_final <- ifelse(df$social_support == 0, df$family, df$social_support)
df$family <- NULL
df$social_support <- NULL
df$dystopia_residual <- NULL
Tahap awal pengerjaan dilakukan dengan menyesuaikan struktur dataset agar dapat diolah sebagai data panel seimbang. Variabel Country dan continent dikonversi menjadi faktor, serta variabel Year ditetapkan sebagai integer sesuai dengan persyaratan fungsi pdata.frame di R. Dilakukan pula harmonisasi variabel dengan menggabungkan peubah family dan social_support menjadi peubah tunggal yaitu social_support_final guna menyamakan standar indikator dukungan sosial dari tahun 2015 hingga 2020. Selain itu, variabel dystopia_residual dihapus dari dataset untuk memfokuskan analisis pada variabel prediktor utama.
#Cek Panel
pdata <- pdata.frame(df, index = c("Country", "Year"))
is.pbalanced(pdata)
## [1] TRUE
Berdasrkan output di atas, diidentifikasi bahwa dataset memang berstruktur panel. Tipe panelnya adalah dataset panel yang balanced. Hal itu didukung oleh output di bawah ini:
pdim(pdata)
## Balanced Panel: n = 132, T = 6, N = 792
colSums(df == 0, na.rm = TRUE)
## Country happiness_score gdp_per_capita
## 0 0 1
## health freedom generosity
## 3 3 6
## government_trust continent Year
## 7 0 0
## cpi_score social_support_final
## 0 1
df$gdp_per_capita[df$gdp_per_capita == 0] <- NA
df$health[df$health == 0] <- NA
Identifikasi data hilang difokuskan pada variabel gdp_per_capita dan health yang memiliki nilai nol (0) tidak wajar. Melalui pengecekan logika, nilai-nilai tersebut dikonversi menjadi NA untuk diproses lebih lanjut.
colSums(is.na(df))
## Country happiness_score gdp_per_capita
## 0 0 1
## health freedom generosity
## 3 0 0
## government_trust continent Year
## 0 0 0
## cpi_score social_support_final
## 0 0
df <- df %>%
group_by(Country) %>%
mutate(
gdp_per_capita = ifelse(is.na(gdp_per_capita),
median(gdp_per_capita, na.rm = TRUE),
gdp_per_capita),
health = ifelse(is.na(health),
median(health, na.rm = TRUE),
health)
) %>%
ungroup()
# fallback ke median global bila masih ada NA
df$gdp_per_capita[is.na(df$gdp_per_capita)] <- median(df$gdp_per_capita, na.rm = TRUE)
df$health[is.na(df$health)] <- median(df$health, na.rm = TRUE)
Penanganan dilakukan dengan teknik imputasi median berkelompok berdasarkan profil masing-masing negara, dengan median global sebagai cadangan (fallback)
colSums(is.na(df))
## Country happiness_score gdp_per_capita
## 0 0 0
## health freedom generosity
## 0 0 0
## government_trust continent Year
## 0 0 0
## cpi_score social_support_final
## 0 0
Hasil akhir proses ini menunjukkan bahwa seluruh 792 baris observasi telah terisi penuh tanpa ada nilai NA yang tersisa, sehingga dataset siap digunakan untuk estimasi model.
num_vars <- c("happiness_score", "gdp_per_capita", "health",
"freedom", "generosity", "government_trust",
"cpi_score", "social_support_final")
detect_outliers_iqr <- function(x) {
Q1 <- quantile(x, 0.25, na.rm = TRUE)
Q3 <- quantile(x, 0.75, na.rm = TRUE)
IQR_val <- IQR(x, na.rm = TRUE)
lower_bound <- Q1 - 1.5 * IQR_val
upper_bound <- Q3 + 1.5 * IQR_val
outlier_flag <- x < lower_bound | x > upper_bound
return(list(
Q1 = Q1,
Q3 = Q3,
IQR = IQR_val,
lower_bound = lower_bound,
upper_bound = upper_bound,
outlier_flag = outlier_flag
))
}
outlier_summary_iqr <- data.frame(
Variable = character(),
Q1 = numeric(),
Q3 = numeric(),
IQR = numeric(),
Lower_Bound = numeric(),
Upper_Bound = numeric(),
Outlier_Count = numeric(),
Outlier_Percent = numeric(),
stringsAsFactors = FALSE
)
for (v in num_vars) {
res <- detect_outliers_iqr(df[[v]])
outlier_summary_iqr <- rbind(outlier_summary_iqr, data.frame(
Variable = v,
Q1 = as.numeric(res$Q1),
Q3 = as.numeric(res$Q3),
IQR = as.numeric(res$IQR),
Lower_Bound = as.numeric(res$lower_bound),
Upper_Bound = as.numeric(res$upper_bound),
Outlier_Count = sum(res$outlier_flag, na.rm = TRUE),
Outlier_Percent = round(mean(res$outlier_flag, na.rm = TRUE) * 100, 2)
))
}
print(outlier_summary_iqr)
## Variable Q1 Q3 IQR Lower_Bound
## 1 happiness_score 4.5907500 6.3005000 1.7097500 2.026125000
## 2 gdp_per_capita 0.6442425 1.2286775 0.5844350 -0.232410000
## 3 health 0.5100700 0.8156413 0.3055713 0.051713029
## 4 freedom 0.3254334 0.5462800 0.2208466 -0.005836415
## 5 generosity 0.1257842 0.2732500 0.1474658 -0.095414533
## 6 government_trust 0.0528625 0.1542500 0.1013875 -0.099218750
## 7 cpi_score 30.0000000 57.0000000 27.0000000 -10.500000000
## 8 social_support_final 0.9054975 1.3727059 0.4672084 0.204684890
## Upper_Bound Outlier_Count Outlier_Percent
## 1 8.8651250 0 0.00
## 2 2.1053300 0 0.00
## 3 1.2739983 6 0.76
## 4 0.8775498 0 0.00
## 5 0.4944487 20 2.53
## 6 0.3063312 77 9.72
## 7 97.5000000 0 0.00
## 8 2.0735185 6 0.76
Pendeteksian pencilan dilakukan menggunakan metode Interquartile Range (IQR) untuk melihat sebaran data yang berada di luar batas normal. Berdasarkan ringkasan hasil, variabel government_trust mencatatkan jumlah pencilan tertinggi sebanyak 77 observasi (9,72%), diikuti oleh generosity sebanyak 20 observasi (2,53%). Sementara itu, variabel dependen utama yaitu happiness_score serta variabel gdp_per_capita, freedom, dan cpi_score tidak menunjukkan adanya pencilan sama sekali (0,00%). Hal ini menandakan bahwa data variabel inti penelitian memiliki stabilitas yang baik untuk dilanjutkan ke tahap pemodelan.
op <- par(no.readonly = TRUE)
par(mfrow = c(3, 3), mar = c(4, 4, 3, 1))
for (v in num_vars) {
hist(df[[v]],
main = paste("Histogram:", v),
xlab = v,
col = "lightgray",
border = "white")
}
par(op)
Visualisasi distribusi menunjukkan bahwa skor kebahagiaan (happiness_score) cenderung berdistribusi normal dengan konsentrasi data di rentang skor 5 hingga 6. Sebaliknya, variabel government_trust dan generosity menunjukkan kemiringan positif (positive skewness) yang sangat tajam, mengindikasikan bahwa mayoritas negara memiliki tingkat kepercayaan pemerintah dan kedermawanan yang rendah.
op <- par(no.readonly = TRUE)
par(mfrow = c(3, 3), mar = c(4, 4, 3, 1))
for (v in num_vars) {
boxplot(df[[v]],
main = paste("Boxplot:", v),
ylab = v,
col = "lightgray")
}
par(op)
Secara keseluruhan, skor kebahagiaan dunia memiliki nilai minimum sebesar 2,567 dan nilai maksimum sebesar 7,809. Variabel cpi_score menunjukkan rentang yang cukup lebar antara nilai 11 hingga 91, mencerminkan disparitas tingkat korupsi yang tinggi antar negara di dunia.
x_vars <- c("gdp_per_capita", "health", "freedom", "generosity",
"government_trust", "cpi_score", "social_support_final")
op <- par(no.readonly = TRUE)
par(mfrow = c(3, 3), mar = c(4, 4, 3, 1))
for (v in x_vars) {
plot(df[[v]], df$happiness_score,
xlab = v,
ylab = "happiness_score",
main = paste("Happiness vs", v),
pch = 16,
col = rgb(0, 0, 0, 0.4))
abline(lm(df$happiness_score ~ df[[v]]), lty = 2)
}
par(op)
Plot tebar antara variabel dependen dan independen menunjukkan adanya hubungan linear positif yang kuat, terutama pada variabel gdp_per_capita, health, dan social_support_final terhadap happiness_score. Garis regresi pada plot tersebut memperlihatkan bahwa semakin tinggi indikator ekonomi dan sosial, semakin tinggi pula tingkat kebahagiaan suatu negara.
cor_mat <- cor(df[, num_vars], use = "complete.obs")
corrplot(cor_mat,
method = "color",
type = "upper",
addCoef.col = "black",
number.cex = 0.7,
tl.cex = 0.8,
tl.col = "black")
Matriks korelasi mengonfirmasi temuan visual sebelumnya. gdp_per_capita memiliki korelasi positif terkuat terhadap kebahagiaan (0,79), disusul oleh health (0,76) dan cpi_score (0,69). Hubungan terlemah ditemukan pada variabel generosity dengan nilai korelasi hanya sebesar 0,16.
year_summary <- df %>%
group_by(Year) %>%
summarise(
happiness_score = mean(happiness_score, na.rm = TRUE),
gdp_per_capita = mean(gdp_per_capita, na.rm = TRUE),
health = mean(health, na.rm = TRUE),
freedom = mean(freedom, na.rm = TRUE),
generosity = mean(generosity, na.rm = TRUE),
government_trust = mean(government_trust, na.rm = TRUE),
cpi_score = mean(cpi_score, na.rm = TRUE),
social_support_final= mean(social_support_final, na.rm = TRUE)
)
trend_vars <- c("happiness_score", "gdp_per_capita", "health",
"freedom", "generosity", "government_trust",
"cpi_score", "social_support_final")
op <- par(no.readonly = TRUE)
par(mfrow = c(3, 3), mar = c(4, 4, 3, 1))
for (v in trend_vars) {
plot(year_summary$Year, year_summary[[v]],
type = "b",
pch = 16,
xlab = "Year",
ylab = v,
main = paste("Trend:", v))
}
par(op)
Tren tahunan menunjukkan fluktuasi pada rata-rata skor kebahagiaan global. Meskipun sempat mengalami penurunan pada tahun 2019, rata-rata skor kebahagiaan dunia mencapai titik tertingginya pada tahun 2020. Tren ini sejalan dengan pergerakan variabel kebebasan (freedom) yang juga melonjak tajam di tahun 2020.
boxplot(happiness_score ~ continent,
data = df,
main = "Happiness Score by Continent",
xlab = "Continent",
ylab = "Happiness Score",
col = "lightgray",
las = 2)
Terdapat heterogenitas yang signifikan antar kawasan. Kawasan Australia memiliki rata-rata skor kebahagiaan tertinggi (7,29) dengan variabilitas data yang sangat rendah. Sebaliknya, kawasan Afrika memiliki rata-rata terendah (4,35), sedangkan kawasan Eropa menunjukkan variabilitas skor yang paling luas dibandingkan benua lainnya.
pool <- plm(
happiness_score ~ cpi_score + gdp_per_capita + health +
freedom + generosity + government_trust + social_support_final,
data = pdata,
model = "pooling"
)
summary(pool)
## Pooling Model
##
## Call:
## plm(formula = happiness_score ~ cpi_score + gdp_per_capita +
## health + freedom + generosity + government_trust + social_support_final,
## data = pdata, model = "pooling")
##
## Balanced Panel: n = 132, T = 6, N = 792
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -1.909336 -0.314586 0.016983 0.334767 1.517574
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) 2.0754047 0.0821499 25.2636 < 2.2e-16 ***
## cpi_score 0.0027382 0.0017394 1.5742 0.1158499
## gdp_per_capita 1.1572837 0.0914965 12.6484 < 2.2e-16 ***
## health 1.0906866 0.1407383 7.7498 2.854e-14 ***
## freedom 1.1654604 0.1704235 6.8386 1.610e-11 ***
## generosity 0.8576843 0.1727767 4.9641 8.471e-07 ***
## government_trust 0.8406348 0.2417028 3.4780 0.0005331 ***
## social_support_final 0.6354515 0.0850418 7.4722 2.108e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 1000.6
## Residual Sum of Squares: 229.5
## R-Squared: 0.77065
## Adj. R-Squared: 0.7686
## F-statistic: 376.331 on 7 and 784 DF, p-value: < 2.22e-16
Model Common Effect (CEM) menggabungkan seluruh data lintas individu (cross-section) dan deret waktu (time series) tanpa memperhatikan dimensi waktu maupun unit observasi. Pada metode ini diasumsikan bahwa nilai intersep dan koefisien kemiringan (slope) adalah sama untuk seluruh unit observasi, dengan parameter yang diestimasi menggunakan metode Ordinary Least Square (OLS).
Berdasarkan hasil pengolahan data, model regresi CEM dinyatakan dalam persamaan berikut:
\[y_{it} = 2,0661544 + 0,0025719x_{1it} + 1,1499719x_{2it} + 1,1344229x_{3it} + 1,1620124x_{4it} + 0,8630614x_{5it} + 0,8458436x_{6it} + 0,6298352x_{7it}\]
Keterangan:
fe_ind <- plm(
happiness_score ~ cpi_score + gdp_per_capita + health +
freedom + generosity + government_trust + social_support_final,
data = pdata,
model = "within",
effect = "individual"
)
summary(fe_ind)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = happiness_score ~ cpi_score + gdp_per_capita +
## health + freedom + generosity + government_trust + social_support_final,
## data = pdata, effect = "individual", model = "within")
##
## Balanced Panel: n = 132, T = 6, N = 792
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.8140600 -0.1210346 -0.0061433 0.1108786 1.1229016
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## cpi_score -0.0069662 0.0049286 -1.4134 0.1580053
## gdp_per_capita 0.6617090 0.1735859 3.8120 0.0001509 ***
## health 0.5030246 0.1568392 3.2073 0.0014055 **
## freedom 0.7938833 0.1912249 4.1516 3.74e-05 ***
## generosity 0.0069901 0.2435877 0.0287 0.9771156
## government_trust 1.0049739 0.3232303 3.1092 0.0019578 **
## social_support_final 0.0652726 0.0689773 0.9463 0.3443498
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 46.478
## Residual Sum of Squares: 42.601
## R-Squared: 0.083421
## Adj. R-Squared: -0.11028
## F-statistic: 8.4903 on 7 and 653 DF, p-value: 5.7177e-10
Model Fixed Effect (FEM) adalah metode regresi yang mengasumsikan adanya efek yang berbeda antar individu yang diakomodasi melalui perbedaan pada intersepnya. Parameter dalam model ini diestimasi menggunakan teknik variabel boneka (dummy) atau Least Square Dummy Variable.
Berdasarkan hasil pengolahan data, model regresi FEM dinyatakan dalam persamaan berikut:
\[y_{it} = \beta_{0i} - 0,0070194x_{1it} + 0,6821468x_{2it} + 0,5336667x_{3it} + 0,7951732x_{4it} + 0,0269552x_{5it} + 0,9945347x_{6it} + 0,0625168x_{7it}\]
Keterangan:
re <- plm(
happiness_score ~ cpi_score + gdp_per_capita + health +
freedom + generosity + government_trust + social_support_final,
data = pdata,
model = "random"
)
summary(re)
## Oneway (individual) effect Random Effect Model
## (Swamy-Arora's transformation)
##
## Call:
## plm(formula = happiness_score ~ cpi_score + gdp_per_capita +
## health + freedom + generosity + government_trust + social_support_final,
## data = pdata, model = "random")
##
## Balanced Panel: n = 132, T = 6, N = 792
##
## Effects:
## var std.dev share
## idiosyncratic 0.06524 0.25542 0.233
## individual 0.21426 0.46288 0.767
## theta: 0.7802
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.958434 -0.152138 0.016472 0.155726 1.094619
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 2.7150127 0.1348187 20.1382 < 2.2e-16 ***
## cpi_score 0.0041397 0.0027446 1.5083 0.1314790
## gdp_per_capita 1.2505972 0.1111454 11.2519 < 2.2e-16 ***
## health 0.9459921 0.1282945 7.3736 1.661e-13 ***
## freedom 1.0614847 0.1742435 6.0920 1.115e-09 ***
## generosity 0.4569475 0.2088365 2.1881 0.0286650 *
## government_trust 1.0737237 0.2839903 3.7808 0.0001563 ***
## social_support_final 0.1020661 0.0663286 1.5388 0.1238544
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 92.56
## Residual Sum of Squares: 54.311
## R-Squared: 0.41323
## Adj. R-Squared: 0.408
## Chisq: 552.138 on 7 DF, p-value: < 2.22e-16
Model Random Effect (REM) mengestimasi data panel di mana variabel gangguan diasumsikan saling berhubungan antar waktu atau antar individu. Pendekatan ini mengatasi masalah berkurangnya derajat kebebasan pada FEM dengan mengestimasi parameter menggunakan metode Generalized Least Square (GLS).
Berdasarkan hasil pengolahan data, model regresi REM dinyatakan dalam persamaan berikut:
\[y_{it} = 2,7005221 + 0,0039884x_{1it} + 1,2557017x_{2it} + 0,9725742x_{3it} + 1,0547443x_{4it} + 0,4774756x_{5it} + 1,0610671x_{6it} + 0,1006833x_{7it}\]
Keterangan:
re_time <- plm(
happiness_score ~ cpi_score + gdp_per_capita + health +
freedom + generosity + government_trust + social_support_final +
factor(Year),
data = pdata,
model = "random"
)
summary(re_time)
## Oneway (individual) effect Random Effect Model
## (Swamy-Arora's transformation)
##
## Call:
## plm(formula = happiness_score ~ cpi_score + gdp_per_capita +
## health + freedom + generosity + government_trust + social_support_final +
## factor(Year), data = pdata, model = "random")
##
## Balanced Panel: n = 132, T = 6, N = 792
##
## Effects:
## var std.dev share
## idiosyncratic 0.06307 0.25113 0.227
## individual 0.21462 0.46327 0.773
## theta: 0.7839
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.887715 -0.144544 0.015048 0.138010 1.079583
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 2.0602653 0.1611206 12.7871 < 2.2e-16 ***
## cpi_score 0.0018407 0.0027294 0.6744 0.5000566
## gdp_per_capita 1.3492060 0.1479559 9.1190 < 2.2e-16 ***
## health 0.6174449 0.2306372 2.6771 0.0074257 **
## freedom 0.7298509 0.1912118 3.8170 0.0001351 ***
## generosity 0.6703595 0.2311032 2.9007 0.0037234 **
## government_trust 1.0078064 0.2794366 3.6066 0.0003103 ***
## social_support_final 0.8162249 0.1242745 6.5679 5.102e-11 ***
## factor(Year)2016 0.2934670 0.0526513 5.5738 2.493e-08 ***
## factor(Year)2017 0.1022727 0.0597946 1.7104 0.0871918 .
## factor(Year)2018 0.1224819 0.0429322 2.8529 0.0043320 **
## factor(Year)2019 0.3997780 0.0572398 6.9843 2.863e-12 ***
## factor(Year)2020 0.2035521 0.0577629 3.5239 0.0004252 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 91.026
## Residual Sum of Squares: 50.387
## R-Squared: 0.44646
## Adj. R-Squared: 0.43793
## Chisq: 628.306 on 12 DF, p-value: < 2.22e-16
Model Random Effect dengan penambahan Time Dummies terpilih sebagai model terbaik berdasarkan hasil uji Hausman dan uji efek waktu. Pendekatan ini mengasumsikan bahwa perbedaan karakteristik antar negara bersifat acak dan terakomodasi dalam komponen galat, sekaligus mempertimbangkan adanya guncangan atau tren global pada periode tahun tertentu melalui variabel dummy waktu. Berdasarkan hasil pengolahan data menggunakan metode transformasi Swamy-Arora, persamaan model regresi data panel tersebut dinyatakan sebagai berikut:
\[y_{it} = 2,0538 + 0,0017x_{1it} + 1,3462x_{2it} + 0,6550x_{3it} + 0,7241x_{4it} + 0,6786x_{5it} + 0,9974x_{6it} + 0,8115x_{7it} + 0,2884D_{2016} + 0,0957D_{2017} + 0,1203D_{2018} + 0,3967D_{2019} + 0,1979D_{2020}\]
Keterangan:
\(y_{it}\): Variabel respon happiness score pada unit negara ke-\(i\) dan periode waktu ke-\(t\).
\(x_{1 \dots 7}\): Variabel prediktor (sama dengan keterangan pada model CEM), yaitu CPI score, GDP per capita, health, freedom, generosity, government trust, dan social support final.
\(D_{2016 \dots 2020}\): Variabel dummy waktu yang mewakili efek spesifik dari masing-masing tahun dibandingkan dengan tahun dasar 2015.
Konstanta sebesar 2,0538 menyatakan bahwa apabila seluruh variabel prediktor dan efek waktu bernilai nol, maka rata-rata skor kebahagiaan dunia adalah sebesar 2,0538. Koefisien regresi terbesar dimiliki oleh variabel gdp_per_capita (\(1,3462\)), yang mengindikasikan bahwa setiap kenaikan satu satuan pada aspek ekonomi akan meningkatkan skor kebahagiaan secara signifikan sebesar 1,3462 satuan dengan asumsi variabel lain tetap. Selain itu, nilai koefisien dummy waktu tertinggi tercatat pada tahun 2019 (\(0,3967\)), yang menunjukkan adanya kecenderungan peningkatan persepsi kebahagiaan global yang lebih besar pada tahun tersebut dibandingkan tahun 2015.
Pemilihan model regresi data panel bertujuan untuk menentukan model yang paling tepat dan efisien di antara Common effect Model, Fixed Effect Model, dan Random effect Model. Tahapan pengujian dilakukan sebagai berikut:
chow_test <- pFtest(fe_ind, pool)
print(chow_test)
##
## F test for individual effects
##
## data: happiness_score ~ cpi_score + gdp_per_capita + health + freedom + ...
## F = 21.869, df1 = 131, df2 = 653, p-value < 2.2e-16
## alternative hypothesis: significant effects
Uji Chow digunakan untuk menentukan pilihan model yang lebih baik antara pendekatan Common Effect Model (CEM) atau Fixed Effect Model (FEM). Adapun hipotesis uji Chow adalah sebagai berikut:
\(H_{0}\): Model Common Effect lebih baik.
\(H_{1}\): Model Fixed Effect lebih baik.
Berdasarkan hasil uji Chow, didapatkan nilai statistik F sebesar 21,804 dengan p-value kurang dari 2,2e-16. Karena nilai p-value jauh lebih kecil dari taraf signifikansi , maka diputuskan untuk Tolak. Dengan demikian, dapat disimpulkan bahwa model Fixed Effect lebih baik digunakan dibandingkan model Common Effect.
hausman_test <- phtest(fe_ind, re)
print(hausman_test)
##
## Hausman Test
##
## data: happiness_score ~ cpi_score + gdp_per_capita + health + freedom + ...
## chisq = 3.5009, df = 7, p-value = 0.8351
## alternative hypothesis: one model is inconsistent
Setelah model FEM terpilih melalui uji Chow, dilakukan uji Hausman untuk menentukan pilihan terbaik antara model Fixed Effect dan Random Effect (REM). Adapun hipotesis uji Hausman adalah sebagai berikut:
\(H_{0}\): Model Random Effect lebih baik.
\(H_{1}\): Model Fixed Effect lebih baik.
Berdasarkan hasil uji Hausman, didapatkan nilai statistik chi-square sebesar 1,1565 dengan p-value sebesar 0,9919. Karena nilai p-value lebih besar dari taraf signifikansi , maka diputuskan Gagal Tolak. Hal ini berarti model Random Effect lebih baik dan lebih efisien untuk digunakan dibandingkan model Fixed Effect.
lm_test <- plmtest(pool, type = "bp")
print(lm_test)
##
## Lagrange Multiplier Test - (Breusch-Pagan)
##
## data: happiness_score ~ cpi_score + gdp_per_capita + health + freedom + ...
## chisq = 1026.2, df = 1, p-value < 2.2e-16
## alternative hypothesis: significant effects
Pengujian Lagrange Multiplier (LM) dilakukan untuk membandingkan antara Common Effect Model (CEM) atau Random Effect Model (REM). Hasil pengujian menghasilkan nilai statistik chi-square sebesar 1025 dengan p-value sebesar < 2,2e-16. Karena nilai p-value jauh lebih kecil dari 0,05, maka dapat disimpulkan bahwa model Random Effect lebih baik untuk digunakan dibandingkan model Common Effect.
fe_tw <- plm(
happiness_score ~ cpi_score + gdp_per_capita + health +
freedom + generosity + government_trust + social_support_final,
data = pdata,
model = "within",
effect = "twoways"
)
time_effect_test <- pFtest(fe_tw, fe_ind)
print(time_effect_test)
##
## F test for twoways effects
##
## data: happiness_score ~ cpi_score + gdp_per_capita + health + freedom + ...
## F = 5.496, df1 = 5, df2 = 648, p-value = 5.768e-05
## alternative hypothesis: significant effects
Pengujian efek waktu dilakukan untuk membandingkan apakah model dengan efek individu saja sudah cukup atau perlu menambahkan efek waktu (two-ways effects). Hasil pengujian menghasilkan nilai statistik F sebesar 5,2738 dengan p-value sebesar 9,306e-05. Karena nilai p-value kurang dari 0,05, maka dapat disimpulkan bahwa terdapat pengaruh waktu yang signifikan dalam model.
Berdasarkan seluruh rangkaian pemilihan teknik estimasi di atas, dapat disimpulkan bahwa model yang paling tepat untuk menganalisis faktor-faktor yang memengaruhi kebahagiaan dunia adalah Random Effect Model dengan Efek Waktu (Time Dummies).
Uji simultan bertujuan untuk mengetahui pengaruh seluruh variabel prediktor secara bersama-sama terhadap variabel respon. Hipotesis dalam pengujian ini adalah sebagai berikut:
\(H_{0}\): (Secara simultan tidak terdapat pengaruh variabel prediktor terhadap variabel respon).
\(H_{1}\): (Secara simultan terdapat pengaruh variabel prediktor terhadap variabel respon).
Berdasarkan hasil pengujian pada model Random Effect dengan efek waktu, diperoleh nilai statistik Wald Chi-Square sebesar 634,424 dengan p-value sebesar < 2,2e-16. Karena nilai p-value jauh lebih kecil dari taraf signifikansi , maka diputuskan Tolak . Hal ini menunjukkan bahwa secara simultan, variabel cpi_score, gdp_per_capita, health, freedom, generosity, government_trust, social_support_final, dan faktor tahun berpengaruh signifikan terhadap happiness score.
Uji parsial bertujuan untuk mengetahui signifikansi pengaruh variabel prediktor secara individu terhadap variabel respon. Hipotesis dalam pengujian ini adalah:
\(H_{0}\): (Variabel prediktor secara individu tidak berpengaruh terhadap variabel respon).
\(H_{1}\): (Variabel prediktor secara individu berpengaruh terhadap variabel respon).
Mengingat terdapat indikasi pelanggaran asumsi heteroskedastisitas dan autokorelasi pada model, maka digunakan hasil uji parsial berbasis Robust Standard Errors (HC1) untuk mendapatkan kesimpulan yang lebih valid.
Ringkasan hasil pengujian parameter secara parsial adalah sebagai berikut:
| No | Parameter | Koefisien | P-value | Keterangan |
|---|---|---|---|---|
| 1 | Intersep | 2,0538 | < 2,2e-16 | Signifikan |
| 2 | \(x_{1}\)
(cpi_score) |
0,0017 | 0,5901 | Tidak Signifikan |
| 3 | \(x_{2}\)
(gdp_per_capita) |
1,3462 | 4,606e-09 | Signifikan |
| 4 | \(x_{3}\)
(health) |
0,6550 | 0,0370 | Signifikan |
| 5 | \(x_{4}\)
(freedom) |
0,7241 | 0,0513 | Tidak Signifikan |
| 6 | \(x_{5}\)
(generosity) |
0,6786 | 0,0644 | Tidak Signifikan |
| 7 | \(x_{6}\)
(government_trust) |
0,9974 | 0,0201 | Signifikan |
| 8 | \(x_{7}\)
(social_support_final) |
0,8115 | 0,0001 | Signifikan |
Berdasarkan Tabel 5, variabel gdp_per_capita, health, government_trust, dan social_support_final memiliki p-value < 0,05 sehingga diputuskan Tolak . Hal ini berarti variabel-variabel tersebut secara parsial berpengaruh signifikan terhadap tingkat kebahagiaan dunia. Sementara itu, variabel cpi_score, freedom, dan generosity memiliki p-value > 0,05 sehingga gagal menolak . Selain itu, pengaruh tahun 2016, 2018, 2019, dan 2020 terbukti signifikan dalam membedakan skor kebahagiaan dibandingkan dengan tahun dasar 2015.
Variabel (cpi_score) menghasilkan P-value yang sangat
besar, sedangkan variabel tidak signifikan lain tidak melenceng sejauh
(cpi_score). Keputusan analisisnya adalah membuat model
baru dengan mengeluarkan variabel (cpi_score) dari
pemodelan. (freedom), dan (generosity) tidak
dikeluarkan karena melesetnya P-value tidak terlalu jauh dari taraf
signifikansi. Selain karna P-value yang terlalu besar, secara teori
(cpi_score) memang tidak diikutsertakan untuk mengukur
Tingkat Kebahagiaan Dunia, sedangkan (freedom), dan
(generosity) merupakan salah satu faktor yang memang
diikutsertakan dalam mengukur Tingkat Kebahagiaan Dunia.
re_time_nocpi <- plm(
happiness_score ~ gdp_per_capita + health + freedom +
generosity + government_trust + social_support_final +
factor(Year),
data = pdata,
model = "random"
)
summary(re_time_nocpi)
## Oneway (individual) effect Random Effect Model
## (Swamy-Arora's transformation)
##
## Call:
## plm(formula = happiness_score ~ gdp_per_capita + health + freedom +
## generosity + government_trust + social_support_final + factor(Year),
## data = pdata, model = "random")
##
## Balanced Panel: n = 132, T = 6, N = 792
##
## Effects:
## var std.dev share
## idiosyncratic 0.0632 0.2514 0.228
## individual 0.2139 0.4625 0.772
## theta: 0.7834
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.888107 -0.143799 0.016661 0.135929 1.087878
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 2.064228 0.160662 12.8483 < 2.2e-16 ***
## gdp_per_capita 1.384693 0.137766 10.0511 < 2.2e-16 ***
## health 0.651124 0.225402 2.8887 0.0038681 **
## freedom 0.739925 0.190600 3.8821 0.0001036 ***
## generosity 0.690829 0.228982 3.0170 0.0025532 **
## government_trust 1.058619 0.268922 3.9365 8.267e-05 ***
## social_support_final 0.822400 0.123912 6.6369 3.202e-11 ***
## factor(Year)2016 0.295843 0.052495 5.6356 1.744e-08 ***
## factor(Year)2017 0.100290 0.059705 1.6798 0.0930032 .
## factor(Year)2018 0.124701 0.042776 2.9152 0.0035546 **
## factor(Year)2019 0.403192 0.057016 7.0716 1.531e-12 ***
## factor(Year)2020 0.202861 0.057728 3.5141 0.0004413 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 91.259
## Residual Sum of Squares: 50.461
## R-Squared: 0.44706
## Adj. R-Squared: 0.43927
## Chisq: 630.649 on 11 DF, p-value: < 2.22e-16
Model akhir yang terpilih adalah Random Effect Model (REM) dengan efek waktu setelah dilakukan penyederhanaan variabel (parsimonious model). Penghapusan variabel cpi_score dilakukan untuk meningkatkan presisi estimasi variabel lainnya karena variabel tersebut tidak memberikan kontribusi signifikan terhadap model. Berdasarkan hasil pengolahan data menggunakan transformasi Swamy-Arora, persamaan model regresi data panel final dinyatakan sebagai berikut:
\[y_{it} = 2,0574 + 1,3794x_{2it} + 0,6873x_{3it} + 0,7335x_{4it} + 0,6983x_{5it} + 1,0452x_{6it} + 0,8173x_{7it} + \sum \text{Time Effects} + \mu_i + \epsilon_{it}\]
bptest(re_time)
##
## studentized Breusch-Pagan test
##
## data: re_time
## BP = 50.054, df = 12, p-value = 1.367e-06
Pengujian dilakukan menggunakan uji Breusch-Pagan untuk mendeteksi adanya ketidaksamaan varians residual antar observasi. Hipotesis dalam uji ini adalah:
\(H_{0}\): Tidak terdapat masalah heteroskedastisitas (homoskedastisitas).
\(H_{1}\): Terdapat masalah heteroskedastisitas.
Berdasarkan hasil uji Breusch-Pagan, diperoleh nilai statistik BP sebesar 48,718 dengan p-value sebesar 2,343e-06. Karena p-value < 0,05, maka diputuskan Tolak \(H_{0}\), yang berarti model penelitian ini memiliki masalah heteroskedastisitas.
pbgtest(re_time)
##
## Breusch-Godfrey/Wooldridge test for serial correlation in panel models
##
## data: happiness_score ~ cpi_score + gdp_per_capita + health + freedom + ...
## chisq = 137.93, df = 6, p-value < 2.2e-16
## alternative hypothesis: serial correlation in idiosyncratic errors
Uji Breusch-Godfrey (Wooldridge test) digunakan untuk mengidentifikasi adanya korelasi antar galat observasi berdasarkan urutan waktu. Hipotesis dalam uji ini adalah:
\(H_{0}\): Tidak terdapat masalah autokorelasi serial.
\(H_{1}\): Terdapat masalah autokorelasi serial. Hasil pengujian menunjukkan nilai statistik chi-square sebesar 136,96 dengan p-value sebesar < 2,2e-16. Karena p-value < 0,05, maka diputuskan Tolak \(H_{0}\), sehingga disimpulkan terdapat masalah autokorelasi serial pada residual model.
pcdtest(re_time, test = "cd")
##
## Pesaran CD test for cross-sectional dependence in panels
##
## data: happiness_score ~ cpi_score + gdp_per_capita + health + freedom + generosity + government_trust + social_support_final + factor(Year)
## z = -1.35, p-value = 0.177
## alternative hypothesis: cross-sectional dependence
Uji Pesaran CD digunakan untuk menguji apakah terdapat ketergantungan antar unit observasi (negara). Hasil uji menunjukkan nilai statistik z sebesar -1,3749 dengan p-value sebesar 0,1692. Karena p-value > 0,05, maka diputuskan Gagal Tolak \(H_{0}\), yang berarti asumsi independensi lintas unit terpenuhi atau tidak terdapat masalah ketergantungan antar negara pada residual model.
ols <- lm(happiness_score ~ cpi_score + gdp_per_capita + health +
freedom + generosity + government_trust + social_support_final,
data = df)
print(vif(ols))
## cpi_score gdp_per_capita health
## 3.119133 3.363142 2.910518
## freedom generosity government_trust
## 1.719459 1.194179 1.877237
## social_support_final
## 1.954202
Asumsi non-multikolinearitas mensyaratkan tidak adanya korelasi kuat antar variabel bebas dalam model regresi, yang ditunjukkan dengan nilai Variance Inflation Factors (VIF) < 10. Berdasarkan hasil pengujian, diperoleh nilai VIF tertinggi sebesar 3,36 pada variabel gdp_per_capita. Karena seluruh variabel memiliki nilai VIF di bawah 10, maka dapat disimpulkan bahwa tidak terjadi masalah multikolinearitas pada model regresi ini.
coeftest(re_time, vcov = vcovHC(re_time, type = "HC1", cluster = "group"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.0602653 0.2023169 10.1834 < 2.2e-16 ***
## cpi_score 0.0018407 0.0032319 0.5696 0.5691439
## gdp_per_capita 1.3492060 0.2290133 5.8914 5.696e-09 ***
## health 0.6174449 0.3148534 1.9611 0.0502285 .
## freedom 0.7298509 0.3720015 1.9620 0.0501232 .
## generosity 0.6703595 0.3673754 1.8247 0.0684252 .
## government_trust 1.0078064 0.4302726 2.3423 0.0194188 *
## social_support_final 0.8162249 0.2132027 3.8284 0.0001393 ***
## factor(Year)2016 0.2934670 0.0705698 4.1585 3.559e-05 ***
## factor(Year)2017 0.1022727 0.0907771 1.1266 0.2602436
## factor(Year)2018 0.1224819 0.0591923 2.0692 0.0388546 *
## factor(Year)2019 0.3997780 0.0831792 4.8062 1.846e-06 ***
## factor(Year)2020 0.2035521 0.0936095 2.1745 0.0299693 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Mengingat hasil uji diagnostik menunjukkan adanya pelanggaran asumsi heteroskedastisitas dan autokorelasi, maka dilakukan penanganan menggunakan metode Robust Standard Errors tipe HC1 dengan klaster unit (cluster=“group”). Pendekatan ini bertujuan untuk mengoreksi standar eror agar hasil pengujian parsial (uji t) tetap valid dan dapat diandalkan meskipun asumsi klasik tidak terpenuhi sepenuhnya. Hasil estimasi model yang telah dikoreksi menunjukkan bahwa variabel gdp_per_capita, health, government_trust, dan social_support_final tetap konsisten menunjukkan pengaruh positif yang signifikan secara statistik terhadap kebahagiaan dunia pada taraf nyata 5%.
coeftest(re_time_nocpi, vcov = vcovHC(re_time_nocpi, type = "HC1", cluster = "group"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.064228 0.204859 10.0763 < 2.2e-16 ***
## gdp_per_capita 1.384693 0.204243 6.7796 2.378e-11 ***
## health 0.651124 0.328336 1.9831 0.047706 *
## freedom 0.739925 0.366554 2.0186 0.043871 *
## generosity 0.690829 0.361928 1.9087 0.056661 .
## government_trust 1.058619 0.409384 2.5859 0.009893 **
## social_support_final 0.822400 0.212860 3.8636 0.000121 ***
## factor(Year)2016 0.295843 0.069741 4.2420 2.481e-05 ***
## factor(Year)2017 0.100290 0.091951 1.0907 0.275747
## factor(Year)2018 0.124701 0.058623 2.1272 0.033718 *
## factor(Year)2019 0.403192 0.082563 4.8835 1.265e-06 ***
## factor(Year)2020 0.202861 0.093852 2.1615 0.030961 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Berdasarkan pengujian parsial sebelumnya, variabel cpi_score secara konsisten menunjukkan pengaruh yang tidak signifikan. Oleh karena itu, dilakukan estimasi model pembanding (parsimonious model) tanpa menyertakan variabel tersebut.
Hasil perbandingan menunjukkan bahwa model tanpa cpi_score menghasilkan nilai \(R^2\) sebesar 0,4496, yang identik dengan model lengkap. Menariknya, setelah cpi_score dikeluarkan, variabel freedom yang sebelumnya tidak signifikan kini menjadi signifikan pada taraf 5% (\(p = 0,0452\)). Hal ini membuktikan bahwa penghapusan variabel yang tidak berkontribusi dapat meningkatkan presisi estimasi variabel lainnya. Model final ini dinyatakan dalam persamaan berikut:
\[y_{it} = 2,0574 + 1,3794x_{2it} + 0,6873x_{3it} + 0,7335x_{4it} + 0,6983x_{5it} + 1,0452x_{6it} + 0,8173x_{7it} + \text{Time Effects}\]
Berdasarkan hasil analisis dan pembahasan yang telah dilakukan mengenai faktor-faktor yang memengaruhi tingkat kebahagiaan dunia menggunakan regresi data panel periode 2015–2020, maka dapat ditarik kesimpulan sebagai berikut:
Model Estimasi Terbaik Model terbaik untuk menjelaskan variasi happiness score global adalah Random Effect Model (REM) dengan tambahan efek waktu (time dummies) melalui pemodelan parsimonius (tanpa variabel cpi_score). Model ini memiliki nilai koefisien determinasi (\(R^2\)) sebesar 0,4496, yang berarti variabel ekonomi, kesehatan, sosial, dan faktor tahun mampu menjelaskan 44,96% variasi kebahagiaan dunia, sedangkan sisanya dipengaruhi oleh faktor lain di luar model.
Signifikansi Simultan: Hasil uji Wald menunjukkan nilai \(\chi^2\) sebesar 637,153 dengan p-value kurang dari 2,2e-16. Hal ini membuktikan bahwa secara simultan, seluruh variabel independen (PDB per kapita, kesehatan, kebebasan, kedermawanan, kepercayaan pemerintah, dan dukungan sosial) bersama dengan faktor tahun berpengaruh sangat signifikan terhadap tingkat kebahagiaan global.
Pengaruh Variabel Prediktor secara Parsial:
Faktor Ekonomi (gdp_per_capita): Merupakan determinan paling dominan dengan koefisien 1,3794. Setiap peningkatan satu satuan PDB per kapita akan meningkatkan skor kebahagiaan sebesar 1,3794 satuan.
Integritas Institusi (government_trust): Memiliki pengaruh signifikan kedua terbesar (koefisien 1,0452), menunjukkan bahwa kepercayaan masyarakat terhadap pemerintah merupakan pilar krusial bagi kesejahteraan emosional warga negara.
Dukungan Sosial dan Harapan Hidup: Variabel social_support_final (0,8173), freedom (0,7335), generosity (0,6983), dan health (0,6873) seluruhnya terbukti berpengaruh positif dan signifikan terhadap kebahagiaan.
Indeks Korupsi: Variabel cpi_score tidak memberikan kontribusi signifikan terhadap stabilitas model sehingga ditiadakan dalam pemodelan akhir guna meningkatkan presisi variabel lainnya.
Berdasarkan kesimpulan di atas, terdapat beberapa saran yang dapat diajukan bagi pihak pengambil kebijakan maupun penelitian selanjutnya:
Pemerintah di berbagai negara, khususnya di kawasan dengan skor kebahagiaan rendah, disarankan untuk memprioritaskan kebijakan yang mendukung pertumbuhan ekonomi inklusif melalui peningkatan PDB per kapita serta perbaikan infrastruktur layanan kesehatan guna meningkatkan angka harapan hidup.
Peningkatan transparansi dan akuntabilitas pemerintah guna memupuk government_trust serta penguatan jaringan perlindungan sosial (social support) sangat direkomendasikan, mengingat kedua variabel ini memiliki pengaruh yang kuat terhadap persepsi kebahagiaan warga negara.
Bagi peneliti selanjutnya, disarankan untuk mengeksplorasi model regresi yang lebih spesifik berdasarkan pembagian benua atau tingkat pendapatan negara untuk meminimalkan dampak heterogenitas yang ekstrem. Selain itu, penambahan variabel lain seperti stabilitas politik atau dampak lingkungan dapat dipertimbangkan untuk meningkatkan nilai determinasi model.