Z-score beregner til statistisk analyse og standardisering
Beregn z-score (standard score) for ethvert datapunkt og bestem dets position i forhold til gennemsnittet ved hjælp af standardafvigelsen. Ideel til statistisk analyse og datastandardisering.
Dokumentation
Z-Score Calculator
Introduktion
Z-score (eller standard score) er en statistisk måling, der beskriver en værdis forhold til gennemsnittet af en gruppe værdier. Det angiver, hvor mange standardafvigelser et element er fra gennemsnittet. Z-score er et vigtigt værktøj i statistik, der muliggør standardisering af forskellige datasæt og identifikation af outliers.
Formel
Z-score beregnes ved hjælp af følgende formel:
Hvor:
- = z-score
- = individuel datapunkt
- = gennemsnit af datasættet
- = standardafvigelse af datasættet
Denne formel beregner antallet af standardafvigelser, et datapunkt er fra gennemsnittet.
Beregning
For at beregne z-score for et datapunkt:
-
Beregn Gennemsnittet ():
Summér alle datapunkter og del med antallet af datapunkter.
-
Beregn Standardafvigelsen ():
-
Varians ():
-
Standardafvigelse:
-
-
Beregn Z-Score:
Indsæt værdierne i z-score formelen.
Edge Cases
-
Zero Standardafvigelse ():
Når alle datapunkter er identiske, er standardafvigelsen nul, hvilket gør z-score udefineret, fordi du ikke kan dividere med nul. I dette tilfælde gælder begrebet z-score ikke.
-
Datapunkt Lige med Gennemsnittet ():
Hvis datapunktet er lig med gennemsnittet, er z-score nul, hvilket indikerer, at det er præcis gennemsnittet.
-
Ikke-numeriske Indgange:
Sørg for, at alle indgange er numeriske. Ikke-numeriske indgange vil resultere i beregningsfejl.
Kumulativ Sandsynlighed
Den kumulative sandsynlighed forbundet med en z-score repræsenterer sandsynligheden for, at en tilfældig variabel fra en standard normalfordeling vil være mindre end eller lig med den angivne værdi. Det er arealet under normalfordelingskurven til venstre for den specificerede z-score.
Matematisk beregnes den kumulative sandsynlighed ved hjælp af den kumulative fordelingsfunktion (CDF) for standard normalfordeling:
Hvor:
- = CDF for standard normalfordeling ved
Den kumulative sandsynlighed er essentiel i statistik for at bestemme sandsynligheden for, at en værdi forekommer inden for et bestemt område. Det bruges bredt inden for områder som kvalitetskontrol, finans og samfundsvidenskaber.
SVG Diagram
Nedenfor er et SVG-diagram, der illustrerer standard normalfordelingskurven og z-score:
Figur: Standard Normalfordelingskurve med Z-Score Skygget
Dette diagram viser normalfordelingskurven med gennemsnittet i midten. Det skyggeområde repræsenterer den kumulative sandsynlighed op til datapunktet , der svarer til z-score.
Anvendelsestilfælde
Applikationer
-
Standardisering på tværs af forskellige skalaer:
Z-scores muliggør sammenligning mellem data fra forskellige skalaer ved at standardisere datasættene.
-
Outlier Detektion:
Identificering af datapunkter, der er betydeligt fjerne fra gennemsnittet (f.eks. z-scores mindre end -3 eller større end 3).
-
Statistisk Testning:
Bruges i hypotesetestning, herunder z-tests, for at bestemme, om et stikprøvegennemsnit signifikant adskiller sig fra et kendt populationsgennemsnit.
-
Kvalitetskontrol:
I fremstillingen hjælper z-scores med at overvåge processer for at sikre, at output forbliver inden for acceptable grænser.
-
Finans og Investering:
Vurdering af aktiepræstation ved at sammenligne afkast i forhold til det gennemsnitlige marked.
Alternativer
-
T-Score:
Ligner z-score, men bruges når stikprøvestørrelsen er lille, og populationsstandardafvigelsen er ukendt.
-
Percentil Rang:
Angiver procentdelen af scores i dens hyppighedsfordeling, der er lig med eller lavere end den.
-
Standardafvigelses Enheder:
Brug af rå standardafvigelsesværdier uden at standardisere som z-scores.
Historie
Begrebet z-score stammer fra arbejdet med normalfordelingen af Carl Friedrich Gauss i det tidlige 19. århundrede. Den standard normale fordeling, som er grundlæggende for z-scores, blev yderligere udviklet af statistikere som Abraham de Moivre og Pierre-Simon Laplace. Brugen af z-scores blev udbredt med udviklingen af statistiske metoder i det 20. århundrede, især inden for psykologisk testning og kvalitetskontrol.
Eksempler
Excel
1## Beregn z-score i Excel
2## Antager datapunkt i celle A2, gennemsnit i celle B2, standardafvigelse i celle C2
3=(A2 - B2) / C2
4
R
1## Beregn z-score i R
2calculate_z_score <- function(x, mean, sd) {
3 if (sd == 0) {
4 stop("Standardafvigelse kan ikke være nul.")
5 }
6 z <- (x - mean) / sd
7 return(z)
8}
9
10## Eksempel på brug:
11x <- 85
12mu <- 75
13sigma <- 5
14z_score <- calculate_z_score(x, mu, sigma)
15print(paste("Z-score:", z_score))
16
MATLAB
1% Beregn z-score i MATLAB
2function z = calculate_z_score(x, mu, sigma)
3 if sigma == 0
4 error('Standardafvigelse kan ikke være nul.');
5 end
6 z = (x - mu) / sigma;
7end
8
9% Eksempel på brug:
10x = 90;
11mu = 80;
12sigma = 8;
13z = calculate_z_score(x, mu, sigma);
14fprintf('Z-score: %.2f\n', z);
15
JavaScript
1// Beregn z-score i JavaScript
2function calculateZScore(x, mu, sigma) {
3 if (sigma === 0) {
4 throw new Error('Standardafvigelse kan ikke være nul.');
5 }
6 return (x - mu) / sigma;
7}
8
9// Eksempel på brug:
10const x = 100;
11const mu = 85;
12const sigma = 7;
13try {
14 const z = calculateZScore(x, mu, sigma);
15 console.log(`Z-score: ${z.toFixed(2)}`);
16} catch (error) {
17 console.error(error.message);
18}
19
Python
1## Beregn z-score i Python
2def calculate_z_score(x, mu, sigma):
3 if sigma == 0:
4 raise ValueError("Standardafvigelse kan ikke være nul.")
5 return (x - mu) / sigma
6
7## Eksempel på brug:
8x = 95
9mu = 88
10sigma = 4
11try:
12 z = calculate_z_score(x, mu, sigma)
13 print("Z-score:", round(z, 2))
14except ValueError as e:
15 print(e)
16
Java
1// Beregn z-score i Java
2public class ZScoreCalculator {
3 public static double calculateZScore(double x, double mu, double sigma) {
4 if (sigma == 0) {
5 throw new IllegalArgumentException("Standardafvigelse kan ikke være nul.");
6 }
7 return (x - mu) / sigma;
8 }
9
10 public static void main(String[] args) {
11 double x = 110;
12 double mu = 100;
13 double sigma = 5;
14
15 try {
16 double z = calculateZScore(x, mu, sigma);
17 System.out.printf("Z-score: %.2f%n", z);
18 } catch (IllegalArgumentException e) {
19 System.err.println(e.getMessage());
20 }
21 }
22}
23
C/C++
1// Beregn z-score i C++
2#include <iostream>
3#include <stdexcept>
4
5double calculate_z_score(double x, double mu, double sigma) {
6 if (sigma == 0) {
7 throw std::invalid_argument("Standardafvigelse kan ikke være nul.");
8 }
9 return (x - mu) / sigma;
10}
11
12int main() {
13 double x = 130;
14 double mu = 120;
15 double sigma = 10;
16
17 try {
18 double z = calculate_z_score(x, mu, sigma);
19 std::cout << "Z-score: " << z << std::endl;
20 } catch (const std::exception &e) {
21 std::cerr << e.what() << std::endl;
22 }
23
24 return 0;
25}
26
Ruby
1## Beregn z-score i Ruby
2def calculate_z_score(x, mu, sigma)
3 raise ArgumentError, "Standardafvigelse kan ikke være nul." if sigma == 0
4 (x - mu) / sigma
5end
6
7## Eksempel på brug:
8x = 105
9mu = 100
10sigma = 5
11begin
12 z = calculate_z_score(x, mu, sigma)
13 puts "Z-score: #{z.round(2)}"
14rescue ArgumentError => e
15 puts e.message
16end
17
PHP
1<?php
2// Beregn z-score i PHP
3function calculate_z_score($x, $mu, $sigma) {
4 if ($sigma == 0) {
5 throw new Exception("Standardafvigelse kan ikke være nul.");
6 }
7 return ($x - $mu) / $sigma;
8}
9
10// Eksempel på brug:
11$x = 115;
12$mu = 110;
13$sigma = 5;
14
15try {
16 $z = calculate_z_score($x, $mu, $sigma);
17 echo "Z-score: " . round($z, 2);
18} catch (Exception $e) {
19 echo $e->getMessage();
20}
21?>
22
Rust
1// Beregn z-score i Rust
2fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
3 if sigma == 0.0 {
4 return Err("Standardafvigelse kan ikke være nul.".to_string());
5 }
6 Ok((x - mu) / sigma)
7}
8
9fn main() {
10 let x = 125.0;
11 let mu = 115.0;
12 let sigma = 5.0;
13
14 match calculate_z_score(x, mu, sigma) {
15 Ok(z) => println!("Z-score: {:.2}", z),
16 Err(e) => println!("{}", e),
17 }
18}
19
C#
1// Beregn z-score i C#
2using System;
3
4public class ZScoreCalculator
5{
6 public static double CalculateZScore(double x, double mu, double sigma)
7 {
8 if (sigma == 0)
9 throw new ArgumentException("Standardafvigelse kan ikke være nul.");
10 return (x - mu) / sigma;
11 }
12
13 public static void Main()
14 {
15 double x = 135;
16 double mu = 125;
17 double sigma = 5;
18
19 try
20 {
21 double z = CalculateZScore(x, mu, sigma);
22 Console.WriteLine($"Z-score: {z:F2}");
23 }
24 catch (ArgumentException e)
25 {
26 Console.WriteLine(e.Message);
27 }
28 }
29}
30
Go
1// Beregn z-score i Go
2package main
3
4import (
5 "errors"
6 "fmt"
7)
8
9func calculateZScore(x, mu, sigma float64) (float64, error) {
10 if sigma == 0 {
11 return 0, errors.New("standardafvigelse kan ikke være nul")
12 }
13 return (x - mu) / sigma, nil
14}
15
16func main() {
17 x := 140.0
18 mu := 130.0
19 sigma := 5.0
20
21 z, err := calculateZScore(x, mu, sigma)
22 if err != nil {
23 fmt.Println(err)
24 } else {
25 fmt.Printf("Z-score: %.2f\n", z)
26 }
27}
28
Swift
1// Beregn z-score i Swift
2func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
3 if sigma == 0 {
4 throw NSError(domain: "Standardafvigelse kan ikke være nul.", code: 1, userInfo: nil)
5 }
6 return (x - mu) / sigma
7}
8
9// Eksempel på brug:
10let x = 120.0
11let mu = 110.0
12let sigma = 5.0
13
14do {
15 let z = try calculateZScore(x: x, mu: mu, sigma: sigma)
16 print("Z-score: \(String(format: "%.2f", z))")
17} catch let error as NSError {
18 print(error.domain)
19}
20
Referencer
-
Standard Score - Wikipedia
-
Forståelse af Z-Scores - Statistics Solutions
-
Normalfordeling og Z-Scores - Khan Academy
Yderligere Ressourcer
-
Interaktiv Z-Score Beregner
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Visualisering af Normalfordelingen
https://seeing-theory.brown.edu/normal-distribution/index.html
Feedback
Klik på feedback-toasten for at begynde at give feedback om dette værktøj.
Relaterede Værktøjer
Opdag flere værktøjer, der måske kan være nyttige for din arbejdsgang.