Z-Score Kalkulator
Uvod
Z-score (ili standardni rezultat) je statistička mera koja opisuje odnos vrednosti prema srednjoj vrednosti grupe vrednosti. Ukazuje na to koliko standardnih devijacija je element udaljen od srednje vrednosti. Z-score je ključni alat u statistici, omogućavajući standardizaciju različitih skupova podataka i identifikaciju odstupanja.
Formula
Z-score se izračunava pomoću sledeće formule:
Gde:
- = z-score
- = pojedinačna tačka podataka
- = srednja vrednost skupa podataka
- = standardna devijacija skupa podataka
Ova formula izračunava broj standardnih devijacija koliko je tačka podataka udaljena od srednje vrednosti.
Izračunavanje
Da biste izračunali z-score tačke podataka:
-
Izračunajte srednju vrednost ():
Saberite sve tačke podataka i podelite sa brojem tačaka podataka.
-
Izračunajte standardnu devijaciju ():
-
Varijansa ():
-
Standardna devijacija:
-
-
Izračunajte Z-Score:
Zamenite vrednosti u formulu za z-score.
Iste slučajevi
-
Nulta standardna devijacija ():
Kada su sve tačke podataka identične, standardna devijacija je nula, što čini z-score neodređenim jer ne možete deliti sa nulom. U ovom slučaju, koncept z-score ne važi.
-
Tačka podataka jednaka srednjoj vrednosti ():
Ako tačka podataka bude jednaka srednjoj vrednosti, z-score je nula, što ukazuje da je tačka tačno prosečna.
-
Ne-numerički ulazi:
Osigurajte da su svi ulazi numerički. Ne-numerički ulazi će rezultirati greškama u izračunavanju.
Kumulativna verovatnoća
Kumulativna verovatnoća povezana sa z-score predstavlja verovatnoću da će nasumična varijabla iz standardne normalne distribucije biti manja ili jednaka datoj vrednosti. To je površina ispod krive normalne distribucije levo od specificiranog z-score.
Matematički, kumulativna verovatnoća se izračunava korišćenjem funkcije kumulativne distribucije (CDF) standardne normalne distribucije:
Gde:
- = CDF standardne normalne distribucije na
Kumulativna verovatnoća je bitna u statistici za određivanje verovatnoće da će se vrednost pojaviti unutar određenog opsega. Široko se koristi u oblastima kao što su kontrola kvaliteta, finansije i društvene nauke.
SVG Dijagram
Ispod je SVG dijagram koji ilustruje krivu standardne normalne distribucije i z-score:
Slika: Kriva Standardne Normalne Distribucije sa Senčenim Z-Score
Ovaj dijagram prikazuje krivu normalne distribucije sa srednjom vrednošću u centru. Senčena oblast predstavlja kumulativnu verovatnoću do tačke podataka , koja odgovara z-score.
Upotreba
Aplikacije
-
Standardizacija preko različitih skala:
Z-score omogućava poređenje između podataka iz različitih skala standardizacijom skupova podataka.
-
Detekcija odstupanja:
Identifikacija tačaka podataka koje su značajno udaljene od srednje vrednosti (npr. z-score manji od -3 ili veći od 3).
-
Statističko testiranje:
Koristi se u testiranju hipoteza, uključujući z-testove, kako bi se utvrdilo da li se srednja vrednost uzorka značajno razlikuje od poznate srednje vrednosti populacije.
-
Kontrola kvaliteta:
U proizvodnji, z-score pomaže u praćenju procesa kako bi se osiguralo da rezultati ostanu unutar prihvatljivih granica.
-
Finansije i investicije:
Procena performansi akcija upoređujući povratke u odnosu na prosečne performanse tržišta.
Alternativne metode
-
T-score:
Slično z-score, ali se koristi kada je veličina uzorka mala i kada je nepoznata standardna devijacija populacije.
-
Percentilni rang:
Ukazuje na procenat rezultata u njegovoj frekvencijskoj distribuciji koji su jednaki ili niži od njega.
-
Jedinice standardne devijacije:
Korišćenje sirovih vrednosti standardne devijacije bez standardizacije kao z-score.
Istorija
Koncept z-score proizašao je iz rada na normalnoj distribuciji Carla Friedricha Gaussa u ranoj 19. veku. Standardna normalna distribucija, koja je temelj z-score, dalje je razvijena od strane statističara kao što su Abraham de Moivre i Pierre-Simon Laplace. Upotreba z-score postala je široko rasprostranjena s napretkom statističkih metoda u 20. veku, posebno u psihološkom testiranju i kontroli kvaliteta.
Primeri
Excel
## Izračunajte z-score u Excelu
## Pretpostavljajući da je tačka podataka u ćeliji A2, srednja vrednost u ćeliji B2, standardna devijacija u ćeliji C2
=(A2 - B2) / C2
R
## Izračunajte z-score u R
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("Standardna devijacija ne može biti nula.")
}
z <- (x - mean) / sd
return(z)
}
## Primer korišćenja:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-score:", z_score))
MATLAB
% Izračunajte z-score u MATLAB-u
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('Standardna devijacija ne može biti nula.');
end
z = (x - mu) / sigma;
end
% Primer korišćenja:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-score: %.2f\n', z);
JavaScript
// Izračunajte z-score u JavaScript-u
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('Standardna devijacija ne može biti nula.');
}
return (x - mu) / sigma;
}
// Primer korišćenja:
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
## Izračunajte z-score u Pythonu
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("Standardna devijacija ne može biti nula.")
return (x - mu) / sigma
## Primer korišćenja:
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
// Izračunajte z-score u Javi
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("Standardna devijacija ne može biti nula.");
}
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++
// Izračunajte z-score u C++
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("Standardna devijacija ne može biti nula.");
}
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
## Izračunajte z-score u Ruby-ju
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "Standardna devijacija ne može biti nula." if sigma == 0
(x - mu) / sigma
end
## Primer korišćenja:
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
// Izračunajte z-score u PHP-u
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("Standardna devijacija ne može biti nula.");
}
return ($x - $mu) / $sigma;
}
// Primer korišćenja:
$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
// Izračunajte z-score u Rust-u
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("Standardna devijacija ne može biti nula.".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#
// Izračunajte z-score u C#
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("Standardna devijacija ne može biti nula.");
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
// Izračunajte z-score u Go-u
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("standardna devijacija ne može biti nula")
}
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
// Izračunajte z-score u Swift-u
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "Standardna devijacija ne može biti nula.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Primer korišćenja:
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)
}
Reference
-
Standardni rezultat - Vikipedija
-
Razumevanje Z-Scores - Statistics Solutions
-
Normalna distribucija i Z-Scores - Khan Academy
Dodatni resursi
-
Interaktivni Z-Score Kalkulator
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Vizuelizacija Normalne Distribucije
https://seeing-theory.brown.edu/normal-distribution/index.html