Statistik untuk Data Science 2026: Probabilitas, Uji Hipotesis, dan Pertanyaan Wawancara

Kuasai statistik untuk wawancara data science: distribusi probabilitas, pengujian hipotesis, p-value, dan pertanyaan yang sering diajukan tahun 2026.

Statistik untuk Data Science 2026: Probabilitas, Uji Hipotesis, dan Pertanyaan Wawancara

Statistik merupakan fondasi matematis dari setiap peran data science. Pewawancara di perusahaan seperti Google, Meta, dan Netflix menguji penalaran statistik karena hal ini membedakan kandidat yang hanya bisa membangun model dari mereka yang memahami mengapa model tersebut bekerja.

Yang Dicari Pewawancara

Pertanyaan statistik menilai tiga kemampuan: menerjemahkan masalah bisnis ke dalam kerangka statistik, memilih uji yang tepat untuk data, dan menginterpretasikan hasil tanpa menarik kesimpulan berlebihan.

Distribusi Probabilitas yang Wajib Dikuasai Data Scientist

Distribusi probabilitas menggambarkan bagaimana titik data tersebar di seluruh nilai yang mungkin. Pewawancara mengharapkan kefasihan dengan distribusi ini karena mendasari sampling, A/B testing, dan asumsi model.

Distribusi normal (Gaussian) muncul di mana-mana: kesalahan pengukuran, tinggi badan, skor tes. Kurva loncengnya berpusat pada mean, dengan 68% data berada dalam satu standar deviasi, 95% dalam dua. Ketika ukuran sampel melebihi 30, Central Limit Theorem menjamin bahwa mean sampel mengikuti distribusi normal terlepas dari bentuk populasi asli.

Distribusi binomial memodelkan percobaan sukses/gagal. Click-through rate, event konversi, dan pemeriksaan kualitas lulus/gagal mengikuti pola binomial. Untuk n percobaan dengan probabilitas sukses p, expected value adalah np dan variansi adalah np(1-p).

Distribusi Poisson menghitung kejadian langka dalam interval tetap: kunjungan website per menit, cacat per batch, panggilan per jam. Parameter tunggalnya λ mewakili mean dan variansi sekaligus. Ketika kejadian terjadi secara independen dengan rata-rata konstan, Poisson cocok.

python
# distributions_demo.py
import numpy as np
from scipy import stats

# Normal: customer spend follows N(μ=50, σ=15)
normal_samples = stats.norm.rvs(loc=50, scale=15, size=1000)
prob_above_80 = 1 - stats.norm.cdf(80, loc=50, scale=15)  # P(X > 80)

# Binomial: 100 users, 5% conversion rate
binom_samples = stats.binom.rvs(n=100, p=0.05, size=1000)
prob_at_least_10 = 1 - stats.binom.cdf(9, n=100, p=0.05)  # P(X >= 10)

# Poisson: 3 support tickets per hour on average
poisson_samples = stats.poisson.rvs(mu=3, size=1000)
prob_zero_tickets = stats.poisson.pmf(0, mu=3)  # P(X = 0)

Ketiga distribusi ini menangani sebagian besar skenario praktis. Pewawancara sering menanyakan distribusi mana yang cocok dengan konteks bisnis tertentu, jadi berlatihlah memetakan masalah nyata ke model yang tepat.

Pengujian Hipotesis: Kerangka di Balik A/B Test

Pengujian hipotesis menyediakan struktur formal untuk mengambil keputusan dari data. Kerangka ini dimulai dengan hipotesis nol (H₀) yang mewakili tidak ada efek atau tidak ada perbedaan, dan hipotesis alternatif (H₁) yang mewakili apa yang ingin dideteksi eksperimen.

Hipotesis nol A/B test tipikal menyatakan: "Fitur baru tidak memiliki efek pada conversion rate." Alternatifnya mengklaim ada efek. Pengujian menghitung seberapa besar kemungkinan data yang diamati terjadi jika hipotesis nol benar.

P-value mengkuantifikasi kemungkinan ini. P-value 0.03 berarti ada 3% kemungkinan melihat hasil se-ekstrem ini jika hipotesis nol berlaku. Ketika p-value turun di bawah tingkat signifikansi (umumnya α = 0.05), hipotesis nol ditolak.

python
# ab_test_analysis.py
import numpy as np
from scipy import stats

# A/B test data: control vs treatment conversion rates
control_conversions = 120
control_visitors = 2000
treatment_conversions = 145
treatment_visitors = 2000

# Proportions
p_control = control_conversions / control_visitors  # 0.060
p_treatment = treatment_conversions / treatment_visitors  # 0.0725

# Pooled proportion under null hypothesis
p_pooled = (control_conversions + treatment_conversions) / (control_visitors + treatment_visitors)

# Standard error
se = np.sqrt(p_pooled * (1 - p_pooled) * (1/control_visitors + 1/treatment_visitors))

# Z-statistic
z_stat = (p_treatment - p_control) / se

# Two-tailed p-value
p_value = 2 * (1 - stats.norm.cdf(abs(z_stat)))

print(f"Z-statistic: {z_stat:.3f}")  # Z-statistic: 1.681
print(f"P-value: {p_value:.4f}")  # P-value: 0.0928

Dengan p-value 0.0928, pengujian ini tidak menolak hipotesis nol pada α = 0.05. Perbedaan yang diamati mungkin merupakan variasi acak. Diperlukan lebih banyak data atau effect size yang lebih besar untuk mencapai signifikansi statistik.

Error Tipe I dan Tipe II: Tradeoff yang Diuji Pewawancara

Pengujian statistik menyeimbangkan dua jenis error. Error Tipe I (false positive) terjadi ketika menolak hipotesis nol yang benar. Error Tipe II (false negative) terjadi ketika gagal menolak hipotesis nol yang salah.

Tingkat signifikansi α secara langsung mengontrol probabilitas error Tipe I. Menetapkan α = 0.05 berarti menerima 5% kemungkinan false positive. Menurunkan α ke 0.01 mengurangi false positive tetapi meningkatkan false negative.

Statistical power (1 - β) mengukur probabilitas menolak hipotesis nol yang salah dengan benar. Power bergantung pada effect size, ukuran sampel, dan tingkat signifikansi. Standar industri menargetkan 80% power, yang berarti 20% kemungkinan melewatkan efek nyata.

Jebakan Wawancara

Kandidat sering mengacaukan "tidak ada perbedaan signifikan" dengan "tidak ada perbedaan sama sekali." Gagal menolak hipotesis nol tidak membuktikan nol itu benar. Pengujian mungkin tidak memiliki power untuk mendeteksi efek kecil namun nyata.

Perhitungan ukuran sampel menyeimbangkan masalah ini. Untuk A/B test yang menargetkan kenaikan 2% dalam konversi (dari 5% ke 7%) dengan 80% power dan α = 0.05:

python
# sample_size_calculation.py
from statsmodels.stats.power import zt_ind_solve_power

# Baseline conversion: 5%, expected lift: 2 percentage points
baseline = 0.05
expected = 0.07
effect_size = (expected - baseline) / np.sqrt(baseline * (1 - baseline))  # Cohen's h

# Required sample size per group
n_per_group = zt_ind_solve_power(
    effect_size=effect_size,
    alpha=0.05,
    power=0.80,
    alternative='two-sided'
)

print(f"Sample size per group: {int(np.ceil(n_per_group))}")  # ~1,570 per group

Pengujian dengan power rendah membuang sumber daya dengan menjalankan eksperimen yang tidak dapat mendeteksi efek realistis.

Confidence Interval: Mengkuantifikasi Ketidakpastian

Confidence interval 95% berarti: jika proses sampling yang sama diulang berkali-kali, 95% dari interval yang dibangun akan mengandung parameter sebenarnya. Confidence interval mengkomunikasikan ketidakpastian lebih baik daripada estimasi titik saja.

Untuk mean dengan variansi populasi yang diketahui, interval menggunakan distribusi z. Untuk sampel kecil atau variansi tidak diketahui, distribusi t berlaku. Distribusi t memiliki ekor yang lebih berat daripada normal, menghasilkan interval yang lebih lebar yang memperhitungkan ketidakpastian tambahan.

python
# confidence_intervals.py
import numpy as np
from scipy import stats

# Sample data: response times in milliseconds
response_times = np.array([245, 312, 278, 299, 256, 334, 287, 301, 265, 289])

n = len(response_times)
mean = np.mean(response_times)  # 286.6
std_err = stats.sem(response_times)  # Standard error of the mean

# 95% confidence interval using t-distribution (df = n-1)
t_critical = stats.t.ppf(0.975, df=n-1)
margin_of_error = t_critical * std_err

ci_lower = mean - margin_of_error
ci_upper = mean + margin_of_error

print(f"Mean: {mean:.1f}ms")  # Mean: 286.6ms
print(f"95% CI: [{ci_lower:.1f}, {ci_upper:.1f}]ms")  # 95% CI: [265.4, 307.8]ms

Interval yang lebih sempit menunjukkan estimasi yang lebih presisi. Ukuran sampel mendorong presisi: melipatgandakan n empat kali memotong margin of error menjadi setengah.

Siap menguasai wawancara Data Science & ML Anda?

Berlatih dengan simulator interaktif, flashcards, dan tes teknis kami.

Bayesian vs Frequentist: Pertanyaan Wawancara tentang Filosofi Statistik

Pewawancara terkadang menguji pemahaman paradigma statistik yang bersaing. Statistik frequentist memperlakukan probabilitas sebagai frekuensi jangka panjang: parameter tetap, dan data bervariasi di seluruh eksperimen berulang. P-value dan confidence interval berasal dari tradisi ini.

Statistik Bayesian memperlakukan probabilitas sebagai derajat keyakinan: pengetahuan prior digabungkan dengan data untuk menghasilkan keyakinan posterior. Kerangka ini memungkinkan penggabungan keahlian domain dan menghasilkan pernyataan probabilitas tentang parameter secara langsung.

A/B testing semakin menggunakan metode Bayesian karena menjawab pertanyaan yang sebenarnya ditanyakan stakeholder: "Berapa probabilitas treatment B mengungguli treatment A?" bukan "Seberapa mengejutkan data ini jika tidak ada perbedaan?"

python
# bayesian_ab_test.py
import numpy as np
from scipy import stats

# Prior: Beta(1, 1) = uniform prior for conversion rate
# Posterior: Beta(alpha + successes, beta + failures)

control_successes, control_failures = 120, 1880
treatment_successes, treatment_failures = 145, 1855

# Posterior distributions
posterior_control = stats.beta(1 + control_successes, 1 + control_failures)
posterior_treatment = stats.beta(1 + treatment_successes, 1 + treatment_failures)

# Monte Carlo estimation: P(treatment > control)
samples_control = posterior_control.rvs(100000)
samples_treatment = posterior_treatment.rvs(100000)
prob_treatment_better = np.mean(samples_treatment > samples_control)

print(f"P(treatment > control): {prob_treatment_better:.2%}")  # ~95%

Hasil Bayesian berkomunikasi secara langsung: "Ada probabilitas 95% bahwa conversion rate treatment melebihi control rate." Hasil frequentist memerlukan interpretasi yang lebih hati-hati.

Pertanyaan Wawancara Umum tentang Inferensi Statistik

Pertanyaan-pertanyaan ini sering muncul dalam wawancara data science di perusahaan teknologi. Masing-masing menguji konsep statistik tertentu.

"Jelaskan Central Limit Theorem dan mengapa itu penting."

CLT menyatakan bahwa mean sampel dari populasi apa pun (dengan variansi terbatas) mendekati distribusi normal seiring meningkatnya ukuran sampel. Ini penting karena asumsi normalitas dalam pengujian hipotesis berlaku untuk sampel besar terlepas dari distribusi yang mendasarinya. Ukuran sampel 30+ biasanya cukup.

"Apa itu p-hacking dan bagaimana cara mencegahnya?"

P-hacking mengembungkan tingkat false positive dengan menguji beberapa hipotesis sampai menemukan signifikansi, atau dengan menghentikan pengumpulan data ketika hasil menjadi signifikan. Strategi pencegahan: pra-registrasi rencana analisis, terapkan koreksi perbandingan berganda (Bonferroni, FDR), dan tetapkan ukuran sampel sebelum mengumpulkan data.

"Kapan Anda akan menggunakan t-test vs Mann-Whitney U test?"

T-test mengasumsikan data terdistribusi normal (atau sampel besar via CLT) dan membandingkan mean. Mann-Whitney U adalah alternatif non-parametrik yang membandingkan distribusi tanpa asumsi normalitas. Gunakan Mann-Whitney untuk sampel kecil dengan data yang jelas tidak normal atau ketika membandingkan pengukuran ordinal.

"Bagaimana Anda menangani perbandingan berganda dalam A/B testing?"

Menguji beberapa varian mengembungkan error Tipe I. Dengan 20 perbandingan pada α = 0.05, probabilitas setidaknya satu false positive melebihi 60%. Koreksi Bonferroni membagi α dengan jumlah pengujian. Prosedur Benjamini-Hochberg mengontrol false discovery rate sambil mempertahankan power lebih banyak daripada Bonferroni.

Simpson's Paradox: Topik Favorit Pewawancara

Simpson's paradox terjadi ketika tren dalam data agregat berbalik di tingkat subgrup. Pewawancara menyukai topik ini karena menguji penalaran kausal, bukan hanya mekanika statistik.

Contoh klasik: Rumah Sakit A memiliki tingkat kematian keseluruhan yang lebih tinggi daripada Rumah Sakit B. Tetapi Rumah Sakit A memiliki kematian lebih rendah untuk kasus ringan dan berat. Paradoks muncul karena Rumah Sakit A menangani lebih banyak kasus berat, yang memiliki kematian lebih tinggi terlepas dari kualitas rumah sakit.

python
# simpsons_paradox.py
import pandas as pd

# Hospital mortality data
data = {
    'Hospital': ['A', 'A', 'B', 'B'],
    'Severity': ['Mild', 'Severe', 'Mild', 'Severe'],
    'Patients': [200, 800, 800, 200],
    'Deaths': [10, 160, 48, 50]
}
df = pd.DataFrame(data)
df['Mortality'] = df['Deaths'] / df['Patients']

# Subgroup mortality
print(df[['Hospital', 'Severity', 'Mortality']])
# Hospital A: Mild 5%, Severe 20%
# Hospital B: Mild 6%, Severe 25%

# Aggregate mortality
agg = df.groupby('Hospital').agg({'Deaths': 'sum', 'Patients': 'sum'})
agg['Mortality'] = agg['Deaths'] / agg['Patients']
print(agg['Mortality'])
# Hospital A: 17%, Hospital B: 9.8%

Resolusi memerlukan identifikasi variabel perancu (tingkat keparahan) dan menganalisis subgrup secara terpisah. Analisis agregat menyesatkan ketika proporsi subgrup berbeda.

Konsep Statistik untuk Feature Engineering

Pengetahuan statistik secara langsung meningkatkan feature engineering. Memahami distribusi memandu transformasi; memahami hubungan memandu pembuatan fitur.

Skewness mengukur asimetri distribusi. Data right-skewed (pendapatan, harga) mendapat manfaat dari transformasi log yang menormalkan distribusi dan meningkatkan performa model. Data left-skewed menggunakan transformasi kuadrat atau eksponensial.

Korelasi mengkuantifikasi hubungan linear. Korelasi Pearson mengasumsikan normalitas dan linearitas. Korelasi Spearman menangani hubungan non-linear monotonik. Fitur yang sangat berkorelasi menyebabkan multikolinearitas dalam model linear, jadi satu biasanya dihapus.

Outlier mempengaruhi mean dan standar deviasi secara tidak proporsional. Statistik robust (median, IQR) tahan terhadap pengaruh outlier. Keputusan: hapus, batasi, atau transformasi outlier tergantung pada apakah mereka mewakili error atau nilai ekstrem yang asli.

Untuk informasi lebih lanjut tentang penerapan konsep ini ke model machine learning, lihat panduan wawancara feature engineering dan jelajahi modul praktik statistik inferensial.

Mulai berlatih!

Uji pengetahuan Anda dengan simulator wawancara dan tes teknis kami.

Yang Membedakan Kandidat Kuat dalam Pertanyaan Statistik

Kompetensi statistik dalam wawancara data science memerlukan lebih dari definisi buku teks. Kandidat kuat menunjukkan kemampuan-kemampuan berikut:

  • Menghubungkan statistik dengan hasil bisnis: membingkai hasil A/B test dalam hal dampak pendapatan atau engagement pengguna, bukan hanya p-value
  • Mengetahui asumsi: setiap pengujian memiliki kondisi (independensi, normalitas, variansi sama) dan kandidat harus menyatakan kapan kondisi tersebut mungkin gagal
  • Mengkuantifikasi ketidakpastian: estimasi titik tanpa confidence interval atau credible interval membuat stakeholder menebak tentang reliabilitas
  • Mengenali batasan kausalitas: data observasional menunjukkan korelasi, dan kandidat harus mengartikulasikan desain eksperimental apa yang akan menetapkan kausalitas
  • Memilih pengujian yang tepat: mencocokkan tipe data (kontinu vs kategorikal), ukuran sampel, dan pertanyaan penelitian dengan metode statistik yang sesuai
  • Mengkomunikasikan hasil dengan jelas: menerjemahkan temuan statistik menjadi rekomendasi yang dapat ditindaklanjuti yang dapat dipahami dan ditindaklanjuti oleh stakeholder non-teknis
Tantangan harian

Bisakah kamu menemukan bug di Data Science & ML?

Satu potongan kode nyata, satu bug tersembunyi, satu percobaan per hari. Tanpa akun untuk mencoba.

Anthony Fillion-Maillet

Ditulis oleh

Anthony Fillion-Maillet

Pendiri SharpSkill

Developer fullstack selama lebih dari 10 tahun. Ia menjalankan SharpSkill dan bertanggung jawab atas semua yang diterbitkan di sini.

Diperbarui 21 Agustus 2026

Bagikan

Artikel terkait