Analisa package wooldridge

Author

demitri fernando

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.

Install Packages dan Memuat Data

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")

Modul 1 - 4 :

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.

Summary Data

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          

Install Packages

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

Plot sederhana untuk memvisualisasikan data avgprc.

plot(fish$avgprc, main="Plot Harga Ikan Rata-Rata", xlab="Indeks", ylab="Harga Rata-Rata")

Barplot

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")

Decile

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 

Quantile

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 

Autoplot

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

QQ Plot untuk memeriksa normalitas data.

qqnorm(fish$avgprc, main="QQ Plot Harga Rata-Rata Ikan")
qqline(fish$avgprc, col="red")

Skewness

Menghitung skewness (kemencengan) dari data harga rata-rata ikan.

skewness_avgprc <- skewness(fish$avgprc)
skewness_avgprc
[1] 0.7287373

Uji Shapiro

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 Shapiro-Francia

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

Modul 5:

Distribusi Normal

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.

Modul 6:

Estimasi

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.

Modul 7:

Hipotesis

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.

Modul 8:

Analisis Varians

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.

Modul 9:

Regresi

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.

Modul 10:

Peramalan

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.