Z-Score Laskin
Johdanto
Z-piste (tai standardipiste) on tilastollinen mittaus, joka kuvaa arvon suhdetta arvojen keskiarvoon. Se osoittaa, kuinka monta keskihajontaa elementti on keskiarvosta. Z-piste on tärkeä työkalu tilastotieteessä, joka mahdollistaa erilaisten tietojoukkojen standardoinnin ja poikkeavien arvojen tunnistamisen.
Kaava
Z-piste lasketaan seuraavalla kaavalla:
Missä:
- = z-piste
- = yksittäinen datapiste
- = tietojoukon keskiarvo
- = tietojoukon keskihajonta
Tämä kaava laskee, kuinka monta keskihajontaa datapiste on keskiarvosta.
Laskenta
Laskettaessa z-pistettä datapisteelle:
-
Laske keskiarvo ():
Yhdistele kaikki datapisteet ja jaa niiden summa datapisteiden lukumäärällä.
-
Laske keskihajonta ():
-
Varianssi ():
-
Keskihajonta:
-
-
Laske Z-piste:
Korvaa arvot z-pisteen kaavassa.
Reunatapaukset
-
Nolla Keskihajonta ():
Kun kaikki datapisteet ovat identtisiä, keskihajonta on nolla, mikä tekee z-pisteen määrittelemättömäksi, koska nollalla jakaminen ei ole mahdollista. Tässä tapauksessa z-pisteen käsite ei päde.
-
Datapiste on yhtä suuri kuin keskiarvo ():
Jos datapiste on yhtä suuri kuin keskiarvo, z-piste on nolla, mikä osoittaa, että se on tarkalleen keskiarvo.
-
Ei-numeeriset syötteet:
Varmista, että kaikki syötteet ovat numeerisia. Ei-numeeriset syötteet johtavat laskentavirheisiin.
Kumulatiivinen todennäköisyys
Kumulatiivinen todennäköisyys, joka liittyy z-pisteeseen, edustaa todennäköisyyttä, että satunnainen muuttuja standardinormaalijakaumasta on pienempi tai yhtä suuri kuin annettu arvo. Se on alue normaalijakauman käyrän vasemmalla puolella määritellyn z-pisteen kohdalla.
Matemaattisesti kumulatiivinen todennäköisyys lasketaan käyttämällä standardinormaalijakauman kumulatiivista jakautumafunktiota (CDF):
Missä:
- = CDF standardinormaalijakaumassa kohdassa
Kumulatiivinen todennäköisyys on olennainen tilastotieteessä, koska se määrittää arvon esiintymisen todennäköisyyden tietyllä alueella. Sitä käytetään laajalti aloilla, kuten laadunvalvonta, rahoitus ja yhteiskuntatieteet.
SVG-diagrammi
Alla on SVG-diagrammi, joka havainnollistaa standardinormaalijakauman käyrää ja z-pistettä:
Kuva: Standardinormaalijakauman käyrä z-piste varjostettuna
Tämä diagrammi näyttää normaalijakauman käyrän, jossa keskiarvo on keskellä. Varjostettu alue edustaa kumulatiivista todennäköisyyttä datapisteeseen asti, joka vastaa z-pistettä.
Käyttötapaukset
Sovellukset
-
Standardointi eri mittakaavoissa:
Z-pisteet mahdollistavat tietojen vertailun eri mittakaavoista standardoimalla tietojoukot.
-
Poikkeavien arvojen tunnistaminen:
Tunnistetaan datapisteet, jotka ovat merkittävästi kaukana keskiarvosta (esim. z-pisteet alle -3 tai yli 3).
-
Tilastollinen testaus:
Käytetään hypoteesitestauksessa, mukaan lukien z-testit, määrittämään, poikkeaako otoksen keskiarvo merkittävästi tunnetusta väestön keskiarvosta.
-
Laadunvalvonta:
Valmistuksessa z-pisteet auttavat seuraamaan prosesseja varmistaakseen, että tuotokset pysyvät hyväksyttävien rajojen sisällä.
-
Rahoitus ja sijoittaminen:
Osakkeiden suorituskyvyn arviointi vertaamalla tuottoja suhteessa keskimääräiseen markkinasuorituskykyyn.
Vaihtoehdot
-
T-piste:
Samankaltainen kuin z-piste, mutta käytetään, kun otoskoko on pieni ja väestön keskihajonta on tuntematon.
-
Prosenttipiste:
Ilmaisee prosenttiosuuden pisteistä sen frekvenssijakaumassa, jotka ovat yhtä suuria tai pienempiä kuin se.
-
Keskihajontayksiköt:
Käytetään raakoja keskihajontaarvoja ilman standardointia z-pisteiksi.
Historia
Z-pisteen käsite juontaa juurensa Carl Friedrich Gaussin työstä normaalijakauman parissa 1800-luvun alussa. Standardinormaalijakauma, joka on keskeinen z-pisteille, kehittyi edelleen tilastotieteilijöiden, kuten Abraham de Moivren ja Pierre-Simon Laplacen, toimesta. Z-pisteiden käyttö yleistyi tilastollisten menetelmien kehittyessä 1900-luvulla, erityisesti psykologisessa testauksessa ja laadunvalvonnassa.
Esimerkit
Excel
## Laske z-piste Excelissä
## Oletetaan, että datapiste solussa A2, keskiarvo solussa B2, keskihajonta solussa C2
=(A2 - B2) / C2
R
## Laske z-piste R:ssä
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("Keskihajonta ei voi olla nolla.")
}
z <- (x - mean) / sd
return(z)
}
## Esimerkkikäyttö:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-piste:", z_score))
MATLAB
% Laske z-piste MATLABissa
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('Keskihajonta ei voi olla nolla.');
end
z = (x - mu) / sigma;
end
% Esimerkkikäyttö:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-piste: %.2f\n', z);
JavaScript
// Laske z-piste JavaScriptissä
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('Keskihajonta ei voi olla nolla.');
}
return (x - mu) / sigma;
}
// Esimerkkikäyttö:
const x = 100;
const mu = 85;
const sigma = 7;
try {
const z = calculateZScore(x, mu, sigma);
console.log(`Z-piste: ${z.toFixed(2)}`);
} catch (error) {
console.error(error.message);
}
Python
## Laske z-piste Pythonissa
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("Keskihajonta ei voi olla nolla.")
return (x - mu) / sigma
## Esimerkkikäyttö:
x = 95
mu = 88
sigma = 4
try:
z = calculate_z_score(x, mu, sigma)
print("Z-piste:", round(z, 2))
except ValueError as e:
print(e)
Java
// Laske z-piste Javassa
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("Keskihajonta ei voi olla nolla.");
}
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-piste: %.2f%n", z);
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
}
}
}
C/C++
// Laske z-piste C++:ssa
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("Keskihajonta ei voi olla nolla.");
}
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-piste: " << z << std::endl;
} catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Ruby
## Laske z-piste Rubyssä
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "Keskihajonta ei voi olla nolla." if sigma == 0
(x - mu) / sigma
end
## Esimerkkikäyttö:
x = 105
mu = 100
sigma = 5
begin
z = calculate_z_score(x, mu, sigma)
puts "Z-piste: #{z.round(2)}"
rescue ArgumentError => e
puts e.message
end
PHP
<?php
// Laske z-piste PHP:ssä
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("Keskihajonta ei voi olla nolla.");
}
return ($x - $mu) / $sigma;
}
// Esimerkkikäyttö:
$x = 115;
$mu = 110;
$sigma = 5;
try {
$z = calculate_z_score($x, $mu, $sigma);
echo "Z-piste: " . round($z, 2);
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Rust
// Laske z-piste Rustissa
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("Keskihajonta ei voi olla nolla.".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-piste: {:.2}", z),
Err(e) => println!("{}", e),
}
}
C#
// Laske z-piste C#:ssä
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("Keskihajonta ei voi olla nolla.");
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-piste: {z:F2}");
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
}
}
}
Go
// Laske z-piste Go:ssa
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("keskihajonta ei voi olla nolla")
}
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-piste: %.2f\n", z)
}
}
Swift
// Laske z-piste Swiftissä
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "Keskihajonta ei voi olla nolla.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Esimerkkikäyttö:
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-piste: \(String(format: "%.2f", z))")
} catch let error as NSError {
print(error.domain)
}
Viitteet
-
Standardipiste - Wikipedia
-
Z-pisteiden ymmärtäminen - Statistics Solutions
-
Normaalijakauma ja Z-pisteet - Khan Academy
Lisäresurssit
-
Interaktiivinen Z-pisteen laskin
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Normaalijakauman visualisointi
https://seeing-theory.brown.edu/normal-distribution/index.html