Whiz Tools

Z-Score Calculator

Introduction

z-score (au kiwango cha kawaida) ni kipimo cha takwimu kinachoelezea uhusiano wa thamani na wastani wa kundi la thamani. Inaonyesha ni viwango vingapi vya kawaida kipengele kimoja kipo mbali na wastani. Z-score ni chombo muhimu katika takwimu, kinachoruhusu kiwango sawa kati ya seti tofauti za data na kubaini viashiria vya mbali.

Formula

Z-score inakokotolewa kwa kutumia formula ifuatayo:

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

Ambapo:

  • zz = z-score
  • xx = kipengele cha data binafsi
  • μ\mu = wastani wa dataset
  • σ\sigma = kiwango cha kawaida cha dataset

Formula hii inakokotolea idadi ya viwango vya kawaida kipengele cha data kipo mbali na wastani.

Calculation

Ili kukokotoa z-score ya kipengele cha data:

  1. Kokotoa Wastani (μ\mu):

    Jumlisha vipengele vyote vya data na ugawanye kwa idadi ya vipengele vya data.

    μ=i=1nxin\mu = \frac{\sum_{i=1}^{n} x_i}{n}
  2. Kokotoa Kiwango cha Kawaida (σ\sigma):

    • Kiwango cha Kawaida (σ2\sigma^2):

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

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

    Badilisha thamani katika formula ya z-score.

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

Edge Cases

  • Kiwango cha Kawaida Sifuri (σ=0\sigma = 0):

    Wakati vipengele vyote vya data ni sawa, kiwango cha kawaida ni sifuri, na kufanya z-score isijulikane kwa sababu huwezi kugawanya kwa sifuri. Katika hali hii, dhana ya z-score haiwezi kutumika.

  • Kipengele cha Data Sawa na Wastani (x=μx = \mu):

    Ikiwa kipengele cha data ni sawa na wastani, z-score ni sifuri, ikionyesha kuwa ni wastani kamili.

  • Ingizo Lisilo la Nambari:

    Hakikisha kuwa ingizo zote ni za nambari. Ingizo zisizo za nambari zitapelekea makosa ya kukokotoa.

Cumulative Probability

Uwezekano wa jumla unaohusishwa na z-score unawakilisha uwezekano kwamba kigezo cha nasibu kutoka kwa usambazaji wa kawaida wa kiwango cha chini kitakuwa kidogo au sawa na thamani iliyotolewa. Ni eneo chini ya curve ya usambazaji wa kawaida upande wa kushoto wa z-score iliyotolewa.

Kihesabu, uwezekano wa jumla PP unakokotolewa kwa kutumia kazi ya usambazaji wa kawaida (CDF) wa usambazaji wa kawaida wa kiwango cha chini:

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

Ambapo:

  • Φ(z)\Phi(z) = CDF ya usambazaji wa kawaida wa kiwango cha chini katika zz

Uwezekano wa jumla ni muhimu katika takwimu kwa kubaini uwezekano wa thamani kutokea ndani ya eneo fulani. Inatumika sana katika maeneo kama udhibiti wa ubora, fedha, na sayansi za kijamii.

SVG Diagram

Hapa chini kuna mchoro wa SVG unaoonyesha curve ya usambazaji wa kawaida wa kiwango cha chini na z-score:

μ x z

Usambazaji wa Kawaida wa Kiwango cha Chini

Picha: Curve ya Usambazaji wa Kawaida na Z-Score Iliyopigwa Kivuli

Mchoro huu unaonyesha curve ya usambazaji wa kawaida na wastani μ\mu katikati. Eneo lililopigwa kivuli linawakilisha uwezekano wa jumla hadi kipengele cha data xx, kinachohusiana na z-score.

Use Cases

Applications

  • Kiwango sawa kati ya Mifumo tofauti:

    Z-scores inaruhusu kulinganisha kati ya data kutoka kwa mifumo tofauti kwa kiwango sawa cha datasets.

  • Kubaini Viashiria vya Mbali:

    Kubaini vipengele vya data ambavyo viko mbali sana na wastani (kwa mfano, z-scores chini ya -3 au zaidi ya 3).

  • Kujaribu Takwimu:

    Inatumika katika majaribio ya dhana, ikiwa ni pamoja na z-tests, kubaini ikiwa wastani wa sampuli unatofautiana kwa kiasi kikubwa na wastani wa idadi inayojulikana.

  • Udhibiti wa Ubora:

    Katika utengenezaji, z-scores husaidia kufuatilia michakato ili kuhakikisha matokeo yanabaki ndani ya mipaka inayokubalika.

  • Fedha na Uwekezaji:

    Kutathmini utendaji wa hisa kwa kulinganisha kurudi kulingana na utendaji wa wastani wa soko.

Alternatives

  • T-Score:

    Inafanana na z-score lakini inatumika wakati ukubwa wa sampuli ni mdogo na kiwango cha kawaida cha idadi hakijulikani.

  • Kiwango cha asilimia:

    Inaonyesha asilimia ya alama katika usambazaji wake wa mara kwa mara ambazo ni sawa na au chini yake.

  • Vitengo vya Kiwango cha Kawaida:

    Kutumia thamani za kiwango cha kawaida bila kiwango sawa kama z-scores.

History

Dhana ya z-score inatokana na kazi juu ya usambazaji wa kawaida na Carl Friedrich Gauss katika karne ya 19. Usambazaji wa kawaida wa kiwango cha chini, ambao ni muhimu kwa z-scores, ulitengenezwa zaidi na takwimu kama Abraham de Moivre na Pierre-Simon Laplace. Matumizi ya z-scores yalienea kwa wingi na maendeleo ya mbinu za takwimu katika karne ya 20, hasa katika majaribio ya kisaikolojia na udhibiti wa ubora.

Examples

Excel

## Hesabu z-score katika Excel
## Ikiwa kipengele cha data kiko katika seli A2, wastani katika seli B2, kiwango cha kawaida katika seli C2
=(A2 - B2) / C2

R

## Hesabu z-score katika R
calculate_z_score <- function(x, mean, sd) {
  if (sd == 0) {
    stop("Kiwango cha kawaida hakiwezi kuwa sifuri.")
  }
  z <- (x - mean) / sd
  return(z)
}

## Matumizi ya mfano:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-score:", z_score))

MATLAB

% Hesabu z-score katika MATLAB
function z = calculate_z_score(x, mu, sigma)
    if sigma == 0
        error('Kiwango cha kawaida hakiwezi kuwa sifuri.');
    end
    z = (x - mu) / sigma;
end

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

JavaScript

// Hesabu z-score katika JavaScript
function calculateZScore(x, mu, sigma) {
  if (sigma === 0) {
    throw new Error('Kiwango cha kawaida hakiwezi kuwa sifuri.');
  }
  return (x - mu) / sigma;
}

// Matumizi ya mfano:
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

## Hesabu z-score katika Python
def calculate_z_score(x, mu, sigma):
    if sigma == 0:
        raise ValueError("Kiwango cha kawaida hakiwezi kuwa sifuri.")
    return (x - mu) / sigma

## Matumizi ya mfano:
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

// Hesabu z-score katika Java
public class ZScoreCalculator {
    public static double calculateZScore(double x, double mu, double sigma) {
        if (sigma == 0) {
            throw new IllegalArgumentException("Kiwango cha kawaida hakiwezi kuwa sifuri.");
        }
        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++

// Hesabu z-score katika C++
#include <iostream>
#include <stdexcept>

double calculate_z_score(double x, double mu, double sigma) {
    if (sigma == 0) {
        throw std::invalid_argument("Kiwango cha kawaida hakiwezi kuwa sifuri.");
    }
    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

## Hesabu z-score katika Ruby
def calculate_z_score(x, mu, sigma)
  raise ArgumentError, "Kiwango cha kawaida hakiwezi kuwa sifuri." if sigma == 0
  (x - mu) / sigma
end

## Matumizi ya mfano:
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
// Hesabu z-score katika PHP
function calculate_z_score($x, $mu, $sigma) {
  if ($sigma == 0) {
    throw new Exception("Kiwango cha kawaida hakiwezi kuwa sifuri.");
  }
  return ($x - $mu) / $sigma;
}

// Matumizi ya mfano:
$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

// Hesabu z-score katika Rust
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
    if sigma == 0.0 {
        return Err("Kiwango cha kawaida hakiwezi kuwa sifuri.".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#

// Hesabu z-score katika C#
using System;

public class ZScoreCalculator
{
    public static double CalculateZScore(double x, double mu, double sigma)
    {
        if (sigma == 0)
            throw new ArgumentException("Kiwango cha kawaida hakiwezi kuwa sifuri.");
        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

// Hesabu z-score katika Go
package main

import (
    "errors"
    "fmt"
)

func calculateZScore(x, mu, sigma float64) (float64, error) {
    if sigma == 0 {
        return 0, errors.New("kiwango cha kawaida hakiwezi kuwa sifuri")
    }
    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

// Hesabu z-score katika Swift
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
    if sigma == 0 {
        throw NSError(domain: "Kiwango cha kawaida hakiwezi kuwa sifuri.", code: 1, userInfo: nil)
    }
    return (x - mu) / sigma
}

// Matumizi ya mfano:
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