Z-Score Kalkulátor
Bevezetés
A z-score (vagy standard score) egy statisztikai mérés, amely leírja egy érték kapcsolatát egy értékcsoport átlagával. Megmutatja, hogy hány szórásnyira van egy elem az átlagtól. A z-score kulcsfontosságú eszköz a statisztikában, lehetővé téve különböző adathalmazok standardizálását és a kiugró értékek azonosítását.
Képlet
A z-score a következő képlettel számítható ki:
Ahol:
- = z-score
- = egyedi adatpont
- = az adathalmaz átlaga
- = az adathalmaz szórása
Ez a képlet kiszámítja, hogy hány szórásnyira van egy adatpont az átlagtól.
Számítás
A z-score kiszámításához egy adatpontra:
-
Számítsa ki az átlagot ():
Összegezze az összes adatpontot, és ossza el az adatpontok számával.
-
Számítsa ki a szórást ():
-
Variancia ():
-
Szórás:
-
-
Számítsa ki a Z-Score-t:
Helyettesítse be az értékeket a z-score képletbe.
Szélsőséges esetek
-
Nulla szórás ():
Amikor az összes adatpont azonos, a szórás nulla, így a z-score meghatározatlan, mert nem lehet nullával osztani. Ebben az esetben a z-score fogalma nem alkalmazható.
-
Adatpont egyenlő az átlaggal ():
Ha az adatpont egyenlő az átlaggal, a z-score nulla, ami azt jelzi, hogy pontosan átlagos.
-
Nem numerikus bemenetek:
Biztosítsa, hogy az összes bemenet numerikus legyen. A nem numerikus bemenetek számítási hibákat eredményeznek.
Kumulatív valószínűség
A z-score-hoz kapcsolódó kumulatív valószínűség azt a valószínűséget jelenti, hogy egy véletlen változó egy standard normális eloszlásból kisebb vagy egyenlő a megadott értéknél. Ez az érték alatti terület a normális eloszlás görbéjén.
Matematikailag a kumulatív valószínűség a standard normális eloszlás kumulatív eloszlásfüggvényének (CDF) segítségével számítható ki:
Ahol:
- = a standard normális eloszlás CDF-je -nél
A kumulatív valószínűség alapvető fontosságú a statisztikában, hogy meghatározza egy érték előfordulásának valószínűségét egy adott tartományban. Széles körben használják a minőségellenőrzés, a pénzügy és a társadalomtudományok területén.
SVG Diagram
Az alábbiakban egy SVG diagram látható, amely illusztrálja a standard normális eloszlás görbét és a z-score-t:
Ábra: Standard Normális Eloszlás Görbe Z-Score-val Árnyékolva
Ez a diagram a normális eloszlás görbéjét mutatja, az átlag a középpontban. Az árnyékolt terület a kumulatív valószínűséget jelzi az adatpontig, amely a z-score-hoz kapcsolódik.
Felhasználási esetek
Alkalmazások
-
Standardizálás Különböző Skálákon:
A z-score-ok lehetővé teszik a különböző skálákon lévő adatok összehasonlítását a halmazok standardizálásával.
-
Kiugró Értékek Azonosítása:
Azok az adatpontok azonosítása, amelyek jelentősen távol vannak az átlagtól (pl. z-score-ok, amelyek kisebbek -3-nál vagy nagyobbak 3-nál).
-
Statisztikai Tesztelés:
Használják hipotézis tesztelésben, beleértve a z-teszteket is, hogy meghatározzák, hogy egy minta átlag jelentősen eltér-e egy ismert populációs átlagtól.
-
Minőségellenőrzés:
A gyártás során a z-score-ok segítenek a folyamatok nyomon követésében, hogy a kimenetek az elfogadható határokon belül maradjanak.
-
Pénzügy és Befektetés:
A részvények teljesítményének értékelése az átlagos piaci teljesítményhez viszonyítva.
Alternatívák
-
T-Score:
Hasonló a z-score-hoz, de kis minta esetén használják, amikor a populáció szórása ismeretlen.
-
Percentilis Rang:
Megmutatja azoknak a pontoknak a százalékát a frekvenciaeloszlásban, amelyek egyenlőek vagy alacsonyabbak nála.
-
Szórás Egységek:
A nyers szórásértékek használata anélkül, hogy z-score-ként standardizálnánk.
Történelem
A z-score fogalma Carl Friedrich Gauss munkáiból származik a 19. század elején a normális eloszlásról. A standard normális eloszlás, amely alapvető a z-score-okhoz, további statisztikusok, például Abraham de Moivre és Pierre-Simon Laplace által került kidolgozásra. A z-score-ok használata elterjedtté vált a statisztikai módszerek fejlődésével a 20. században, különösen a pszichológiai tesztelés és a minőségellenőrzés területén.
Példák
Excel
## Z-score kiszámítása Excelben
## Feltételezve, hogy az adatpont az A2 cellában, az átlag a B2 cellában, a szórás a C2 cellában van
=(A2 - B2) / C2
R
## Z-score kiszámítása R-ben
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("A szórás nem lehet nulla.")
}
z <- (x - mean) / sd
return(z)
}
## Példa használat:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-score:", z_score))
MATLAB
% Z-score kiszámítása MATLAB-ban
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('A szórás nem lehet nulla.');
end
z = (x - mu) / sigma;
end
% Példa használat:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-score: %.2f\n', z);
JavaScript
// Z-score kiszámítása JavaScript-ben
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('A szórás nem lehet nulla.');
}
return (x - mu) / sigma;
}
// Példa használat:
const x = 100;
const mu = 85;
const sigma = 7;
try {
const z = calculateZScore(x, mu, sigma);
console.log(`Z-score: ${z.toFixed(2)}`);
} catch (error) {
console.error(error.message);
}
Python
## Z-score kiszámítása Pythonban
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("A szórás nem lehet nulla.")
return (x - mu) / sigma
## Példa használat:
x = 95
mu = 88
sigma = 4
try:
z = calculate_z_score(x, mu, sigma)
print("Z-score:", round(z, 2))
except ValueError as e:
print(e)
Java
// Z-score kiszámítása Java-ban
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("A szórás nem lehet nulla.");
}
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-score: %.2f%n", z);
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
}
}
}
C/C++
// Z-score kiszámítása C++-ban
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("A szórás nem lehet nulla.");
}
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-score: " << z << std::endl;
} catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Ruby
## Z-score kiszámítása Ruby-ban
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "A szórás nem lehet nulla." if sigma == 0
(x - mu) / sigma
end
## Példa használat:
x = 105
mu = 100
sigma = 5
begin
z = calculate_z_score(x, mu, sigma)
puts "Z-score: #{z.round(2)}"
rescue ArgumentError => e
puts e.message
end
PHP
<?php
// Z-score kiszámítása PHP-ban
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("A szórás nem lehet nulla.");
}
return ($x - $mu) / $sigma;
}
// Példa használat:
$x = 115;
$mu = 110;
$sigma = 5;
try {
$z = calculate_z_score($x, $mu, $sigma);
echo "Z-score: " . round($z, 2);
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Rust
// Z-score kiszámítása Rust-ban
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("A szórás nem lehet nulla.".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-score: {:.2}", z),
Err(e) => println!("{}", e),
}
}
C#
// Z-score kiszámítása C#-ban
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("A szórás nem lehet nulla.");
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-score: {z:F2}");
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
}
}
}
Go
// Z-score kiszámítása Go-ban
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("a szórás nem lehet nulla")
}
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-score: %.2f\n", z)
}
}
Swift
// Z-score kiszámítása Swift-ben
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "A szórás nem lehet nulla.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Példa használat:
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-score: \(String(format: "%.2f", z))")
} catch let error as NSError {
print(error.domain)
}
Hivatkozások
-
Standard Score - Wikipédia
-
A Z-Scores Megértése - Statisztikai Megoldások
-
Normális Eloszlás és Z-Scores - Khan Academy
További Források
-
Interaktív Z-Score Kalkulátor
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
A Normális Eloszlás Megjelenítése
https://seeing-theory.brown.edu/normal-distribution/index.html