Whiz Tools

Calculator Z-Score

Introducere

Z-score (sau scor standard) este o măsurare statistică care descrie relația unui valor cu media unui grup de valori. Indică câte abateri standard se află un element față de medie. Z-score-ul este un instrument crucial în statistică, permițând standardizarea diferitelor seturi de date și identificarea valorilor anormale.

Formula

Z-score-ul este calculat folosind următoarea formulă:

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

Unde:

  • zz = z-score
  • xx = punct de date individual
  • μ\mu = media setului de date
  • σ\sigma = abaterea standard a setului de date

Această formulă calculează numărul de abateri standard la care un punct de date se află de la medie.

Calcul

Pentru a calcula z-score-ul unui punct de date:

  1. Calculează Media (μ\mu):

    Suma tuturor punctelor de date și împarte la numărul de puncte de date.

    μ=i=1nxin\mu = \frac{\sum_{i=1}^{n} x_i}{n}
  2. Calculează Abaterea Standard (σ\sigma):

    • Varianța (σ2\sigma^2):

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

      σ=σ2\sigma = \sqrt{\sigma^2}
  3. Calculează Z-Score:

    Substituie valorile în formula z-score-ului.

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

Cazuri Limite

  • Abatere Standard Zero (σ=0\sigma = 0):

    Când toate punctele de date sunt identice, abaterea standard este zero, făcând z-score-ul nedefinit, deoarece nu poți împărți la zero. În acest caz, conceptul de z-score nu se aplică.

  • Punct de Date Egal cu Media (x=μx = \mu):

    Dacă punctul de date este egal cu media, z-score-ul este zero, indicând că este exact mediu.

  • Intrări Non-Numerice:

    Asigură-te că toate intrările sunt numerice. Intrările non-numerice vor duce la erori de calcul.

Probabilitate Cumulativă

Probabilitatea cumulativă asociată cu un z-score reprezintă probabilitatea ca o variabilă aleatoare dintr-o distribuție normală standard să fie mai mică sau egală cu valoarea dată. Este aria sub curba distribuției normale la stânga z-score-ului specificat.

Matematic, probabilitatea cumulativă PP este calculată folosind funcția de distribuție cumulativă (CDF) a distribuției normale standard:

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

Unde:

  • Φ(z)\Phi(z) = CDF a distribuției normale standard la zz

Probabilitatea cumulativă este esențială în statistică pentru a determina probabilitatea ca o valoare să apară într-un anumit interval. Este utilizată pe scară largă în domenii precum controlul calității, finanțele și științele sociale.

Diagrama SVG

Mai jos este o diagramă SVG care ilustrează curba distribuției normale standard și z-score-ul:

μ x z

Distribuția Normală Standard

Figura: Curba Distribuției Normale Standard cu Z-Score Umplut

Această diagramă arată curba distribuției normale cu media μ\mu la centru. Zona umplută reprezintă probabilitatea cumulativă până la punctul de date xx, corespunzător z-score-ului.

Cazuri de Utilizare

Aplicații

  • Standardizare Pe Scale Diferite:

    Z-score-urile permit compararea între date din scale diferite prin standardizarea seturilor de date.

  • Detectarea Valorilor Anormale:

    Identificarea punctelor de date care sunt semnificativ îndepărtate de medie (de exemplu, z-score-uri mai mici de -3 sau mai mari de 3).

  • Testare Statistică:

    Utilizate în testarea ipotezelor, inclusiv teste z, pentru a determina dacă o medie a unui eșantion diferă semnificativ de o medie a populației cunoscute.

  • Controlul Calității:

    În producție, z-score-urile ajută la monitorizarea proceselor pentru a asigura că rezultatele rămân în limite acceptabile.

  • Finanțe și Investiții:

    Evaluarea performanței acțiunilor prin compararea randamentelor relative la performanța medie a pieței.

Alternative

  • T-Score:

    Similar cu z-score-ul, dar utilizat atunci când dimensiunea eșantionului este mică și abaterea standard a populației este necunoscută.

  • Rang Percentil:

    Indică procentajul scorurilor în distribuția sa de frecvență care sunt egale sau mai mici decât el.

  • Unități de Abatere Standard:

    Utilizarea valorilor brute ale abaterii standard fără a le standardiza ca z-score-uri.

Istorie

Conceptul de z-score își are rădăcinile în lucrările despre distribuția normală de Carl Friedrich Gauss la începutul secolului al XIX-lea. Distribuția normală standard, fundamentală pentru z-score-uri, a fost dezvoltată ulterior de statisticieni precum Abraham de Moivre și Pierre-Simon Laplace. Utilizarea z-score-urilor a devenit răspândită odată cu avansarea metodelor statistice în secolul XX, în special în testarea psihologică și controlul calității.

Exemple

Excel

## Calculează z-score în Excel
## Presupunând că punctul de date este în celula A2, media în celula B2, abaterea standard în celula C2
=(A2 - B2) / C2

R

## Calculează z-score în R
calculate_z_score <- function(x, mean, sd) {
  if (sd == 0) {
    stop("Abaterea standard nu poate fi zero.")
  }
  z <- (x - mean) / sd
  return(z)
}

## Exemplu de utilizare:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-score:", z_score))

MATLAB

% Calculează z-score în MATLAB
function z = calculate_z_score(x, mu, sigma)
    if sigma == 0
        error('Abaterea standard nu poate fi zero.');
    end
    z = (x - mu) / sigma;
end

% Exemplu de utilizare:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-score: %.2f\n', z);

JavaScript

// Calculează z-score în JavaScript
function calculateZScore(x, mu, sigma) {
  if (sigma === 0) {
    throw new Error('Abaterea standard nu poate fi zero.');
  }
  return (x - mu) / sigma;
}

// Exemplu de utilizare:
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

## Calculează z-score în Python
def calculate_z_score(x, mu, sigma):
    if sigma == 0:
        raise ValueError("Abaterea standard nu poate fi zero.")
    return (x - mu) / sigma

## Exemplu de utilizare:
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

// Calculează z-score în Java
public class ZScoreCalculator {
    public static double calculateZScore(double x, double mu, double sigma) {
        if (sigma == 0) {
            throw new IllegalArgumentException("Abaterea standard nu poate fi zero.");
        }
        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++

// Calculează z-score în C++
#include <iostream>
#include <stdexcept>

double calculate_z_score(double x, double mu, double sigma) {
    if (sigma == 0) {
        throw std::invalid_argument("Abaterea standard nu poate fi zero.");
    }
    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

## Calculează z-score în Ruby
def calculate_z_score(x, mu, sigma)
  raise ArgumentError, "Abaterea standard nu poate fi zero." if sigma == 0
  (x - mu) / sigma
end

## Exemplu de utilizare:
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
// Calculează z-score în PHP
function calculate_z_score($x, $mu, $sigma) {
  if ($sigma == 0) {
    throw new Exception("Abaterea standard nu poate fi zero.");
  }
  return ($x - $mu) / $sigma;
}

// Exemplu de utilizare:
$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

// Calculează z-score în Rust
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
    if sigma == 0.0 {
        return Err("Abaterea standard nu poate fi zero.".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#

// Calculează z-score în C#
using System;

public class ZScoreCalculator
{
    public static double CalculateZScore(double x, double mu, double sigma)
    {
        if (sigma == 0)
            throw new ArgumentException("Abaterea standard nu poate fi zero.");
        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

// Calculează z-score în Go
package main

import (
    "errors"
    "fmt"
)

func calculateZScore(x, mu, sigma float64) (float64, error) {
    if sigma == 0 {
        return 0, errors.New("abaterea standard nu poate fi zero")
    }
    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

// Calculează z-score în Swift
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
    if sigma == 0 {
        throw NSError(domain: "Abaterea standard nu poate fi zero.", code: 1, userInfo: nil)
    }
    return (x - mu) / sigma
}

// Exemplu de utilizare:
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)
}

Referințe

  1. Scor Standard - Wikipedia

    https://en.wikipedia.org/wiki/Standard_score

  2. Înțelegerea Z-Score-urilor - Statistics Solutions

    https://www.statisticssolutions.com/understanding-z-scores/

  3. Distribuția Normală și Z-Score-uri - Khan Academy

    https://www.khanacademy.org/math/statistics-probability/modeling-distributions-of-data/z-scores/a/z-scores-review

Resurse Suplimentare

Loading related tools...
Feedback