Pendahuluan

Analisis dokumen ini akan menjelaskan tentang berbagai eksperimen statistik dan tes signifikan yang umumnya dilakukan untuk data scientist yang menggunakan ini untuk menarik kesimpulan dari percobaan itu. Eksperimen statistik dan tes signifikan itu dirancang untuk menyelidiki hubungan antara variabel dan menentukan apakah hasil yang diamati kemungkinan disebabkan oleh efek nyata atau sekadar variasi acak. Dalam judul ini, saya akan menjelaskan data yang saya akan digunakan dan melakukan sebuah analisis percobaan dari data itu.

Data yang akan digunakan dalam analisis ini adalah “Supermarket Sales” dari kaggle. Dataset “Supermarket Sales” berisi data penjualan dari sebuah supermarket dari tiga kota tersebut. Data ini mencakup berbagai informasi seperti detail transaksi, produk yang dijual, informasi pelanggan, dan lokasi penjualan. Dataset ini umumnya digunakan untuk analisis data, visualisasi, dan pemodelan prediktif dalam konteks bisnis retail.

Dataset ini dapat digunakan untuk berbagai analisis, seperti:

  1. Analisis Penjualan: Mengetahui produk yang paling banyak terjual, cabang dengan penjualan tertinggi, atau waktu penjualan tertinggi.
  2. Analisis Pelanggan: Memahami preferensi pelanggan dalam pembelian barang di cabang tersebut berdasarkan jenis kelamin, tipe pelanggan, atau metode pembayaran.
  3. Analisis Waktu: Mengetahui pola penjualan setiap cabang berdasarkan hari, bulan, atau jam.
  4. Analisis prediksi: Membangun model prediktif untuk memperkirakan penjualan di masa depan.

Link dataset “Supermarket Sales”: https://www.kaggle.com/datasets/aungpyaeap/supermarket-sales

Uji statistik yang digunakan

A/B Testing: Bandingkan penjualan antara dua kelompok, misalnya penjualan di kota yang berbeda atau antara jenis pelanggan yang berbeda.

  1. A/B Testing (Uji A/B)
  2. Hypothesis Tests (Uji hipotesis)
  3. T-tests (Uji-t)
  4. Resampling (Pengambilan sampel ulang)
  5. Statistical Significance and p-Values
  6. Multiple Testing (Pengujian berganda)
  7. Degrees of Freedom (Derajat Kebebasan)
  8. ANOVA (Analysis of Variance)
  9. Chi-Square Test (Uji Chi-Square)

Sekarang, saya akan mulai melakukan analisis uji statistik dari dataset tersebut.

Mempersiapkan dataset Kaggle di R

Sebelum masuk ke uji statistik, kita memuat paket-paket di R, lalu kita mempersiapkan dataset tersebut di R dalam bentuk CSV.

# Memuat paket ggplot 2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(lubridate)
## Warning: package 'lubridate' was built under R version 4.4.3
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
# Memuat datasets
sales <- read.csv("C:/Users/Benhard Leroy/Downloads/supermarket_sales - Sheet1.csv")
head(sales)
##    Invoice.ID Branch      City Customer.type Gender           Product.line
## 1 750-67-8428      A    Yangon        Member Female      Health and beauty
## 2 226-31-3081      C Naypyitaw        Normal Female Electronic accessories
## 3 631-41-3108      A    Yangon        Normal   Male     Home and lifestyle
## 4 123-19-1176      A    Yangon        Member   Male      Health and beauty
## 5 373-73-7910      A    Yangon        Normal   Male      Sports and travel
## 6 699-14-3026      C Naypyitaw        Normal   Male Electronic accessories
##   Unit.price Quantity  Tax.5.    Total      Date  Time     Payment   cogs
## 1      74.69        7 26.1415 548.9715  1/5/2019 13:08     Ewallet 522.83
## 2      15.28        5  3.8200  80.2200  3/8/2019 10:29        Cash  76.40
## 3      46.33        7 16.2155 340.5255  3/3/2019 13:23 Credit card 324.31
## 4      58.22        8 23.2880 489.0480 1/27/2019 20:33     Ewallet 465.76
## 5      86.31        7 30.2085 634.3785  2/8/2019 10:37     Ewallet 604.17
## 6      85.39        7 29.8865 627.6165 3/25/2019 18:30     Ewallet 597.73
##   gross.margin.percentage gross.income Rating
## 1                4.761905      26.1415    9.1
## 2                4.761905       3.8200    9.6
## 3                4.761905      16.2155    7.4
## 4                4.761905      23.2880    8.4
## 5                4.761905      30.2085    5.3
## 6                4.761905      29.8865    4.1

Sebelum melakukan ujinya, kita penting untuk mempersiapkan data yang Anda miliki untuk bisa memahami data tersebut. Misalnya, Anda mungkin ingin melihat distribusi data atau summary statistik.

str(sales)
## 'data.frame':    1000 obs. of  17 variables:
##  $ Invoice.ID             : chr  "750-67-8428" "226-31-3081" "631-41-3108" "123-19-1176" ...
##  $ Branch                 : chr  "A" "C" "A" "A" ...
##  $ City                   : chr  "Yangon" "Naypyitaw" "Yangon" "Yangon" ...
##  $ Customer.type          : chr  "Member" "Normal" "Normal" "Member" ...
##  $ Gender                 : chr  "Female" "Female" "Male" "Male" ...
##  $ Product.line           : chr  "Health and beauty" "Electronic accessories" "Home and lifestyle" "Health and beauty" ...
##  $ Unit.price             : num  74.7 15.3 46.3 58.2 86.3 ...
##  $ Quantity               : int  7 5 7 8 7 7 6 10 2 3 ...
##  $ Tax.5.                 : num  26.14 3.82 16.22 23.29 30.21 ...
##  $ Total                  : num  549 80.2 340.5 489 634.4 ...
##  $ Date                   : chr  "1/5/2019" "3/8/2019" "3/3/2019" "1/27/2019" ...
##  $ Time                   : chr  "13:08" "10:29" "13:23" "20:33" ...
##  $ Payment                : chr  "Ewallet" "Cash" "Credit card" "Ewallet" ...
##  $ cogs                   : num  522.8 76.4 324.3 465.8 604.2 ...
##  $ gross.margin.percentage: num  4.76 4.76 4.76 4.76 4.76 ...
##  $ gross.income           : num  26.14 3.82 16.22 23.29 30.21 ...
##  $ Rating                 : num  9.1 9.6 7.4 8.4 5.3 4.1 5.8 8 7.2 5.9 ...
head(sales)
##    Invoice.ID Branch      City Customer.type Gender           Product.line
## 1 750-67-8428      A    Yangon        Member Female      Health and beauty
## 2 226-31-3081      C Naypyitaw        Normal Female Electronic accessories
## 3 631-41-3108      A    Yangon        Normal   Male     Home and lifestyle
## 4 123-19-1176      A    Yangon        Member   Male      Health and beauty
## 5 373-73-7910      A    Yangon        Normal   Male      Sports and travel
## 6 699-14-3026      C Naypyitaw        Normal   Male Electronic accessories
##   Unit.price Quantity  Tax.5.    Total      Date  Time     Payment   cogs
## 1      74.69        7 26.1415 548.9715  1/5/2019 13:08     Ewallet 522.83
## 2      15.28        5  3.8200  80.2200  3/8/2019 10:29        Cash  76.40
## 3      46.33        7 16.2155 340.5255  3/3/2019 13:23 Credit card 324.31
## 4      58.22        8 23.2880 489.0480 1/27/2019 20:33     Ewallet 465.76
## 5      86.31        7 30.2085 634.3785  2/8/2019 10:37     Ewallet 604.17
## 6      85.39        7 29.8865 627.6165 3/25/2019 18:30     Ewallet 597.73
##   gross.margin.percentage gross.income Rating
## 1                4.761905      26.1415    9.1
## 2                4.761905       3.8200    9.6
## 3                4.761905      16.2155    7.4
## 4                4.761905      23.2880    8.4
## 5                4.761905      30.2085    5.3
## 6                4.761905      29.8865    4.1
summary(sales)
##   Invoice.ID           Branch              City           Customer.type     
##  Length:1000        Length:1000        Length:1000        Length:1000       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##     Gender          Product.line         Unit.price       Quantity    
##  Length:1000        Length:1000        Min.   :10.08   Min.   : 1.00  
##  Class :character   Class :character   1st Qu.:32.88   1st Qu.: 3.00  
##  Mode  :character   Mode  :character   Median :55.23   Median : 5.00  
##                                        Mean   :55.67   Mean   : 5.51  
##                                        3rd Qu.:77.94   3rd Qu.: 8.00  
##                                        Max.   :99.96   Max.   :10.00  
##      Tax.5.            Total             Date               Time          
##  Min.   : 0.5085   Min.   :  10.68   Length:1000        Length:1000       
##  1st Qu.: 5.9249   1st Qu.: 124.42   Class :character   Class :character  
##  Median :12.0880   Median : 253.85   Mode  :character   Mode  :character  
##  Mean   :15.3794   Mean   : 322.97                                        
##  3rd Qu.:22.4453   3rd Qu.: 471.35                                        
##  Max.   :49.6500   Max.   :1042.65                                        
##    Payment               cogs        gross.margin.percentage  gross.income    
##  Length:1000        Min.   : 10.17   Min.   :4.762           Min.   : 0.5085  
##  Class :character   1st Qu.:118.50   1st Qu.:4.762           1st Qu.: 5.9249  
##  Mode  :character   Median :241.76   Median :4.762           Median :12.0880  
##                     Mean   :307.59   Mean   :4.762           Mean   :15.3794  
##                     3rd Qu.:448.90   3rd Qu.:4.762           3rd Qu.:22.4453  
##                     Max.   :993.00   Max.   :4.762           Max.   :49.6500  
##      Rating      
##  Min.   : 4.000  
##  1st Qu.: 5.500  
##  Median : 7.000  
##  Mean   : 6.973  
##  3rd Qu.: 8.500  
##  Max.   :10.000

Semua ini digunakan untuk semua pengujian tersebut.

1. A/B Testing

A/B Testing atau uji A/B adalah sebuah analisis yang membandingkan dua versi (A dan B) halaman web, aplikasi atau materi pemasaran untuk menentukan mana yang berkinerja lebih baik berdasarkan metrik tertentu. Uji ini biasanya memiliki dua varian, yaitu varian A dan varian B, hal ini mengukur mana versi yang paling sukses pada pengujiannya berdasarkan metrik utama Anda.

Untuk melakukan A/B Testing, kita mengikuti berbagai langkah. Pertama, kita akan membandingkan penjualan antara cabang A dan B.

Misalnya, kita ingin menguji apakah ada perbedaan signifikan dalam total penjualan antara dua cabang supermarket (misalnya, Cabang A dan Cabang B).Dengan itu, kita akan membuat hipotesis sebagai berikut:

  1. Hipotesis Null (H0): Tidak ada perbedaan signifikan dalam total penjualan antara Cabang A dan Cabang B.
  2. Hipotesis Alternatif (H1): Ada perbedaan signifikan dalam total penjualan antara Cabang A dan Cabang B.

Selanjutnya, kita akan filter data cabang A dan B untuk membagi data menjadi dua kelompok.

# Filter data untuk Cabang A dan Cabang B
branch_a <- sales %>% filter(Branch == "A")
branch_b <- sales %>% filter(Branch == "B")

# Lihat ringkasan statistik untuk kedua cabang
summary(branch_a$Total)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   12.69  137.49  240.83  312.35  459.34 1039.29
summary(branch_b$Total)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.64  119.94  252.88  319.87  465.59 1022.49

Selanjutnya kita akan menginput hasil A/B Testing tersebut. Dalam A/B Testing, kita harus menggunakan uji statistik lain seperti t-test untuk membantu mendapatkan jawaban A/B Testing dalam perbandingan penjualan kedua cabang.

# Filter data untuk Cabang A dan Cabang B
branch_A <- sales %>% filter(Branch == "A") %>% pull(Total)
branch_B <- sales %>% filter(Branch == "B") %>% pull(Total)

# Lihat ringkasan statistik untuk kedua cabang
t.test(branch_A, branch_B, alternative = "two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  branch_A and branch_B
## t = -0.41086, df = 666.79, p-value = 0.6813
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -43.44973  28.41278
## sample estimates:
## mean of x mean of y 
##  312.3540  319.8725

Kita menggunakan interval kepercayaan kepada 95%. Dari data di atas, kita mendapatkan: 1. Nilai t = -0.41086 2. Degrees of Freedom = 666.79 3. Nilai p = 0.6813 4. Interval kepercayaan: 95% 5. Rata-Rata x: 312.3540 6. Rata-Rata y: 319.8725

Karena nilai p > 0.05, maka kita terima H0.

Kesimpulan

Jadi, A/B Testing dari data supermaket sales itu tidak ada perbedaan signifikan dalam rata-rata penjualan antara cabang A dan cabang B.

2. Hypothesis test

Hypothesis test atau uji hipotesis adalah jenis analisis statistik yang digunakan untuk menguji sebuah asumsi Anda tentang parameter populasi. Pengujian ini digunakan untuk memperkirakan hubungan antara 2 variabel statistik.

Untuk melakukan uji hipotesis ini, kita mengikuti berbagai langkah. Pertama, kita akan menentukan apakah rata-rata penjualan dari semua cabang supermarket itu > $300? Dengan itu, kita akan membuat hipotesis sebagai berikut:

  1. Hipotesis Nol (H0): Tidak lebih dari $300.
  2. Hipotesis Alternatif (Ha): Lebih dari $300.

Selanjutnya, kita akan menginput hasilnya uji hipotesis tersebut.

# Melakukan uji t dalam uji hipotesis
t.test(sales$Total, mu = 300, alternative = "greater")
## 
##  One Sample t-test
## 
## data:  sales$Total
## t = 2.9537, df = 999, p-value = 0.001607
## alternative hypothesis: true mean is greater than 300
## 95 percent confidence interval:
##  310.1652      Inf
## sample estimates:
## mean of x 
##  322.9667

Karena nilai p < 0.05, maka kita tolak H0.

Kesimpulan

Jadi, uji hipotesis rata-rata penjualan dari semua cabang supermarket > $300.

3. T-test

T-test atau Uji-t adalah uji statistik yang digunakan untuk menguji perbedaan antara nilai rata-rata dua kelompok atau perbedaan antara nilai rata-rata satu kelompok dan nilai standar.

Untuk melakukan Uji-t, kita mengikuti berbagai langkah. Pertama kita mau menentukan sebuah hipotesis yang akan diuji. Misal, Anda ingin menguji apakah rata-rata penjualan di kota A berbeda secara signifikan dengan rata-rata penjualan di kota B. Dengan itu, kita akan membuat hipotesis sebagai berikut:

  1. Hipotesis Nol (H0): Tidak ada perbedaan signifikan dalam rata-rata penjualan antara kota A dan kota B.
  2. Hipotesis Alternatif (H1): Ada perbedaan signifikan dalam rata-rata penjualan antara kota A dan kota B.

Setelah kita menentukan uji tersebut tersebut, kita akan membagikan data tersebut menjadi dua.

# Bagi data menjadi dua kelompok
A <- sales %>% filter(City == "Yangon") %>% select(Total)
B <- sales %>% filter(City == "Mandalay") %>% select(Total)

# Uji t-test
t_test_result <- t.test(A$Total, B$Total)

# Lihat hasil uji t-test
t_test_result
## 
##  Welch Two Sample t-test
## 
## data:  A$Total and B$Total
## t = -0.41086, df = 666.79, p-value = 0.6813
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -43.44973  28.41278
## sample estimates:
## mean of x mean of y 
##  312.3540  319.8725

Kita menggunakan interval kepercayaan kepada 95%. Dari data di atas, kita mendapatkan: 1. Nilai t = -0.41086 2. Degrees of Freedom = 666.79 3. Nilai p = 0.6813 4. Interval kepercayaan: 95% 5. Rata-Rata x: 312.3540 6. Rata-Rata y: 319.8725 Karena nilai p > 0.05, maka kita terima H0.

Kesimpulan

Jadi, uji t dari data supermaket sales itu tidak ada perbedaan signifikan dalam rata-rata penjualan di kota A dan kota B.

4. Resampling

Resampling adalah pembuatan sampel baru berdasarkan satu sampel yang diamati.

Untuk melakukan Resampling, kita mengikuti berbagai langkah. Pertama, Anda akan dilakukan untuk mengubah frekuensi data time series, misalnya dari harian ke bulanan, atau untuk menyeimbangkan dataset dalam kasus klasifikasi. Berikut, kita akan memuat package yang diperlukan, paket yang digunakan adalah dplyr untuk manipulasi data dan lubridate untuk handling tanggal.

library(dplyr)
library(lubridate)

Jika dataset memiliki kolom tanggal, pastikan kolom tersebut dalam format Date.

# Ubah kolom 'Date' ke format Date
sales$Date <- as.Date(sales$Date, format="%m/%d/%Y")

Dalam resampling, kita bisa melakukan dengan dengan berbagai cara tergantung pada tujuan Anda. Misalnya, jika Anda ingin melakukan resampling dari harian ke bulanan, Anda dapat menggunakan fungsi group_by dan summarize dari dplyr.

# Resampling dari harian ke bulanan
monthly_sales <- sales %>%
  group_by(Month = floor_date(Date, "month")) %>%
  summarize(Total_Sales = sum(Total, na.rm = TRUE))

# Tampilkan hasil resampling
print(monthly_sales)
## # A tibble: 3 × 2
##   Month      Total_Sales
##   <date>           <dbl>
## 1 2019-01-01     116292.
## 2 2019-02-01      97219.
## 3 2019-03-01     109456.

Kesimpulan

Hasil dari data resampling itu, kita melihat bahwa data itu memunculkan bulan dan total penjualan untuk setiap bulan. Bulan Januari merupakan bulan yang lebih banyak total penjualan daripada bulan Febuari dan Maret.

5. Statistical Significance and p-values

Statistical significance atau signifikan data adalah sebuah analisis yang mengukur probabilitas hipotesis nol menjadi benar dibandingkan dengan tingkat ketidakpastian yang dapat diterima mengenai jawaban yang benar. Analisis itu menggunakan p-values atau nilai p untuk menunjukkan kemungkinan hasil yang terjadi itu menimbulkan efek yang banyak. Semakin kecil p-values, semakin besar signifikansi statistik dari perbedaan yang diamati.

Untuk melakukan statistical significance, kita akan menguji apakah ada perbedaan signifikan dalam total penjualan antara pelanggan laki-laki dan perempuan. Dengan itu, kita akan membuat hipotesis sebagai berikut:

  1. Hipotesis Nol (H0): Tidak ada perbedaan signifikan dalam total penjualan antara pelanggan laki-laki dan perempuan.
  2. Hipotesis Alternatif (H1): Ada perbedaan signifikan dalam total penjualan antara pelanggan laki-laki dan perempuan.

Selanjutnya, kita mulai melakukan signifikan data dengan membagikan data berdasarkan gender.

# Bagi data berdasarkan gender
sales_male <- sales %>% filter(Gender == "Male") %>% select(Total)
sales_female <- sales %>% filter(Gender == "Female") %>% select(Total)

Selanjutnya, kita melakukan uji-t dari pengujian di atas. Lalu hasilnya dilihat dari hasil p-value atau nilai p.

# Lakukan uji t
t_test_result <- t.test(sales_male$Total, sales_female$Total)
print(t_test_result)
## 
##  Welch Two Sample t-test
## 
## data:  sales_male$Total and sales_female$Total
## t = -1.5642, df = 997.34, p-value = 0.1181
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -54.799346   6.186481
## sample estimates:
## mean of x mean of y 
##  310.7892  335.0957

Jadi, nilai p itu 0.1181. Karena nilai p > 0.05, maka kita terima H0

Kesimpulan

Jadi, dalam signifikan statistik, kita melihat bahwa tidak ada perbedaan signifikan dalam total penjualan antara pelanggan laki-laki dan perempuan.

6. Multiple Testing

Multiple Testing atau pengujian berganda adalah sebuah pengujian di mana ada beberapa hipotesis yang diuji itu dilakukan secara bersamaan dalam satu analisis statistik. Masalah ini sering muncul dalam penelitian yang melibatkan banyak variabel, perbandingan kelompok, atau pengujian berulang pada data yang sama.

Untuk melakukan multiple testing, kita mengikuti berbagai langkah. Pertama, kita melakukan sebuah hipotesis. Misal, kita melakukan perbandingan rata-rata total penjualan antar cabang-cabang dengan menggunakan uji t-test. Karena kita melakukan banyak perbandingan, kita perlu mengoreksi p-value. Metode yang akan digunakan itu adalah koreksi Bonferroni dan melakukan perbandingan antara kedua metode tersebut.

Pertama, kita melakukan uji t tanpa koreksi.

# Uji t-test tanpa koreksi
t_test_results <- pairwise.t.test(sales$Total, sales$Branch, p.adjust.method = "none")
print(t_test_results)
## 
##  Pairwise comparisons using t tests with pooled SD 
## 
## data:  sales$Total and sales$Branch 
## 
##   A    B   
## B 0.69 -   
## C 0.19 0.37
## 
## P value adjustment method: none

Selanjutnya adalah uji t dengan Koreksi Bonferroni.

# Uji t-test dengan koreksi Bonferroni
t_test_results_bonferroni <- pairwise.t.test(sales$Total, sales$Branch, p.adjust.method = "bonferroni")
print(t_test_results_bonferroni)
## 
##  Pairwise comparisons using t tests with pooled SD 
## 
## data:  sales$Total and sales$Branch 
## 
##   A    B   
## B 1.00 -   
## C 0.58 1.00
## 
## P value adjustment method: bonferroni

Kesimpulan

Metode uji t tanpa koreksi itu mungkin bisa saja menemukan beberapa perbedaan yang signifikan antar cabang tersebut, tapi hal itu rentan terhadap kesalahan tipe I (false positive) karena tidak adanya koreksi untuk multiple comparisons. Sedangkan untuk koreksi Bonferroni, kita melihat bahwa perbandingan itu menunjukkan p-value yang lebih kecil dari tingkat signifikansi. Hal itu berarti kita dapat menyimpulkan bahwa terdapat perbedaan yang signifikan antar cabang. Dengan demikian, multiple testing membantu dalam mengambil keputusan yang lebih akurat dan mengurangi risiko kesalahan statistik.

7. Degree of Freedom

Dalam melakukan hitungan derajat kebebasan (degree of freedom), kita biasanya terkait derjat kebebasan itu sebagai hitungan penting dalam analisis statistik seperti uji t, ANOVA, atau regresi. Misalnya, dalam uji t, degree of freedom dihitung sebagai n - 1 (di mana n adalah jumlah sampel).

Kita memuat paket readr.

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

Sekarang, kita mulai menghitung derajat kebebasan. Misalnya, kita ingin menghitung derajat kebebasan dari uji t independen antara dua kelompok (misalnya, penjualan di kota A vs kota B).

# Contoh: Hitung degree of freedom untuk uji t
# Misalnya, kita bandingkan penjualan di Kota A dan Kota B

# Filter data untuk kedua kota
sales_city_a <- sales$Total[sales$City == "Yangon"]
sales_city_b <- sales$Total[sales$City == "Mandalay"]

# Hitung derajat kebebasan of freedom untuk uji t
n1 <- length(sales_city_a)  # Jumlah sampel di Kota A
n2 <- length(sales_city_b)  # Jumlah sampel di Kota B
df <- n1 + n2 - 2  # Degree of freedom untuk uji t independen

# Tampilkan hasil
print(df)
## [1] 670

Kesimpulan

Jadi, derajat kebebasan dari pengujian itu adalah 670.

8. ANOVA

ANOVA (Analysis of Variance) adalah sebuah uji statistik digunakan untuk membandingkan rata-rata dari dua kelompok atau lebih dengan menganalisis variansi antar kelompok dan variansi dalam kelompok.

Untuk melakukan analisis ANOVA (Analysis of Variance), kita mengikuti berbagai langkah. ANOVA digunakan untuk menguji apakah ada perbedaan signifikan antara rata-rata dari tiga atau lebih kelompok.

Sebelum melakukan ANOVA, kita membuat sebuah hipotesis ini. Kita misalkan bahwa Anda ingin melihat apakah ada perbedaan signifikan dalam penjualan berdasarkan cabang supermarket. Dengan itu, kita akan membuat hipotesis sebagai berikut:

  1. Hipotesis Nol (H0): Tidak ada perbedaan signifikan total penjualan cabang supermarket.
  2. Hipotesis Alternatif (H1): Ada perbedaan signifikan total rata-rata penjualan cabang supermarket.

Pastikan menggunakan kode “aov”

# Melakukan ANOVA
anova_result <- aov(Total ~ Branch, data = sales)
anova_result
## Call:
##    aov(formula = Total ~ Branch, data = sales)
## 
## Terms:
##                   Branch Residuals
## Sum of Squares    106988  60292151
## Deg. of Freedom        2       997
## 
## Residual standard error: 245.9137
## Estimated effects may be unbalanced
# Menampilkan hasil ANOVA
summary(anova_result)
##              Df   Sum Sq Mean Sq F value Pr(>F)
## Branch        2   106988   53494   0.885  0.413
## Residuals   997 60292151   60474

Hasilnya dari kode tersebut adalah sebagai berikut: 1. Degree of Freedom (df1, df2): 2 dan 997 2. Sum of squares: 106988 3. Mean Square: 53494 4. F-Value: 0.885 5. P-Value: 0.413 Karena nilai p > 0.05, maka kita terima H0.

Kesimpulan

Jadi, analisis ANOVA dari hipotesis tersebut itu menunjukkan bahwa tidak ada perbedaan signifikan total penjualan cabang supermarket.

9. Chi-square test

Chi-square test atau uji chi-square adalah digunakan untuk membandingkan hasil pengamatan dengan hasil yang diharapkan. Tujuannya adalah untuk menentukan apakah perbedaan antara data pengamatan dan data yang diharapkan terjadi karena kebetulan, atau karena hubungan antara variabel yang diteliti.

Untuk melakukan analisis uji chi-square, kita mengikuti berbagai langkah. Chi-square test biasanya digunakan untuk menguji hubungan antara dua variabel kategorikal.

Misalnya, kita ingin menguji apakah ada hubungan antara:

  1. Branch (cabang supermarket: A, B, C) dan
  2. Payment (metode pembayaran: Cash, Credit card, Ewallet).

Dengan itu, kita akan membuat hipotesis sebagai berikut: 1. Hipotesis Nol (H0): Tidak ada hubungan signifikan antara cabang supermarket (A,B,C) dan metode pembayaran (Cash, Credit Card, E-Wallet). 2. Hipotesis Alternatif (H1): Ada hubungan signifikan antara cabang supermarket dan metode pembayaran.

Selanjutnya, kita akan mengunakan kode untuk memilih data yang kita mau cari.

# Mengubah variabel ke tipe faktor
sales$Branch <- as.factor(sales$Branch)
sales$Payment <- as.factor(sales$Payment)

# Melihat tabel frekuensi
table(sales$Branch, sales$Payment)
##    
##     Cash Credit card Ewallet
##   A  110         104     126
##   B  110         109     113
##   C  124          98     106

Untuk bisa memunculkan hasil uji chi-square, Anda akan membuat tabel kontingensi dimana tabel ini menunjukkan distribusi frekuensi dari dua variabel kategorikal.

# Membuat tabel kontingensi
contingency_table <- table(sales$Branch, sales$Payment)
print(contingency_table)
##    
##     Cash Credit card Ewallet
##   A  110         104     126
##   B  110         109     113
##   C  124          98     106

Selanjutnya, kita akan melakukan uji chi-square dengan menggunakan fungsi chisq.test().

# Melakukan Chi-square test
chi_square_result <- chisq.test(contingency_table)

# Menampilkan hasil
print(chi_square_result)
## 
##  Pearson's Chi-squared test
## 
## data:  contingency_table
## X-squared = 3.2997, df = 4, p-value = 0.509

Hasilnya dari kode tersebut adalah sebagai berikut: 1. x-kuadrat: 3.2997 2. Derajat kebebasan (df): 4 3. P-value: 0.509 Karena nilai p > 0.05, maka kita terima H0.

Kesimpulan

Jadi, analisis uji chi-square dari hipotesis tersebut itu menunjukkan bahwa tidak ada hubungan signifikan antara cabang supermarket dan metode pembayaran.

Penutup

Jadi, inilah semua berbagai proses, analisis, dan pengujian yang dilakukan dalam dataset “Supermarket Sales”. Kami berharap bahwa analisis dokumen ini dapat membantu betapa orang yang memang akan tertarik dalam proses analisis statistik dan juga untuk kehidupan sehari-hari. Anda tidak harus menggunakan semua pengujian analsisis statistik di atas, melainkan dokumen ini menunjukkan analisis yang bisa digunakan dengan cara pengujian yang tepat.