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:
Ambapo:
- = z-score
- = kipengele cha data binafsi
- = wastani wa dataset
- = 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:
-
Kokotoa Wastani ():
Jumlisha vipengele vyote vya data na ugawanye kwa idadi ya vipengele vya data.
-
Kokotoa Kiwango cha Kawaida ():
-
Kiwango cha Kawaida ():
-
Kiwango cha Kawaida:
-
-
Kokotoa Z-Score:
Badilisha thamani katika formula ya z-score.
Edge Cases
-
Kiwango cha Kawaida Sifuri ():
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 ():
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 unakokotolewa kwa kutumia kazi ya usambazaji wa kawaida (CDF) wa usambazaji wa kawaida wa kiwango cha chini:
Ambapo:
- = CDF ya usambazaji wa kawaida wa kiwango cha chini katika
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:
Picha: Curve ya Usambazaji wa Kawaida na Z-Score Iliyopigwa Kivuli
Mchoro huu unaonyesha curve ya usambazaji wa kawaida na wastani katikati. Eneo lililopigwa kivuli linawakilisha uwezekano wa jumla hadi kipengele cha data , 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)
}
References
-
Kiwango cha Kawaida - Wikipedia
-
Kuelewa Z-Scores - Statistics Solutions
-
Usambazaji wa Kawaida na Z-Scores - Khan Academy
Additional Resources
-
Kikokotoo cha Z-Score cha Kihisia
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Kuonyesha Usambazaji wa Kawaida
https://seeing-theory.brown.edu/normal-distribution/index.html