Whiz Tools

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:

z=xμσz = \frac{x - \mu}{\sigma}

Gde:

  • zz = z-score
  • xx = pojedinačna tačka podataka
  • μ\mu = srednja vrednost skupa podataka
  • σ\sigma = 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:

  1. Izračunajte srednju vrednost (μ\mu):

    Saberite sve tačke podataka i podelite sa brojem tačaka podataka.

    μ=i=1nxin\mu = \frac{\sum_{i=1}^{n} x_i}{n}
  2. Izračunajte standardnu devijaciju (σ\sigma):

    • Varijansa (σ2\sigma^2):

      σ2=i=1n(xiμ)2n\sigma^2 = \frac{\sum_{i=1}^{n} (x_i - \mu)^2}{n}
    • Standardna devijacija:

      σ=σ2\sigma = \sqrt{\sigma^2}
  3. Izračunajte Z-Score:

    Zamenite vrednosti u formulu za z-score.

    z=xμσz = \frac{x - \mu}{\sigma}

Iste slučajevi

  • Nulta standardna devijacija (σ=0\sigma = 0):

    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 (x=μx = \mu):

    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 PP se izračunava korišćenjem funkcije kumulativne distribucije (CDF) standardne normalne distribucije:

P(Zz)=Φ(z)=12πzet2/2dtP(Z \leq z) = \Phi(z) = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{z} e^{-t^2/2} \, dt

Gde:

  • Φ(z)\Phi(z) = CDF standardne normalne distribucije na zz

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:

μ x z

Standardna Normalna Distribucija

Slika: Kriva Standardne Normalne Distribucije sa Senčenim Z-Score

Ovaj dijagram prikazuje krivu normalne distribucije sa srednjom vrednošću μ\mu u centru. Senčena oblast predstavlja kumulativnu verovatnoću do tačke podataka xx, 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)
}
Loading related tools...
Feedback