Pengira Z-Skor
Pengenalan
Z-skor (atau skor piawai) adalah ukuran statistik yang menerangkan hubungan nilai dengan purata sekumpulan nilai. Ia menunjukkan berapa banyak sisihan piawai sesuatu elemen dari purata. Z-skor adalah alat penting dalam statistik, membolehkan penyeragaman pelbagai set data dan pengenalan pencilan.
Formula
Z-skor dikira menggunakan formula berikut:
Di mana:
- = z-skor
- = titik data individu
- = purata set data
- = sisihan piawai set data
Formula ini mengira bilangan sisihan piawai yang suatu titik data berada dari purata.
Pengiraan
Untuk mengira z-skor bagi suatu titik data:
-
Kira Purata ():
Jumlah semua titik data dan bahagikan dengan bilangan titik data.
-
Kira Sisihan Piawai ():
-
Varians ():
-
Sisihan Piawai:
-
-
Kira Z-Skor:
Gantikan nilai ke dalam formula z-skor.
Kes Tepi
-
Sisihan Piawai Sifar ():
Apabila semua titik data adalah sama, sisihan piawai adalah sifar, menjadikan z-skor tidak ditakrifkan kerana anda tidak boleh membahagikan dengan sifar. Dalam kes ini, konsep z-skor tidak terpakai.
-
Titik Data Sama dengan Purata ():
Jika titik data sama dengan purata, z-skor adalah sifar, menunjukkan ia adalah tepat purata.
-
Input Tidak Nombor:
Pastikan semua input adalah nombor. Input tidak nombor akan mengakibatkan ralat pengiraan.
Kebarangkalian Kumulatif
Kebarangkalian kumulatif yang berkaitan dengan z-skor mewakili kebarangkalian bahawa pemboleh ubah rawak dari taburan normal piawai akan kurang daripada atau sama dengan nilai yang diberikan. Ia adalah kawasan di bawah lengkung taburan normal di sebelah kiri z-skor yang ditentukan.
Secara matematik, kebarangkalian kumulatif dikira menggunakan fungsi pengedaran kumulatif (CDF) bagi taburan normal piawai:
Di mana:
- = CDF bagi taburan normal piawai pada
Kebarangkalian kumulatif adalah penting dalam statistik untuk menentukan kemungkinan nilai berlaku dalam julat tertentu. Ia digunakan secara meluas dalam bidang seperti kawalan kualiti, kewangan, dan sains sosial.
Diagram SVG
Berikut adalah diagram SVG yang menggambarkan lengkung taburan normal piawai dan z-skor:
Rajah: Lengkung Taburan Normal Piawai dengan Z-Skor Berbayang
Diagram ini menunjukkan lengkung taburan normal dengan purata di tengah. Kawasan yang dibayangkan mewakili kebarangkalian kumulatif sehingga titik data , yang sepadan dengan z-skor.
Kes Penggunaan
Aplikasi
-
Penyeragaman Merentasi Skala Berbeza:
Z-skor membolehkan perbandingan antara data dari skala yang berbeza dengan menstandardkan set data.
-
Pengesanan Pencilan:
Mengenalpasti titik data yang jauh dari purata (contohnya, z-skor kurang daripada -3 atau lebih besar daripada 3).
-
Ujian Statistik:
Digunakan dalam ujian hipotesis, termasuk ujian z, untuk menentukan jika purata sampel berbeza dengan ketara dari purata populasi yang diketahui.
-
Kawalan Kualiti:
Dalam pembuatan, z-skor membantu memantau proses untuk memastikan hasil tetap dalam had yang boleh diterima.
-
Kewangan dan Pelaburan:
Menilai prestasi saham dengan membandingkan pulangan relatif terhadap prestasi purata pasaran.
Alternatif
-
T-Skor:
Mirip dengan z-skor tetapi digunakan apabila saiz sampel kecil dan sisihan piawai populasi tidak diketahui.
-
Pangkat Persentil:
Menunjukkan peratusan skor dalam pengedaran frekuensinya yang sama dengan atau lebih rendah daripadanya.
-
Unit Sisihan Piawai:
Menggunakan nilai sisihan piawai mentah tanpa menstandardkan sebagai z-skor.
Sejarah
Konsep z-skor berasal dari kerja mengenai taburan normal oleh Carl Friedrich Gauss pada awal abad ke-19. Taburan normal piawai, yang merupakan asas bagi z-skor, telah dikembangkan lebih lanjut oleh ahli statistik seperti Abraham de Moivre dan Pierre-Simon Laplace. Penggunaan z-skor menjadi meluas dengan kemajuan kaedah statistik pada abad ke-20, terutamanya dalam ujian psikologi dan kawalan kualiti.
Contoh
Excel
## Kira z-skor dalam Excel
## Menganggap titik data dalam sel A2, purata dalam sel B2, sisihan piawai dalam sel C2
=(A2 - B2) / C2
R
## Kira z-skor dalam R
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("Sisihan piawai tidak boleh sifar.")
}
z <- (x - mean) / sd
return(z)
}
## Contoh penggunaan:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-skor:", z_score))
MATLAB
% Kira z-skor dalam MATLAB
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('Sisihan piawai tidak boleh sifar.');
end
z = (x - mu) / sigma;
end
% Contoh penggunaan:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-skor: %.2f\n', z);
JavaScript
// Kira z-skor dalam JavaScript
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('Sisihan piawai tidak boleh sifar.');
}
return (x - mu) / sigma;
}
// Contoh penggunaan:
const x = 100;
const mu = 85;
const sigma = 7;
try {
const z = calculateZScore(x, mu, sigma);
console.log(`Z-skor: ${z.toFixed(2)}`);
} catch (error) {
console.error(error.message);
}
Python
## Kira z-skor dalam Python
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("Sisihan piawai tidak boleh sifar.")
return (x - mu) / sigma
## Contoh penggunaan:
x = 95
mu = 88
sigma = 4
try:
z = calculate_z_score(x, mu, sigma)
print("Z-skor:", round(z, 2))
except ValueError as e:
print(e)
Java
// Kira z-skor dalam Java
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("Sisihan piawai tidak boleh sifar.");
}
return (x - mu) / sigma;
}
public static void main(String[] args) {
double x = 110;
double mu = 100;
double sigma = 5;
try {
double z = calculateZScore(x, mu, sigma);
System.out.printf("Z-skor: %.2f%n", z);
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
}
}
}
C/C++
// Kira z-skor dalam C++
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("Sisihan piawai tidak boleh sifar.");
}
return (x - mu) / sigma;
}
int main() {
double x = 130;
double mu = 120;
double sigma = 10;
try {
double z = calculate_z_score(x, mu, sigma);
std::cout << "Z-skor: " << z << std::endl;
} catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Ruby
## Kira z-skor dalam Ruby
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "Sisihan piawai tidak boleh sifar." if sigma == 0
(x - mu) / sigma
end
## Contoh penggunaan:
x = 105
mu = 100
sigma = 5
begin
z = calculate_z_score(x, mu, sigma)
puts "Z-skor: #{z.round(2)}"
rescue ArgumentError => e
puts e.message
end
PHP
<?php
// Kira z-skor dalam PHP
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("Sisihan piawai tidak boleh sifar.");
}
return ($x - $mu) / $sigma;
}
// Contoh penggunaan:
$x = 115;
$mu = 110;
$sigma = 5;
try {
$z = calculate_z_score($x, $mu, $sigma);
echo "Z-skor: " . round($z, 2);
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Rust
// Kira z-skor dalam Rust
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("Sisihan piawai tidak boleh sifar.".to_string());
}
Ok((x - mu) / sigma)
}
fn main() {
let x = 125.0;
let mu = 115.0;
let sigma = 5.0;
match calculate_z_score(x, mu, sigma) {
Ok(z) => println!("Z-skor: {:.2}", z),
Err(e) => println!("{}", e),
}
}
C#
// Kira z-skor dalam C#
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("Sisihan piawai tidak boleh sifar.");
return (x - mu) / sigma;
}
public static void Main()
{
double x = 135;
double mu = 125;
double sigma = 5;
try
{
double z = CalculateZScore(x, mu, sigma);
Console.WriteLine($"Z-skor: {z:F2}");
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
}
}
}
Go
// Kira z-skor dalam Go
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("sisihan piawai tidak boleh sifar")
}
return (x - mu) / sigma, nil
}
func main() {
x := 140.0
mu := 130.0
sigma := 5.0
z, err := calculateZScore(x, mu, sigma)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("Z-skor: %.2f\n", z)
}
}
Swift
// Kira z-skor dalam Swift
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "Sisihan piawai tidak boleh sifar.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Contoh penggunaan:
let x = 120.0
let mu = 110.0
let sigma = 5.0
do {
let z = try calculateZScore(x: x, mu: mu, sigma: sigma)
print("Z-skor: \(String(format: "%.2f", z))")
} catch let error as NSError {
print(error.domain)
}
Rujukan
-
Skor Piawai - Wikipedia
-
Memahami Z-Skor - Penyelesaian Statistik
-
Taburan Normal dan Z-Skor - Khan Academy
Sumber Tambahan
-
Pengira Z-Skor Interaktif
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Visualisasi Taburan Normal
https://seeing-theory.brown.edu/normal-distribution/index.html