Dalam bahasa statistik, kami tertarik untuk memperkirakan beberapa parameter yang tidak diketahui tentang suatu populasi. Jika semua data telah tersedia bagi kita, kita dapat menghitung parameter secara langsung dengan mudah. Namun, kita sering kali tidak memiliki akses ke seluruh populasi (seperti halnya dengan pemilih yang melakukan pemungutan suara) atau mungkin terdapat terlalu banyak data untuk dikerjakan sehingga menjadi hambatan komputasi (seperti halnya dengan penerbangan).
Minimum, maksimum, dan median adalah bagian dari apa yang kami sebut statistik pesanan . Statistik urutan adalah nilai pada posisi tertentu dalam data numerik setelah data diurutkan ulang dalam urutan menaik.
Bagian ini akan menggunakan data untuk semua penerbangan yang
berangkat dari Kota New York pada tahun 2013. Kumpulan data ini
disediakan oleh Biro Statistik
Transportasi di Amerika Serikat. Mari kita memuat juga seperti
tidyversebiasa.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(nycflights13)
flights Kerangka dataDalam eksplorasi kami sebelumnya terhadap kerangka data ini, kami menghasilkan distribusi empiris penundaan keberangkatan. Mari kita meninjau kembali studi ini dan memvisualisasikan kembali penundaan keberangkatan.
ggplot(flights) +
geom_histogram(aes(x = dep_delay, y = after_stat(density)),
color="grey", bins = 30)
## Warning: Removed 8255 rows containing non-finite values (`stat_bin()`).
Seperti sebelumnya, kami tertarik pada sebagian besar data di sini, sehingga kami dapat mengabaikan 1,83% penerbangan dengan penundaan lebih dari 150 menit.
flights150 <- flights |>
filter(dep_delay <= 150)
ggplot(flights150) +
geom_histogram(aes(x = dep_delay, y = after_stat(density)),
color="grey", bins = 30)
Mari kita ekstrak kolom penundaan keberangkatan sebagai vektor.
dep_delays <- flights150 |> pull(dep_delay)
Sekarang setelah kita memahami statistik keteraturan, kita dapat menggunakannya untuk mengembangkan gagasan persentil . Kita juga akan mengeksplorasi konsep yang berkaitan erat yang disebut kuartil .
Anda mungkin sudah familiar dengan konsep persentil dari olahraga atau pengujian standar seperti SAT . Organisasi seperti Dewan Perguruan Tinggi banyak membahas tentang persentil – hingga menulis panduan lengkap tentang cara menafsirkannya – karena persentil merupakan indikator kinerja siswa dibandingkan dengan peserta ujian lainnya. Memang benar, persentil adalah statistik urutan lain yang memberi tahu kita sesuatu tentang peringkat suatu titik data setelah menyusun ulang elemen-elemen dalam kumpulan data. Sekarang setelah kita memahami statistik keteraturan, kita dapat menggunakannya untuk mengembangkan gagasan persentil . Kita juga akan mengeksplorasi konsep yang berkaitan erat yang disebut kuartil .
Sebelum memulai, mari kita memuat tidyverseseperti
biasa.
##install.packages("edsdata")
##library(tidyverse)
#library(edsdata)
#library(ggplot2)
Kita mungkin terkejut melihat skor minimalnya adalah 0. Beberapa wawasan tentang kursus akan mengungkapkan bahwa ada beberapa siswa yang tidak mengikuti ujian akhir (jangan menjadi salah satu dari mereka!).
Terakhir, mari kita visualisasikan distribusi skor.
#ggplot(finals) +
# geom_histogram(aes(x = grade, y = after_stat(density)),
# col="grey", fill = "darkcyan", bins = 10)
Biasanya data scientist akan menerima sampel dari populasi dasar yang tidak dapat diaksesnya. Jika dia memiliki akses ke populasi dasar, dia dapat menghitung nilai parameter secara langsung. Karena hal itu tidak mungkin, adakah cara baginya untuk menggunakan sampel yang ada untuk menghasilkan rentang nilai statistik?
Ya! Ini adalah teknik yang kami sebut resampling , yang juga dikenal sebagai bootstrap . Dalam bootstrapping, kami memperlakukan kumpulan data yang ada sebagai "populasi" dan menghasilkan sampel "baru" darinya. Tapi ada batasannya. Setiap kumpulan data sampel yang kami hasilkan harus berukuran sama dengan aslinya. Ini berarti bahwa rencana pengambilan sampel kami dilakukan dengan penggantian.
Karena sampel memiliki ukuran yang sama dengan aslinya dengan penggunaan penggantian, duplikat dan kelalaian dapat timbul. Artinya, ada item yang akan muncul berkali-kali serta ada item yang hilang. Karena melibatkan keacakan, perbedaannya bervariasi.
Bagian ini akan ditangguhkan lagi untuk penerbangan Kota New York
pada tahun 2013 dari Biro
Statistik Transportasi . Mari kita memuat juga seperti
tidyversebiasa.
library(tidyverse)
library(nycflights13)
Saat mempelajari kumpulan data ini, kami telah menghabiskan banyak
waktu untuk memeriksa penundaan keberangkatan penerbangan. Kali ini kita
akan mengalihkan perhatian kita ke variabel lain dalam tibble yang
melacak jumlah waktu yang dihabiskan penerbangan di udara, dalam
hitungan menit. Variabel tersebut disebut air_time.
Mari kita visualisasikan distribusi waktu tayang di
flights.
Ingat distribusi penundaan keberangkatan di
flights150.
ggplot(flights) +
geom_histogram(aes(x = air_time, y = after_stat(density)),
col="grey", fill = "darkcyan", bins = 20)
## Warning: Removed 9430 rows containing non-finite values (`stat_bin()`).
Seperti sebelumnya, mari berkonsentrasi pada sebagian besar data dan memfilter penerbangan mana pun yang terbang lebih dari 400 menit.
flights400 <- flights |>
filter(air_time < 400) |>
drop_na()
Kami merencanakan distribusi ini sekali lagi.
ggplot(flights400) +
geom_histogram(aes(x = air_time, y = after_stat(density)),
col="grey", fill = "darkcyan", bins = 20)
Untuk sampel mekanis, kami berasumsi bahwa kami hanya diberikan data penerbangan penampang dan mencoba memperkirakan median populasi berdasarkan sampel ini. Misalkan kita hanya diberikan data penerbangan untuk bulan September dan Oktober.
flights_sample <- flights400 |>
filter(month == 9 | month == 10)
Ada 55.522 penerbangan yang muncul di subset. Mari kita visualisasikan distribusi waktu tayang dari sampel kita.
ggplot(flights_sample) +
geom_histogram(aes(x = air_time, y = after_stat(density)),
col="grey", fill = "darkcyan", bins = 20)
7.3.5 Distribusi mean sampel Kami sekarang memiliki semua bagian untuk melakukan bootstrap. Kami akan mereplikasi proses ini berkali-kali sehingga kami dapat menyusun distribusi empiris dari semua mean sampel yang di-bootstrap. Mari kita ulangi prosesnya 10.000 kali.
Reference : https://ds4world.cs.miami.edu/quantifying-uncertainty