install.packages("wooldridge")Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
(as 'lib' is unspecified)
library(wooldridge)
data("wage1", package = "wooldridge")Dalam era informasi dan teknologi yang berkembang pesat, analisis data menjadi komponen krusial dalam berbagai bidang, termasuk ekonomi, bisnis, dan ilmu sosial. Salah satu alat yang populer digunakan untuk analisis data adalah perangkat lunak statistik R. R menawarkan berbagai packages yang memungkinkan pengguna melakukan berbagai jenis analisis statistik dan visualisasi data. Salah satu paket yang terkenal dalam R adalah `wooldridge`, yang menyediakan berbagai dataset yang sering digunakan dalam analisis ekonomi.
Dalam laporan ini, kita akan menggunakan dataset `wage1` dari packages `wooldridge` untuk melakukan berbagai analisis statistik. Analisis ini meliputi distribusi normal, estimasi, uji hipotesis, analisis varians (ANOVA), regresi linear, dan peramalan. Setiap modul akan dijelaskan secara rinci untuk memberikan gambaran lengkap tentang proses dan hasil analisis.
Pastikan Anda telah menginstall dan memuat data dari packages `wooldridge`.
install.packages("wooldridge")Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
(as 'lib' is unspecified)
library(wooldridge)
data("wage1", package = "wooldridge")Kita juga akan melakukan berbagai visualisasi data dan uji statistik tambahan untuk mendapatkan pemahaman yang lebih mendalam tentang distribusi dan karakteristik data upah. Visualisasi termasuk summary data, plot, barplot, decile, quantile, autoplot, QQ plot, serta uji statistik seperti skewness, Shapiro-Wilk, dan Shapiro-Francia.
Menampilkan ringkasan statistik dasar dari dataset `wage1`, termasuk rata-rata, median, minimum, maksimum, dan kuantil dari setiap variabel.
summary(wage1) wage educ exper tenure
Min. : 0.530 Min. : 0.00 Min. : 1.00 Min. : 0.000
1st Qu.: 3.330 1st Qu.:12.00 1st Qu.: 5.00 1st Qu.: 0.000
Median : 4.650 Median :12.00 Median :13.50 Median : 2.000
Mean : 5.896 Mean :12.56 Mean :17.02 Mean : 5.105
3rd Qu.: 6.880 3rd Qu.:14.00 3rd Qu.:26.00 3rd Qu.: 7.000
Max. :24.980 Max. :18.00 Max. :51.00 Max. :44.000
nonwhite female married numdep
Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.000
1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.000
Median :0.0000 Median :0.0000 Median :1.0000 Median :1.000
Mean :0.1027 Mean :0.4791 Mean :0.6084 Mean :1.044
3rd Qu.:0.0000 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:2.000
Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :6.000
smsa northcen south west
Min. :0.0000 Min. :0.000 Min. :0.0000 Min. :0.0000
1st Qu.:0.0000 1st Qu.:0.000 1st Qu.:0.0000 1st Qu.:0.0000
Median :1.0000 Median :0.000 Median :0.0000 Median :0.0000
Mean :0.7224 Mean :0.251 Mean :0.3555 Mean :0.1692
3rd Qu.:1.0000 3rd Qu.:0.750 3rd Qu.:1.0000 3rd Qu.:0.0000
Max. :1.0000 Max. :1.000 Max. :1.0000 Max. :1.0000
construc ndurman trcommpu trade
Min. :0.00000 Min. :0.0000 Min. :0.00000 Min. :0.0000
1st Qu.:0.00000 1st Qu.:0.0000 1st Qu.:0.00000 1st Qu.:0.0000
Median :0.00000 Median :0.0000 Median :0.00000 Median :0.0000
Mean :0.04563 Mean :0.1141 Mean :0.04373 Mean :0.2871
3rd Qu.:0.00000 3rd Qu.:0.0000 3rd Qu.:0.00000 3rd Qu.:1.0000
Max. :1.00000 Max. :1.0000 Max. :1.00000 Max. :1.0000
services profserv profocc clerocc
Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.0000
1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000
Median :0.0000 Median :0.0000 Median :0.0000 Median :0.0000
Mean :0.1008 Mean :0.2586 Mean :0.3669 Mean :0.1673
3rd Qu.:0.0000 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:0.0000
Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000
servocc lwage expersq tenursq
Min. :0.0000 Min. :-0.6349 Min. : 1.0 Min. : 0.00
1st Qu.:0.0000 1st Qu.: 1.2030 1st Qu.: 25.0 1st Qu.: 0.00
Median :0.0000 Median : 1.5369 Median : 182.5 Median : 4.00
Mean :0.1407 Mean : 1.6233 Mean : 473.4 Mean : 78.15
3rd Qu.:0.0000 3rd Qu.: 1.9286 3rd Qu.: 676.0 3rd Qu.: 49.00
Max. :1.0000 Max. : 3.2181 Max. :2601.0 Max. :1936.00
Pastikan Anda telah menginstall packages `ggplot2`, `moments` dan `nortest`
install.packages("ggplot2")Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
(as 'lib' is unspecified)
library(ggplot2)
install.packages("moments")Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
(as 'lib' is unspecified)
library(moments)
install.packages("nortest")Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
(as 'lib' is unspecified)
library(nortest)Plot sederhana untuk memvisualisasikan data upah.
plot(wage1$wage, main="Plot Upah", xlab="Indeks", ylab="Upah")Barplot untuk memvisualisasikan frekuensi tingkat pendidikan.
barplot(table(wage1$educ), main="Barplot Tingkat Pendidikan", xlab="Tingkat Pendidikan", ylab="Frekuensi")Menampilkan desil (nilai yang membagi data menjadi sepuluh bagian yang sama).
deciles <- quantile(wage1$wage, probs = seq(0, 1, by = 0.1))
deciles 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
0.53 2.92 3.13 3.50 4.05 4.65 5.70 6.34 8.02 10.00 24.98
Menampilkan kuantil (nilai yang membagi data menjadi empat bagian yang sama).
quantiles <- quantile(wage1$wage)
quantiles 0% 25% 50% 75% 100%
0.53 3.33 4.65 6.88 24.98
Plot deret waktu dari data upah.
ts_data <- ts(wage1$wage, frequency = 1)
autoplot(forecast::tsclean(ts_data)) + ggtitle("Autoplot Upah")Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
QQ Plot untuk memeriksa normalitas data.
qqnorm(wage1$wage, main="QQ Plot Upah")
qqline(wage1$wage, col="red")Menghitung skewness (kemencengan) dari data upah.
skewness_wage <- skewness(wage1$wage)
skewness_wage[1] 2.007325
Uji statistik untuk memeriksa normalitas data.
shapiro_test <- shapiro.test(wage1$wage)
shapiro_test
Shapiro-Wilk normality test
data: wage1$wage
W = 0.80273, p-value < 2.2e-16
Uji statistik untuk memeriksa normalitas data, mirip dengan Shapiro-Wilk.
shapiro_francia_test <- sf.test(wage1$wage)
shapiro_francia_test
Shapiro-Francia normality test
data: wage1$wage
W = 0.8019, p-value < 2.2e-16
Distribusi normal adalah konsep dasar dalam statistik yang menggambarkan bagaimana data tersebar di sekitar rata-rata. Dalam modul ini, kita akan memvisualisasikan distribusi upah menggunakan histogram dan estimasi kepadatan kernel untuk melihat apakah data mengikuti distribusi normal.
Menggunakan dataset `wage1` dari packages `wooldridge` sebagai contoh. Kita akan melihat distribusi dari variabel `wage`.
hist(wage1$wage, main="Histogram Upah", xlab="Upah", prob=TRUE)
lines(density(wage1$wage), col="red")Histogram ini menunjukkan distribusi dari variabel `wage`. Garis merah menunjukkan estimasi kepadatan kernel yang membantu melihat pola distribusi data.
Estimasi adalah proses untuk menghitung parameter statistik dari sampel data. Kita akan menghitung rata-rata dan standar deviasi dari variabel upah untuk mendapatkan gambaran tentang pusat dan penyebaran data.
Menghitung rata-rata dan standar deviasi dari variabel `wage`.
mean_wage <- mean(wage1$wage)
sd_wage <- sd(wage1$wage)
mean_wage[1] 5.896103
sd_wage[1] 3.693086
Kode ini menghitung rata-rata (`mean`) dan standar deviasi (`sd`) dari variabel `wage`. Ini memberikan gambaran mengenai lokasi pusat dan penyebaran data.
Uji hipotesis digunakan untuk membuat keputusan berdasarkan data sampel. Kita akan melakukan uji t satu sampel untuk memeriksa apakah rata-rata upah berbeda secara signifikan dari nilai tertentu.
Melakukan uji t satu sampel untuk memeriksa apakah rata-rata variabel `wage` berbeda signifikan dari 10.
t_test_result <- t.test(wage1$wage, mu=10)
t_test_result
One Sample t-test
data: wage1$wage
t = -25.486, df = 525, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 10
95 percent confidence interval:
5.579768 6.212437
sample estimates:
mean of x
5.896103
Uji t satu sampel ini memeriksa apakah rata-rata variabel `wage` secara signifikan berbeda dari 10. Hasil uji memberikan nilai t, derajat kebebasan, dan nilai p.
ANOVA digunakan untuk membandingkan rata-rata beberapa kelompok. Dalam modul ini, kita akan melakukan ANOVA untuk memeriksa apakah terdapat perbedaan signifikan dalam upah berdasarkan tingkat pendidikan.
Melakukan ANOVA untuk memeriksa perbedaan upah berdasarkan tingkat pendidikan (variabel `educ`).
anova_result <- aov(wage ~ factor(educ), data=wage1)
summary(anova_result) Df Sum Sq Mean Sq F value Pr(>F)
factor(educ) 17 1604 94.33 8.623 <2e-16 ***
Residuals 508 5557 10.94
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Analisis Varians ini memeriksa apakah ada perbedaan signifikan dalam variabel `wage` berdasarkan tingkat pendidikan (`educ`). Hasilnya menunjukkan F-statistik dan nilai p untuk memeriksa perbedaan antara kelompok pendidikan.
Regresi linear digunakan untuk memodelkan hubungan antara dua variabel. Kita akan membuat model regresi linear sederhana untuk memeriksa hubungan antara upah dan pendidikan.
Membuat model regresi linear antara variabel `wage` dan `educ`.
lm_result <- lm(wage ~ educ, data=wage1)
summary(lm_result)
Call:
lm(formula = wage ~ educ, data = wage1)
Residuals:
Min 1Q Median 3Q Max
-5.3396 -2.1501 -0.9674 1.1921 16.6085
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.90485 0.68497 -1.321 0.187
educ 0.54136 0.05325 10.167 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.378 on 524 degrees of freedom
Multiple R-squared: 0.1648, Adjusted R-squared: 0.1632
F-statistic: 103.4 on 1 and 524 DF, p-value: < 2.2e-16
Regresi linear ini memodelkan hubungan antara variabel `wage` dan `educ`. Hasilnya memberikan informasi tentang koefisien regresi, nilai t, dan nilai p.
Peramalan adalah teknik untuk memprediksi nilai masa depan berdasarkan data historis. Kita akan menggunakan model ARIMA untuk meramalkan data upah sebagai simulasi data deret waktu.
Pastikan Anda telah menginstall packages `forecast`.
install.packages("forecast")Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
(as 'lib' is unspecified)
library(forecast)Untuk peramalan, kita akan membuat simulasi data deret waktu dari variabel `wage`.
ts_data <- ts(wage1$wage, frequency = 1)
fit <- auto.arima(ts_data)
forecast_result <- forecast(fit, h=10)
plot(forecast_result)Peramalan ini menggunakan model ARIMA otomatis untuk data deret waktu dari variabel `wage`. Hasil plot menunjukkan nilai aktual dan nilai prediksi dengan interval kepercayaan untuk 10 periode mendatang.