Z-score Kalkulator
Introduksjon
Z-score (eller standard score) er et statistisk mål som beskriver et verdiforhold til gjennomsnittet av en gruppe verdier. Det indikerer hvor mange standardavvik et element er fra gjennomsnittet. Z-scoren er et viktig verktøy i statistikk, som gjør det mulig å standardisere forskjellige datasett og identifisere avvik.
Formel
Z-scoren beregnes ved hjelp av følgende formel:
Hvor:
- = z-score
- = individuell datapunkt
- = gjennomsnittet av datasettet
- = standardavviket av datasettet
Denne formelen beregner antall standardavvik et datapunkt er fra gjennomsnittet.
Beregning
For å beregne z-scoren til et datapunkt:
-
Beregn Gjennomsnittet ():
Summer alle datapunktene og del på antall datapunkter.
-
Beregn Standardavviket ():
-
Varians ():
-
Standardavvik:
-
-
Beregn Z-scoren:
Sett inn verdiene i z-score formelen.
Kanttilfeller
-
Null Standardavvik ():
Når alle datapunktene er identiske, er standardavviket null, noe som gjør z-scoren udefinert fordi du ikke kan dele på null. I dette tilfellet gjelder ikke begrepet z-score.
-
Datapunkt Lik Gjennomsnittet ():
Hvis datapunktet er lik gjennomsnittet, er z-scoren null, noe som indikerer at det er akkurat gjennomsnittlig.
-
Ikke-numeriske Inndata:
Sørg for at alle inndata er numeriske. Ikke-numeriske inndata vil resultere i beregningsfeil.
Kumulativ Sannsynlighet
Den kumulative sannsynligheten assosiert med en z-score representerer sannsynligheten for at en tilfeldig variabel fra en standard normalfordeling vil være mindre enn eller lik den gitte verdien. Det er området under normalfordelingskurven til venstre for den spesifiserte z-scoren.
Matematisk beregnes den kumulative sannsynligheten ved hjelp av den kumulative fordelingsfunksjonen (CDF) for standard normalfordeling:
Hvor:
- = CDF for standard normalfordeling ved
Den kumulative sannsynligheten er viktig i statistikk for å bestemme sannsynligheten for at en verdi forekommer innenfor et bestemt område. Den brukes mye innen kvalitetskontroll, finans og samfunnsvitenskap.
SVG Diagram
Nedenfor er et SVG-diagram som illustrerer standard normalfordelingskurven og z-scoren:
Figur: Standard Normalfordelingskurve med Z-score Skygget
Dette diagrammet viser normalfordelingskurven med gjennomsnittet i sentrum. Det skyggeområdet representerer den kumulative sannsynligheten opp til datapunktet , som tilsvarer z-scoren.
Bruksområder
Applikasjoner
-
Standardisering på Tvers av Ulike Skalaer:
Z-scores gjør det mulig å sammenligne data fra forskjellige skalaer ved å standardisere datasettene.
-
Avviksdeteksjon:
Identifisere datapunkter som er betydelig fjernt fra gjennomsnittet (f.eks. z-scores mindre enn -3 eller større enn 3).
-
Statistisk Testing:
Brukt i hypotesetesting, inkludert z-tester, for å avgjøre om et utvalgsgjennomsnitt avviker betydelig fra et kjent populasjonsgjennomsnitt.
-
Kvalitetskontroll:
I produksjon hjelper z-scores med å overvåke prosesser for å sikre at utdataene forblir innen akseptable grenser.
-
Finans og Investering:
Vurdere aksjeutvikling ved å sammenligne avkastning i forhold til gjennomsnittlig markedsytelse.
Alternativer
-
T-Score:
Ligner på z-scoren, men brukes når utvalgsstørrelsen er liten og populasjonsstandardavviket er ukjent.
-
Prosentil Rangering:
Indikerer prosentandelen av poeng i sin frekvensfordeling som er lik eller lavere enn den.
-
Standardavvik Enheter:
Bruke rå standardavviksverdier uten å standardisere som z-scores.
Historie
Konseptet med z-score stammer fra arbeidet med normalfordelingen av Carl Friedrich Gauss på tidlig 1800-tallet. Den standard normalfordelingen, som er grunnleggende for z-scores, ble videreutviklet av statistikere som Abraham de Moivre og Pierre-Simon Laplace. Bruken av z-scores ble utbredt med utviklingen av statistiske metoder på 1900-tallet, spesielt innen psykologisk testing og kvalitetskontroll.
Eksempler
Excel
## Beregn z-score i Excel
## Anta datapunkt i celle A2, gjennomsnitt i celle B2, standardavvik i celle C2
=(A2 - B2) / C2
R
## Beregn z-score i R
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("Standardavvik kan ikke være null.")
}
z <- (x - mean) / sd
return(z)
}
## Eksempel på bruk:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-score:", z_score))
MATLAB
% Beregn z-score i MATLAB
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('Standardavvik kan ikke være null.');
end
z = (x - mu) / sigma;
end
% Eksempel på bruk:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-score: %.2f\n', z);
JavaScript
// Beregn z-score i JavaScript
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('Standardavvik kan ikke være null.');
}
return (x - mu) / sigma;
}
// Eksempel på bruk:
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
## Beregn z-score i Python
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("Standardavvik kan ikke være null.")
return (x - mu) / sigma
## Eksempel på bruk:
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
// Beregn z-score i Java
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("Standardavvik kan ikke være null.");
}
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++
// Beregn z-score i C++
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("Standardavvik kan ikke være null.");
}
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
## Beregn z-score i Ruby
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "Standardavvik kan ikke være null." if sigma == 0
(x - mu) / sigma
end
## Eksempel på bruk:
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
// Beregn z-score i PHP
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("Standardavvik kan ikke være null.");
}
return ($x - $mu) / $sigma;
}
// Eksempel på bruk:
$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
// Beregn z-score i Rust
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("Standardavvik kan ikke være null.".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#
// Beregn z-score i C#
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("Standardavvik kan ikke være null.");
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
// Beregn z-score i Go
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("standardavvik kan ikke være null")
}
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
// Beregn z-score i Swift
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "Standardavvik kan ikke være null.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Eksempel på bruk:
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)
}
Referanser
-
Standard Score - Wikipedia
-
Forstå Z-Scores - Statistics Solutions
-
Normalfordeling og Z-Scores - Khan Academy
Ytterligere Ressurser
-
Interaktiv Z-Score Kalkulator
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Visualisering av Normalfordeling
https://seeing-theory.brown.edu/normal-distribution/index.html