Lewati ke konten utama

Rata-Rata Winsorized: Pendekatan Tangguh untuk Menangani Outlier

Rata-rata winsorized mengurangi pengaruh outlier dengan membatasi nilai ekstrem pada persentil tertentu, sambil mempertahankan struktur keseluruhan dataset. Baca selengkapnya untuk mempelajari cara menghitung rata-rata winsorized menggunakan Python untuk latihan langsung.
Diperbarui 29 Sep 2026  · 7 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Outlier sering kali dapat menyesatkan wawasan Anda, mengubah analisis yang seharusnya bermakna menjadi kesimpulan yang menyesatkan. Data yang tidak sempurna dan berisik adalah hal yang wajar dalam skenario dunia nyata, dan winsorisasi adalah solusi praktis untuk mengurangi dampak outlier tanpa membuang data apa pun.

Artikel ini akan membahas cara kerja rata-rata winsorized, penerapannya dalam praktik, serta langkah-langkah menghitungnya menggunakan Python. Kita juga akan memahami kelebihan dan kekurangannya, membandingkannya dengan ukuran lain yang bermanfaat seperti trimmed mean, serta meninjau ukuran statistik winsorisasi lainnya.

Apa itu Rata-Rata Winsorized?

Rata-rata winsorized adalah ukuran statistik yang mengurangi dampak outlier dengan mengganti nilai-nilai ekstrem dengan persentil yang kurang ekstrem alih-alih menghapusnya sepenuhnya. Berbeda dengan mean aritmetika, yang mempertimbangkan semua titik data secara setara, rata-rata winsorized membatasi pengaruh nilai ekstrem yang dapat mendistorsi hasil keseluruhan.

Winsorisasi bekerja dengan membatasi atau mengganti nilai di luar ambang persentil tertentu. Misalnya, pada winsorisasi 5%, 5% data terendah diganti dengan nilai pada persentil ke-5, dan 5% tertinggi diganti dengan nilai pada persentil ke-95. Metode ini membantu mempertahankan struktur keseluruhan dataset sambil mengurangi efek outlier, menjadikannya alternatif yang tahan terhadap mean standar pada dataset yang mengandung nilai ekstrem.

Aplikasi praktis rata-rata winsorized

Relevansi rata-rata winsorized dalam analisis statistik terutama terlihat pada bidang-bidang yang datanya rentan terhadap distribusi yang menyimpang. Berikut beberapa area utama di mana rata-rata winsorized terbukti membantu:

  • Keuangan dan Analisis Investasi: Dataset keuangan sering berisi nilai ekstrem, seperti kejatuhan pasar atau kenaikan yang luar biasa, yang dapat mendistorsi rata-rata dan menyamarkan tren. Analis dapat menghasilkan metrik kinerja yang lebih stabil dan lebih mencerminkan perilaku pasar tipikal dengan melakukan winsorisasi pada return atau harga aset.
  • Data Ekonomi: Dalam studi makroekonomi, indikator seperti distribusi pendapatan atau kekayaan kerap menyimpang karena sejumlah kecil nilai yang sangat tinggi atau sangat rendah. Rata-rata winsorized dapat memberikan pandangan yang lebih seimbang tentang kondisi ekonomi dengan membatasi pengaruh pengamatan ekstrem tersebut.
  • Survei dan Riset Ilmu Sosial: Survei dapat menghasilkan data dengan respons ekstrem, seperti penilaian yang terlalu tinggi atau terlalu rendah. Dalam kasus seperti ini, rata-rata winsorized memberikan ukuran tendensi sentral yang lebih akurat, memastikan jawaban ekstrem tidak secara tidak proporsional memengaruhi analisis keseluruhan.
  • Riset Medis dan Biologis: Data medis, seperti luaran pasien atau hasil tes, terkadang menunjukkan nilai ekstrem karena kondisi langka atau kasus outlier. Melakukan winsorisasi pada data ini dapat membantu peneliti memperoleh gambaran yang lebih akurat tentang hasil rata-rata tanpa sepenuhnya menghapus titik data yang berpotensi berharga.

Dalam setiap aplikasi ini, rata-rata winsorized adalah alternatif yang tangguh terhadap mean standar, memungkinkan analis memperoleh wawasan yang kurang terpengaruh oleh outlier sambil mempertahankan pola data penting.

Cara Menghitung Rata-Rata Winsorized di Python

Menghitung rata-rata winsorized di Python melibatkan penggantian nilai ekstrem (outlier) dengan nilai pada persentil tertentu. Sebelum mulai, berikut ringkasan cepat langkah-langkah yang akan kita ikuti:

  • Impor pustaka dan dataset yang diperlukan.

  • Lakukan winsorisasi pada dataset menggunakan scipy.winsorize().

  • Hitung mean menggunakan numpy.mean().

Mari kita bahas detailnya dengan sebuah contoh. 

Impor pustaka dan dataset yang diperlukan

Pertama, kita akan mengimpor pustaka yang diperlukan untuk menghitung mean.

import numpy as np
from scipy.stats.mstats import winsorize

Berikutnya, kita memuat dataset, yang bisa berasal dari file CSV atau sumber data lainnya. Untuk memudahkan contoh, kita akan membuat dataset sampel menggunakan numpy.

data = np.array([10, 12, 14, 15, 16, 18, 20, 22, 24, 25, 30, 35, 40, 45, 50, 60, 70, 80, 82, 85, 90, 200])

Nilai 200 mungkin dianggap sebagai outlier dalam dataset ini berdasarkan analisis awal.

Lakukan winsorisasi pada dataset 

Fungsi winsorize() dari pustaka scipy memungkinkan Anda menentukan persentase data yang akan diwinsorisasi dari kedua ekor distribusi. Kodenya sebagai berikut:

# Winsorize 5% from both the lower and upper tails
winsorized_data = winsorize(data, limits=[0.05, 0.05])

Pada kode di atas, parameter limits=[0.05, 0.05] yang diberikan ke fungsi winsorize() mengganti 5% nilai terkecil dan 5% nilai terbesar dengan nilai pada persentil ke-5 dan ke-95, masing-masing. Kita sekarang dapat meninjau data hasil winsorisasi yang telah dibuat.

print("Original data: ", data)
print("Winsorized data: ", winsorized_data)

Keluaran akan menunjukkan bahwa outlier telah diganti:

Original data: [ 10 12 14 15 16 18 20 22 24 25 30 35 40 45 50 60 70 80 82 90 200]
Winsorized data: [ 12 12 14 15 16 18 20 22 24 25 30 35 40 45 50 60 70 80 82 90 90]

Di sini, nilai maksimum 200 telah diganti dengan 90; demikian pula, nilai ekstrem dari sisi bawah, 10, telah diganti dengan 12.

Hitung mean 

Terakhir, mari kita hitung mean dari data yang telah diwinsorisasi:

winsorized_mean = np.mean(winsorized_data)
print("Winsorized mean: ", winsorized_mean)

Keluaran sebagai berikut:

Winsorized mean: 42.5

Rata-rata winsorized telah mengurangi pengaruh nilai yang sangat tinggi dibandingkan mean biasa. Sebagai pembanding, kita dapat menghitung mean asli sebagai berikut:

original_mean = np.mean(data)
print("Original mean: ", original_mean)

Keluaran sebagai berikut:

Original mean: 47.40909090909091

Mean asli pada 47,40 sangat dipengaruhi oleh outlier, sehingga menjadi jauh lebih tinggi. Setelah melakukan winsorisasi pada nilai ekstrem, rata-rata winsorized menjadi jauh lebih rendah, yaitu 42,5, dengan pengaruh nilai ekstrem yang lebih kecil.

Rata-Rata Winsorized vs. Trimmed Mean: Perbedaan Utama

Rata-rata winsorized dan trimmed mean sama-sama merupakan metode statistik untuk mengurangi efek outlier pada mean, tetapi berbeda dalam cara menangani nilai ekstrem:

  • Rata-rata winsorized mengganti nilai ekstrem (outlier) di kedua ujung data dengan nilai terdekat dalam dataset. Metode ini tidak membuang data, melainkan menyesuaikan nilai yang paling ekstrem untuk mengurangi dampaknya.
  • Trimmed mean menghapus (memangkas) persentase titik data terendah dan tertinggi. Metode ini membuang sebagian data di kedua ujung. Dalam trimmed mean 5%, 5% titik data terkecil dan 5% titik data terbesar dikecualikan dari perhitungan mean.

Rata-rata winsorized lebih disukai ketika Anda ingin mempertahankan struktur data (yaitu, menjaga ukuran sampel tetap sama) tetapi tetap mengurangi efek nilai ekstrem. Trimmed mean lebih disukai ketika dataset mengandung outlier jelas yang ingin Anda hapus sepenuhnya dan ketika ukuran sampel yang lebih kecil setelah pemangkasan dapat diterima.

Membandingkan trimmed mean dan rata-rata winsorized di Python

Mari kita lihat bagaimana kedua metode memengaruhi dataset dan membandingkan hasilnya.

from scipy.stats import trim_mean

# Calculate the Trimmed mean by removing 5% from both tails
trimmed_mean = trim_mean(data, proportiontocut=0.05)

# Print the results
print("Original mean: ", np.mean(data))
print("Winsorized mean (5%): ", winsorized_mean)
print("Trimmed mean (5%): ", trimmed_mean)

Keluaran sebagai berikut:

Original mean: 47.40909090909091
Winsorized mean (5%): 42.5
Trimmed mean (5%): 41.65

Mean asli adalah 47,4, sangat dipengaruhi oleh outlier. Rata-rata winsorized, 42,5, dihitung dengan outlier yang diganti dengan nilai yang kurang ekstrem. Trimmed mean, ketika outlier dihapus sepenuhnya, adalah 41,65.

Mengetahui kapan menggunakan masing-masing metode

Gunakan rata-rata winsorized saat Anda ingin mempertahankan semua titik data tetapi mengurangi dampak nilai ekstrem. Ini adalah heuristik yang baik karena rata-rata winsorized berguna ketika Anda yakin outlier itu valid tetapi ingin meminimalkan pengaruhnya.

Gunakan trimmed mean saat Anda ingin menghapus outlier dari dataset sepenuhnya. Trimmed mean paling berguna ketika Anda menduga outlier bersifat keliru atau tidak mewakili distribusi data.

Ringkasan perbedaan utama

Perbedaan yang diringkas dapat ditabelkan seperti di bawah ini:

Perbedaan utama antara rata-rata winsorized vs. trimmed meanPerbedaan utama antara rata-rata winsorized vs. trimmed mean. Gambar oleh Penulis.

Rata-rata winsorized dan trimmed mean membantu menangani outlier, tetapi pilihan bergantung pada apakah Anda ingin mempertahankan atau membuang nilai ekstrem dari dataset.

Kelebihan dan Kekurangan Rata-Rata Winsorized

Walaupun proses winsorisasi merupakan pendekatan yang tangguh untuk menangani outlier, memodifikasi nilai ekstrem dapat menimbulkan kekhawatiran terkait manipulasi data. Berikut beberapa kelebihan dan kekurangan teknik ini:

Kelebihan

  • Lebih tangguh daripada mean standar di hadapan outlier: Rata-rata winsorized mengurangi dampak nilai ekstrem (outlier), sehingga memberikan tendensi sentral yang lebih stabil dan andal pada dataset yang outlier-nya dapat mendistorsi hasil.
  • Mempertahankan struktur keseluruhan dataset dengan menjaga semua titik data: Berbeda dengan trimmed mean yang membuang nilai ekstrem, rata-rata winsorized menggantinya dengan nilai yang kurang ekstrem, sehingga ukuran sampel dan struktur keseluruhan dataset tetap terjaga.
  • Lebih cocok untuk dataset kecil: Untuk dataset yang jika titik datanya dihapus (seperti pada trimming) akan menghasilkan sampel yang tidak representatif atau tidak lengkap, winsorisasi mempertahankan semua nilai sehingga dataset tetap dapat digunakan.

Kekurangan

  • Dapat memperkenalkan bias jika distribusi data dasarnya tidak simetris: Melakukan winsorisasi berdasarkan persentil tetap (misalnya 5% dari kedua sisi) dapat memperkenalkan bias jika dataset tidak terdistribusi simetris. Jika data menyimpang, winsorisasi mungkin justru mendistorsi tendensi sentral alih-alih mencerminkannya secara akurat.
  • Memerlukan pemilihan persentase winsorisasi yang cermat: Persentase data yang akan diwinsorisasi (yaitu proporsi nilai ekstrem yang dimodifikasi) sering dipilih secara arbitrer. Memilih persentase yang tidak tepat dapat gagal memitigasi dampak outlier secara memadai atau mengubah terlalu banyak nilai, sehingga mengurangi keterwakilan dataset.
  • Winsorisasi berlebihan dapat menutupi pola penting: Winsorisasi berlebihan, atau memodifikasi terlalu banyak titik data, dapat menutupi pola atau tren yang bermakna dalam data. Dalam beberapa kasus, nilai ekstrem merepresentasikan informasi yang valid dan penting (misalnya pada data keuangan, di mana outlier dapat menandakan peristiwa langka namun berdampak besar), dan menggantinya dapat menyebabkan kesimpulan yang menyesatkan.

Karena itu, penting untuk mempertimbangkan pro dan kontra penggunaan teknik ini sebelum memasukkannya ke dalam proyek analisis data kita.

Konsep Statistik Winsorized Lainnya

Karena winsorisasi adalah teknik statistik yang diterapkan pada suatu ukuran, teknik ini dapat diperluas ke ukuran statistik umum lainnya. Mari kita jelajahi beberapa ukuran lain yang dapat diterapkan winsorisasi:

  • Deviasi sampel winsorized: Versi winsorized dari standar deviasi yang mengukur sebaran dataset yang telah diwinsorisasi dengan mengganti nilai ekstrem. Dihitung sebagai akar kuadrat dari varians winsorized.
  • Varians winsorized: Padanan winsorized dari varians yang mengukur sejauh mana titik data menyimpang dari rata-rata winsorized, dengan memperhitungkan berkurangnya pengaruh outlier. Dihitung sebagai rata-rata kuadrat deviasi dari rata-rata winsorized dalam dataset yang diwinsorisasi.
  • Rentang winsorized: Selisih antara nilai maksimum dan minimum dalam dataset yang diwinsorisasi, yang lebih kecil daripada rentang asli karena penggantian outlier.
  • Kemiringan (skewness) winsorized: Mengukur asimetri distribusi dataset yang diwinsorisasi, menunjukkan apakah distribusi condong ke kiri atau kanan setelah winsorisasi. Ini membantu mengidentifikasi skewness pada dataset di mana nilai ekstrem dapat mendistorsi perhitungan skewness standar.
  • Korelasi winsorized: Versi winsorized dari korelasi Pearson yang menilai hubungan linear antara dua variabel sambil mengurangi dampak outlier pada kedua dataset.

Masing-masing ukuran winsorized ini membantu mengurangi pengaruh outlier pada analisis saat bekerja dengan data non-normal atau dataset dengan nilai ekstrem.

Kesimpulan

Tutorial ini memperkenalkan ukuran statistik untuk menangani outlier: rata-rata winsorized. Kita mempelajari konsep winsorisasi, penerapan praktisnya, dan implementasi langsung pada dataset sampel. Selanjutnya, tutorial membahas trimmed mean, implementasinya, dan bagaimana perbedaannya dengan rata-rata winsorized. Tutorial juga mengeksplorasi pro, kontra, dan konsep statistik lain yang berbasis winsorisasi. 

Seperti yang telah kita lihat, rata-rata winsorized menyeimbangkan antara membuang outlier dan mempertahankannya, sehingga menghasilkan hasil yang lebih andal pada dataset yang menyimpang. Kami mendorong Anda untuk menggunakan teknik ini dalam proyek analisis data Anda, bereksperimen dengan tingkat winsorisasi yang berbeda untuk menemukan yang paling sesuai dengan dataset tertentu.

Lihat kursus Intermediate Predictive Analytics in Python kami untuk mempelajari lebih lanjut tentang penanganan outlier dalam dataset menggunakan Python, termasuk winsorisasi. Anda juga dapat menjelajahi jalur karier Machine Learning Scientist with Python, yang merupakan cara yang bagus untuk berlatih dengan membangun beberapa model nyata.


Arunn Thevapalan's photo
Author
Arunn Thevapalan
LinkedIn
Twitter

Sebagai senior data scientist, saya merancang, mengembangkan, dan menerapkan solusi machine learning berskala besar untuk membantu bisnis membuat keputusan yang lebih baik berbasis data. Sebagai penulis di bidang data science, saya berbagi pembelajaran, saran karier, dan tutorial praktis yang mendalam.

Frequently Asked Questions

Apa itu rata-rata winsorized?

Rata-rata winsorized adalah ukuran statistik yang tangguh yang mengurangi dampak outlier dengan mengganti nilai ekstrem dengan persentil yang kurang ekstrem.

Kapan saya harus menggunakan rata-rata winsorized dibanding mean standar?

Rata-rata winsorized paling baik digunakan saat dataset Anda mengandung outlier yang dapat mendistorsi nilai rata-rata.

Apa bedanya rata-rata winsorized dengan trimmed mean?

Rata-rata winsorized mengganti outlier dengan nilai pada persentil tertentu, sedangkan trimmed mean membuang outlier sepenuhnya.

Apa kelebihan menggunakan rata-rata winsorized?

Rata-rata winsorized lebih tangguh daripada mean standar di hadapan outlier, mempertahankan struktur dataset dengan menjaga semua titik data, dan lebih cocok untuk dataset kecil. Ini memberikan pendekatan seimbang untuk mengurangi pengaruh nilai ekstrem tanpa membuang data penting.

Apa ukuran statistik winsorized lain selain mean?

Winsorisasi dapat diterapkan pada beberapa ukuran statistik, termasuk deviasi sampel winsorized, varians winsorized, rentang winsorized, kemiringan (skewness) winsorized, dan korelasi winsorized. Ukuran-ukuran ini membantu mengurangi pengaruh outlier pada berbagai aspek analisis data.

Topik
Analisis Data
Python

Belajar bersama DataCamp

Kursus

Pengantar Statistika di Python

4 jam
199.8K
Kembangkan keterampilan statistik Anda dan pelajari cara mengumpulkan, menganalisis, serta menarik kesimpulan yang akurat dari data menggunakan Python.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya