install.packages("wooldridge")Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
(as 'lib' is unspecified)
library(wooldridge)
data("fish", package = "wooldridge")Analisis Data Dari ‘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 fish 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("fish", package = "wooldridge")Kita juga akan melakukan berbagai visualisasi data dan uji statistik tambahan untuk mendapatkan pemahaman yang lebih mendalam tentang distribusi dan karakteristik data ikan. 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 fish, termasuk rata-rata, median, minimum, maksimum, dan kuantil dari setiap variabel.
summary(fish) prca prcw qtya qtyw
Min. :0.2667 Min. :0.250 Min. : 110 Min. : 60
1st Qu.:0.5833 1st Qu.:0.625 1st Qu.:1145 1st Qu.: 690
Median :0.7475 Median :0.795 Median :1885 Median :1260
Mean :0.8198 Mean :0.892 Mean :2590 Mean :1537
3rd Qu.:1.0417 3rd Qu.:1.175 3rd Qu.:3620 3rd Qu.:1935
Max. :1.9286 Max. :1.708 Max. :9120 Max. :6800
mon tues wed thurs
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.1856 Mean :0.1959 Mean :0.2062 Mean :0.2062
3rd Qu.:0.0000 3rd Qu.:0.0000 3rd Qu.:0.0000 3rd Qu.:0.0000
Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000
speed2 wave2 speed3 wave3
Min. : 5.00 Min. : 2.500 Min. :10.00 Min. : 3.000
1st Qu.:10.00 1st Qu.: 4.000 1st Qu.:15.00 1st Qu.: 3.500
Median :10.00 Median : 4.500 Median :20.00 Median : 4.500
Mean :11.98 Mean : 5.093 Mean :20.93 Mean : 5.021
3rd Qu.:15.00 3rd Qu.: 6.000 3rd Qu.:25.00 3rd Qu.: 6.000
Max. :25.00 Max. :12.500 Max. :45.00 Max. :12.500
avgprc totqty lavgprc ltotqty
Min. :0.2903 Min. : 170 Min. :-1.2370 Min. :5.136
1st Qu.:0.5969 1st Qu.: 1995 1st Qu.:-0.5160 1st Qu.:7.598
Median :0.7581 Median : 3460 Median :-0.2769 Median :8.149
Mean :0.8474 Mean : 4127 Mean :-0.2457 Mean :8.086
3rd Qu.:1.1173 3rd Qu.: 5975 3rd Qu.: 0.1109 3rd Qu.:8.695
Max. :1.7755 Max. :10940 Max. : 0.5741 Max. :9.300
t lavgp_1 gavgprc gavgp_1
Min. : 1 Min. :-1.23695 Min. :-0.764269 Min. :-0.764269
1st Qu.:25 1st Qu.:-0.51703 1st Qu.:-0.156143 1st Qu.:-0.158231
Median :49 Median :-0.28282 Median :-0.036514 Median :-0.037729
Mean :49 Mean :-0.25393 Mean : 0.009395 Mean : 0.006099
3rd Qu.:73 3rd Qu.: 0.09114 3rd Qu.: 0.160748 3rd Qu.: 0.155324
Max. :97 Max. : 0.57407 Max. : 0.756772 Max. : 0.756772
NA's :1 NA's :1 NA's :2
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 avgprc.
plot(fish$avgprc, main="Plot Harga Ikan Rata-Rata", xlab="Indeks", ylab="Harga Rata-Rata")Barplot untuk memvisualisasikan frekuensi tingkat harga rata-rata ikan.
barplot(table(fish$avgprc), main="Barplot Harga Rata-Rata Ikan", xlab="Harga Rata-Rata", ylab="Frekuensi")Menampilkan desil (nilai yang membagi data menjadi sepuluh bagian yang sama).
deciles <- quantile(fish$avgprc, probs = seq(0, 1, by = 0.1))
deciles 0% 10% 20% 30% 40% 50% 60% 70%
0.2902674 0.4513975 0.5667061 0.6249012 0.6902979 0.7581081 0.8372683 0.9620573
80% 90% 100%
1.1834234 1.3454535 1.7754868
Menampilkan kuantil (nilai yang membagi data menjadi empat bagian yang sama).
quantiles <- quantile(fish$avgprc)
quantiles 0% 25% 50% 75% 100%
0.2902674 0.5969260 0.7581081 1.1172570 1.7754868
Plot deret waktu dari data harga rata-rata ikan.
library(ggplot2)
ggplot(fish, aes(x = seq_along(avgprc), y = avgprc)) +
geom_line() +
ggtitle("Autoplot Harga Rata-Rata Ikan") +
xlab("Indeks") +
ylab("Harga Rata-Rata")QQ Plot untuk memeriksa normalitas data.
qqnorm(fish$avgprc, main="QQ Plot Harga Rata-Rata Ikan")
qqline(fish$avgprc, col="red")Menghitung skewness (kemencengan) dari data harga rata-rata ikan.
skewness_avgprc <- skewness(fish$avgprc)
skewness_avgprc[1] 0.7287373
Uji statistik untuk memeriksa normalitas data.
shapiro_test <- shapiro.test(fish$avgprc)
shapiro_test
Shapiro-Wilk normality test
data: fish$avgprc
W = 0.94017, p-value = 0.0002494
Uji statistik untuk memeriksa normalitas data, mirip dengan Shapiro-Wilk.
shapiro_francia_test <- sf.test(fish$avgprc)
shapiro_francia_test
Shapiro-Francia normality test
data: fish$avgprc
W = 0.94359, p-value = 0.0007439
Distribusi normal adalah konsep dasar dalam statistik yang menggambarkan bagaimana data tersebar di sekitar rata-rata. Dalam modul ini, kita akan memvisualisasikan distribusi harga ikan menggunakan histogram dan estimasi kepadatan kernel untuk melihat apakah data mengikuti distribusi normal.
Menggunakan dataset fish dari packages wooldridge sebagai contoh. Kita akan melihat distribusi dari variabel avgprc.
hist(fish$avgprc, main="Histogram Harga Ikan", xlab="Harga Rata-Rata", prob=TRUE)
lines(density(fish$avgprc), col="red")Histogram ini menunjukkan distribusi dari variabel avgprc. 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 harga ikan untuk mendapatkan gambaran tentang pusat dan penyebaran data.
Menghitung rata-rata dan standar deviasi dari variabel avgprc.
mean_price <- mean(fish$avgprc)
sd_price <- sd(fish$avgprc)
mean_price[1] 0.8473869
sd_price[1] 0.344057
Kode ini menghitung rata-rata (mean) dan standar deviasi (sd) dari variabel avgprc. 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 harga ikan berbeda secara signifikan dari nilai tertentu.
Melakukan uji t satu sampel untuk memeriksa apakah rata-rata variabel avgprc berbeda signifikan dari 5.
t_test_result <- t.test(fish$avgprc, mu=5)
t_test_result
One Sample t-test
data: fish$avgprc
t = -118.87, df = 96, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 5
95 percent confidence interval:
0.7780441 0.9167298
sample estimates:
mean of x
0.8473869
Uji t satu sampel ini memeriksa apakah rata-rata variabel avgprc secara signifikan berbeda dari 5. 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 harga ikan berdasarkan bulan.
Melakukan ANOVA untuk memeriksa perbedaan harga ikan berdasarkan bulan (variabel speed2).
# Contoh jika variabel 'year' tersedia
anova_result <- aov(avgprc ~ factor(speed2), data=fish)
summary(anova_result) Df Sum Sq Mean Sq F value Pr(>F)
factor(speed2) 5 1.098 0.2197 1.947 0.0941 .
Residuals 91 10.266 0.1128
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Analisis Varians ini memeriksa apakah ada perbedaan signifikan dalam variabel avgprc berdasarkan bulan (month). Hasilnya menunjukkan F-statistik dan nilai p untuk memeriksa perbedaan antara kelompok bulan.
Regresi linear digunakan untuk memodelkan hubungan antara dua variabel. Kita akan membuat model regresi linear sederhana untuk memeriksa hubungan antara harga ikan dan jumlah kapal nelayan (fishermen).
Membuat model regresi linear antara variabel avgprc dan fishermen.
lm_result <- lm(avgprc ~ speed2, data=fish)
summary(lm_result)
Call:
lm(formula = avgprc ~ speed2, data = fish)
Residuals:
Min 1Q Median 3Q Max
-0.52976 -0.24066 -0.01992 0.21029 0.86598
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.601029 0.109619 5.483 3.44e-07 ***
speed2 0.020565 0.008696 2.365 0.0201 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3361 on 95 degrees of freedom
Multiple R-squared: 0.0556, Adjusted R-squared: 0.04566
F-statistic: 5.593 on 1 and 95 DF, p-value: 0.02007
Regresi linear ini memodelkan hubungan antara variabel avgprc dan speed2. 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 harga ikan sebagai simulasi data deret waktu.
Install Packages
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)Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
Untuk peramalan, kita akan membuat simulasi data deret waktu dari variabel avgprc.
ts_data <- ts(fish$avgprc, 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 avgprc. Hasil plot menunjukkan nilai aktual dan nilai prediksi dengan interval kepercayaan untuk 10 periode mendatang.