Z-Skor Hesaplayıcı
Giriş
z-skoru (veya standart skor), bir değerin bir grup değerin ortalaması ile olan ilişkisini tanımlayan istatistiksel bir ölçüdür. Bir öğenin ortalamadan kaç standart sapma uzaklıkta olduğunu gösterir. Z-skoru, farklı veri setlerinin standartlaştırılmasına ve aykırı değerlerin tanımlanmasına olanak tanıyan istatistikte önemli bir araçtır.
Formül
Z-skoru aşağıdaki formül kullanılarak hesaplanır:
Nerede:
- = z-skoru
- = bireysel veri noktası
- = veri setinin ortalaması
- = veri setinin standart sapması
Bu formül, bir veri noktasının ortalamadan kaç standart sapma uzaklıkta olduğunu hesaplar.
Hesaplama
Bir veri noktasının z-skorunu hesaplamak için:
-
Ortalamayı Hesaplayın ():
Tüm veri noktalarını toplayın ve veri noktalarının sayısına bölün.
-
Standart Sapmayı Hesaplayın ():
-
Varyans ():
-
Standart Sapma:
-
-
Z-Skorunu Hesaplayın:
Z-skoru formülüne değerleri yerleştirin.
Kenar Durumları
-
Sıfır Standart Sapma ():
Tüm veri noktaları aynı olduğunda, standart sapma sıfırdır ve z-skoru tanımsız hale gelir çünkü sıfıra bölme işlemi yapılamaz. Bu durumda, z-skoru kavramı geçerli değildir.
-
Veri Noktası Ortalamaya Eşit ():
Eğer veri noktası ortalamaya eşitse, z-skoru sıfırdır ve bu da ortalamanın tam olarak ortasında olduğunu gösterir.
-
Sayısal Olmayan Girdiler:
Tüm girdilerin sayısal olduğundan emin olun. Sayısal olmayan girdiler hesaplama hatalarına yol açar.
Kümülatif Olasılık
Z-skoru ile ilişkili kümülatif olasılık, standart normal dağılımdan rastgele bir değişkenin belirli bir değerden daha küçük veya ona eşit olma olasılığını temsil eder. Bu, belirtilen z-skorunun solundaki normal dağılım eğrisi altındaki alandır.
Matematiksel olarak, kümülatif olasılık , standart normal dağılımın kümülatif dağılım fonksiyonu (CDF) kullanılarak hesaplanır:
Nerede:
- = z'deki standart normal dağılımın CDF'si
Kümülatif olasılık, belirli bir aralıkta bir değerin meydana gelme olasılığını belirlemek için istatistikte önemlidir. Kalite kontrolü, finans ve sosyal bilimler gibi alanlarda yaygın olarak kullanılmaktadır.
SVG Diyagramı
Aşağıda, standart normal dağılım eğrisini ve z-skorunu gösteren bir SVG diyagramı bulunmaktadır:
Şekil: Z-Skoru Gölgelendirilmiş Standart Normal Dağılım Eğrisi
Bu diyagram, ortalama ortada olan normal dağılım eğrisini göstermektedir. Gölgelendirilmiş alan, z-skoruna karşılık gelen veri noktası 'e kadar olan kümülatif olasılığı temsil eder.
Kullanım Durumları
Uygulamalar
-
Farklı Ölçekler Arasında Standartlaştırma:
Z-skorları, veri setlerini standartlaştırarak farklı ölçeklerden verilerin karşılaştırılmasına olanak tanır.
-
Aykırı Değer Tespiti:
Ortalama ile önemli ölçüde uzak olan veri noktalarının tanımlanması (örneğin, z-skorları -3'ten küçük veya 3'ten büyük olanlar).
-
İstatistiksel Testler:
Örnek ortalamasının bilinen bir popülasyon ortalamasından önemli ölçüde farklı olup olmadığını belirlemek için hipotez testlerinde, z-testleri dahil olmak üzere kullanılır.
-
Kalite Kontrolü:
Üretimde, z-skorları süreçlerin izlenmesine yardımcı olarak çıktının kabul edilebilir sınırlar içinde kalmasını sağlar.
-
Finans ve Yatırım:
Hisse senedi performansını, getirileri ortalama piyasa performansına göre karşılaştırarak değerlendirmek.
Alternatifler
-
T-Skoru:
Z-skoruna benzer, ancak örnek büyüklüğü küçük olduğunda ve popülasyon standart sapması bilinmediğinde kullanılır.
-
Yüzdelik Sıralama:
Frekans dağılımındaki eşit veya daha düşük olan skorların yüzdesini gösterir.
-
Standart Sapma Birimleri:
Z-skorları olmadan ham standart sapma değerlerini kullanmak.
Tarihçe
Z-skoru kavramı, 19. yüzyılın başlarında Carl Friedrich Gauss'ın normal dağılım üzerine yaptığı çalışmalarından kaynaklanmaktadır. Z-skorlarının temelini oluşturan standart normal dağılım, Abraham de Moivre ve Pierre-Simon Laplace gibi istatistikçiler tarafından daha da geliştirilmiştir. Z-skorlarının kullanımı, 20. yüzyılda istatistiksel yöntemlerin gelişimi ile yaygınlaşmış, özellikle psikolojik testler ve kalite kontrol alanlarında önemli bir yer edinmiştir.
Örnekler
Excel
## Excel'de z-skorunu hesapla
## A2 hücresinde veri noktası, B2 hücresinde ortalama, C2 hücresinde standart sapma varsayılarak
=(A2 - B2) / C2
R
## R'de z-skorunu hesapla
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("Standart sapma sıfır olamaz.")
}
z <- (x - mean) / sd
return(z)
}
## Örnek kullanım:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-skoru:", z_score))
MATLAB
% MATLAB'da z-skorunu hesapla
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('Standart sapma sıfır olamaz.');
end
z = (x - mu) / sigma;
end
% Örnek kullanım:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-skoru: %.2f\n', z);
JavaScript
// JavaScript'de z-skorunu hesapla
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('Standart sapma sıfır olamaz.');
}
return (x - mu) / sigma;
}
// Örnek kullanım:
const x = 100;
const mu = 85;
const sigma = 7;
try {
const z = calculateZScore(x, mu, sigma);
console.log(`Z-skoru: ${z.toFixed(2)}`);
} catch (error) {
console.error(error.message);
}
Python
## Python'da z-skorunu hesapla
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("Standart sapma sıfır olamaz.")
return (x - mu) / sigma
## Örnek kullanım:
x = 95
mu = 88
sigma = 4
try:
z = calculate_z_score(x, mu, sigma)
print("Z-skoru:", round(z, 2))
except ValueError as e:
print(e)
Java
// Java'da z-skorunu hesapla
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("Standart sapma sıfır olamaz.");
}
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-skoru: %.2f%n", z);
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
}
}
}
C/C++
// C++'da z-skorunu hesapla
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("Standart sapma sıfır olamaz.");
}
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-skoru: " << z << std::endl;
} catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Ruby
## Ruby'de z-skorunu hesapla
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "Standart sapma sıfır olamaz." if sigma == 0
(x - mu) / sigma
end
## Örnek kullanım:
x = 105
mu = 100
sigma = 5
begin
z = calculate_z_score(x, mu, sigma)
puts "Z-skoru: #{z.round(2)}"
rescue ArgumentError => e
puts e.message
end
PHP
<?php
// PHP'de z-skorunu hesapla
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("Standart sapma sıfır olamaz.");
}
return ($x - $mu) / $sigma;
}
// Örnek kullanım:
$x = 115;
$mu = 110;
$sigma = 5;
try {
$z = calculate_z_score($x, $mu, $sigma);
echo "Z-skoru: " . round($z, 2);
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Rust
// Rust'da z-skorunu hesapla
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("Standart sapma sıfır olamaz.".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-skoru: {:.2}", z),
Err(e) => println!("{}", e),
}
}
C#
// C#'da z-skorunu hesapla
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("Standart sapma sıfır olamaz.");
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-skoru: {z:F2}");
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
}
}
}
Go
// Go'da z-skorunu hesapla
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("standart sapma sıfır olamaz")
}
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-skoru: %.2f\n", z)
}
}
Swift
// Swift'de z-skorunu hesapla
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "Standart sapma sıfır olamaz.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Örnek kullanım:
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-skoru: \(String(format: "%.2f", z))")
} catch let error as NSError {
print(error.domain)
}
Referanslar
-
Standart Skor - Vikipedi
-
Z-Skorlarını Anlamak - İstatistik Çözümleri
-
Normal Dağılım ve Z-Skorları - Khan Academy
Ek Kaynaklar
-
Etkileşimli Z-Skoru Hesaplayıcı
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Normal Dağılımı Görselleştirme
https://seeing-theory.brown.edu/normal-distribution/index.html