Lewati ke konten
🛠️ToolsShed

Kalkulator Z-Score

Hitung Z-score, peringkat persentil, dan probabilitas distribusi normal.

Tentang alat ini

Nilai Z mengukur berapa banyak standar deviasi titik data menyimpang dari rata-rata dalam distribusi normal. Metrik ini fundamental dalam statistik untuk menstandarisasi nilai pada skala berbeda dan sangat penting untuk membandingkan data, mengidentifikasi pencilan, dan memahami distribusi probabilitas. Nilai Z digunakan secara luas dalam pengendalian kualitas, evaluasi akademik, penelitian medis, dan analisis keuangan ketika Anda perlu menentukan seberapa tidak biasa atau tipikal sebuah nilai.

Untuk menggunakan kalkulator, masukkan nilai titik data Anda serta rata-rata dan standar deviasi dari kumpulan data Anda. Alat ini segera menghitung nilai Z dan menampilkan peringkat persentil yang sesuai—memberi tahu Anda berapa persentase distribusi normal yang jatuh di bawah nilai Anda. Anda juga dapat memasukkan nilai Z secara langsung untuk menemukan persentilnya, yang berguna untuk pengujian hipotesis, interval kepercayaan, dan pencarian probabilitas. Ini sangat membantu saat bekerja dengan skor tes standar (seperti SAT atau IQ), membandingkan kinerja di berbagai metrik, atau mengevaluasi toleransi manufaktur.

Ingatlah bahwa nilai Z mengasumsikan data Anda mengikuti distribusi normal (kurva lonceng), jadi hasil mungkin tidak akurat untuk kumpulan data yang miring. Kalkulator juga memberikan wawasan tentang probabilitas ekor, membantu Anda memahami nilai ekstrem. Baik Anda seorang siswa yang mempelajari statistik, peneliti yang menganalisis data eksperimental, atau profesional yang mengevaluasi metrik kualitas, alat ini menyederhanakan perhitungan probabilitas yang kompleks menjadi wawasan instan dan dapat ditindaklanjuti.

Pertanyaan yang Sering Diajukan

Implementasi Kode

import math

def erf(x: float) -> float:
    """Abramowitz & Stegun approximation of the error function."""
    sign = 1 if x >= 0 else -1
    x = abs(x)
    a1, a2, a3, a4, a5 = 0.254829592, -0.284496736, 1.421413741, -1.453152027, 1.061405429
    p = 0.3275911
    t = 1.0 / (1.0 + p * x)
    y = 1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * math.exp(-x * x)
    return sign * y

def normal_cdf(z: float) -> float:
    """Cumulative distribution function of the standard normal."""
    return 0.5 * (1 + erf(z / math.sqrt(2)))

def z_score(value: float, mean: float, std_dev: float) -> float:
    """Calculate Z-score: how many SDs from the mean."""
    if std_dev <= 0:
        raise ValueError("Standard deviation must be positive")
    return (value - mean) / std_dev

# Example
x, mu, sigma = 75, 70, 5
z = z_score(x, mu, sigma)
prob = normal_cdf(z)
print(f"Z-score: {z:.4f}")          # 1.0000
print(f"Percentile: {prob*100:.2f}th")  # 84.13th
print(f"Probability: {prob:.6f}")    # 0.841345

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.