Konwerter przedziału ufności na odchylenia standardowe
Konwertuj procenty przedziału ufności na odpowiadające im odchylenia standardowe. Niezbędne do analizy statystycznej, testowania hipotez i interpretacji wyników badań.
Konwerter przedziału ufności na odchylenia standardowe
Dokumentacja
Konwerter przedziału ufności na odchylenia standardowe
[... istniejący wstęp i sekcje z wzorami ...]
Wizualizacja
Poniższy diagram ilustruje związek między przedziałami ufności a odchyleniami standardowymi w rozkładzie normalnym:
[... istniejące sekcje obliczeń i przypadków brzegowych ...]
Przykłady
Oto przykłady kodu do konwersji przedziałów ufności na odchylenia standardowe w różnych językach programowania:
1' Funkcja Excel VBA do konwersji przedziału ufności na odchylenia standardowe
2Function ConfidenceToStdDev(CI As Double) As Double
3 ConfidenceToStdDev = Application.NormSInv(1 - (1 - CI) / 2)
4End Function
5' Użycie:
6' =ConfidenceToStdDev(0.95)
7
1confidence_to_std_dev <- function(confidence_interval) {
2 qnorm((1 + confidence_interval) / 2)
3}
4
5# Przykład użycia:
6ci <- 0.95 # 95% przedział ufności
7z_score <- confidence_to_std_dev(ci)
8cat(sprintf("%.2f%% przedział ufności odpowiada %.4f odchyleniom standardowym\n", ci*100, z_score))
9
1function z = confidenceToStdDev(confidenceInterval)
2 z = norminv((1 + confidenceInterval) / 2);
3end
4
5% Przykład użycia:
6ci = 0.95; % 95% przedział ufności
7zScore = confidenceToStdDev(ci);
8fprintf('%.2f%% przedział ufności odpowiada %.4f odchyleniom standardowym\n', ci*100, zScore);
9
1import scipy.stats as stats
2
3def confidence_to_std_dev(confidence_interval):
4 return stats.norm.ppf((1 + confidence_interval) / 2)
5
6# Przykład użycia:
7ci = 0.95 # 95% przedział ufności
8z_score = confidence_to_std_dev(ci)
9print(f"{ci*100}% przedział ufności odpowiada {z_score:.4f} odchyleniom standardowym")
10
1function confidenceToStdDev(confidenceInterval) {
2 // Używając przybliżenia dla funkcji odwrotnej błędu
3 function erfInv(x) {
4 const a = 0.147;
5 const y = Math.log(1 - x*x);
6 const z = 2/(Math.PI * a) + y/2;
7 return Math.sign(x) * Math.sqrt(Math.sqrt(z*z - y/a) - z);
8 }
9
10 return Math.sqrt(2) * erfInv(confidenceInterval);
11}
12
13// Przykład użycia:
14const ci = 0.95;
15const zScore = confidenceToStdDev(ci);
16console.log(`${ci*100}% przedział ufności odpowiada ${zScore.toFixed(4)} odchyleniom standardowym`);
17
1public class ConfidenceIntervalConverter {
2 public static double confidenceToStdDev(double confidenceInterval) {
3 // Używając algorytmu Moro do przybliżenia odwrotnego CDF normalnego
4 double p = (1 + confidenceInterval) / 2;
5 double t = Math.sqrt(-2 * Math.log(1 - p));
6 double c0 = 2.515517;
7 double c1 = 0.802853;
8 double c2 = 0.010328;
9 double d1 = 1.432788;
10 double d2 = 0.189269;
11 double d3 = 0.001308;
12
13 return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t));
14 }
15
16 public static void main(String[] args) {
17 double ci = 0.95;
18 double zScore = confidenceToStdDev(ci);
19 System.out.printf("%.2f%% przedział ufności odpowiada %.4f odchyleniom standardowym%n", ci*100, zScore);
20 }
21}
22
1#include <iostream>
2#include <cmath>
3
4double confidenceToStdDev(double confidenceInterval) {
5 // Używając algorytmu Moro do przybliżenia odwrotnego CDF normalnego
6 double p = (1 + confidenceInterval) / 2;
7 double t = std::sqrt(-2 * std::log(1 - p));
8 double c0 = 2.515517, c1 = 0.802853, c2 = 0.010328;
9 double d1 = 1.432788, d2 = 0.189269, d3 = 0.001308;
10
11 return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t));
12}
13
14int main() {
15 double ci = 0.95;
16 double zScore = confidenceToStdDev(ci);
17 printf("%.2f%% przedział ufności odpowiada %.4f odchyleniom standardowym\n", ci*100, zScore);
18 return 0;
19}
20
1def confidence_to_std_dev(confidence_interval)
2 # Używając przybliżenia dla funkcji odwrotnej błędu
3 p = (1 + confidence_interval) / 2
4 t = Math.sqrt(-2 * Math.log(1 - p))
5 c0, c1, c2 = 2.515517, 0.802853, 0.010328
6 d1, d2, d3 = 1.432788, 0.189269, 0.001308
7
8 t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t))
9end
10
11# Przykład użycia:
12ci = 0.95
13z_score = confidence_to_std_dev(ci)
14puts "#{ci*100}% przedział ufności odpowiada #{z_score.round(4)} odchyleniom standardowym"
15
1<?php
2function confidenceToStdDev($confidenceInterval) {
3 // Używając przybliżenia dla funkcji odwrotnej błędu
4 $p = (1 + $confidenceInterval) / 2;
5 $t = sqrt(-2 * log(1 - $p));
6 $c0 = 2.515517; $c1 = 0.802853; $c2 = 0.010328;
7 $d1 = 1.432788; $d2 = 0.189269; $d3 = 0.001308;
8
9 return $t - (($c0 + $c1 * $t + $c2 * $t * $t) / (1 + $d1 * $t + $d2 * $t * $t + $d3 * $t * $t * $t));
10}
11
12// Przykład użycia:
13$ci = 0.95;
14$zScore = confidenceToStdDev($ci);
15printf("%.2f%% przedział ufności odpowiada %.4f odchyleniom standardowym\n", $ci*100, $zScore);
16?>
17
1fn confidence_to_std_dev(confidence_interval: f64) -> f64 {
2 // Używając przybliżenia dla funkcji odwrotnej błędu
3 let p = (1.0 + confidence_interval) / 2.0;
4 let t = (-2.0 * (1.0 - p).ln()).sqrt();
5 let c0 = 2.515517;
6 let c1 = 0.802853;
7 let c2 = 0.010328;
8 let d1 = 1.432788;
9 let d2 = 0.189269;
10 let d3 = 0.001308;
11
12 t - ((c0 + c1 * t + c2 * t * t) / (1.0 + d1 * t + d2 * t * t + d3 * t * t * t))
13}
14
15fn main() {
16 let ci = 0.95;
17 let z_score = confidence_to_std_dev(ci);
18 println!("{:.2}% przedział ufności odpowiada {:.4} odchyleniom standardowym", ci*100.0, z_score);
19}
20
1using System;
2
3class ConfidenceIntervalConverter
4{
5 static double ConfidenceToStdDev(double confidenceInterval)
6 {
7 // Używając przybliżenia dla funkcji odwrotnej błędu
8 double p = (1 + confidenceInterval) / 2;
9 double t = Math.Sqrt(-2 * Math.Log(1 - p));
10 double c0 = 2.515517, c1 = 0.802853, c2 = 0.010328;
11 double d1 = 1.432788, d2 = 0.189269, d3 = 0.001308;
12
13 return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t));
14 }
15
16 static void Main()
17 {
18 double ci = 0.95;
19 double zScore = ConfidenceToStdDev(ci);
20 Console.WriteLine($"{ci*100:F2}% przedział ufności odpowiada {zScore:F4} odchyleniom standardowym");
21 }
22}
23
1package main
2
3import (
4 "fmt"
5 "math"
6)
7
8func confidenceToStdDev(confidenceInterval float64) float64 {
9 // Używając przybliżenia dla funkcji odwrotnej błędu
10 p := (1 + confidenceInterval) / 2
11 t := math.Sqrt(-2 * math.Log(1 - p))
12 c0, c1, c2 := 2.515517, 0.802853, 0.010328
13 d1, d2, d3 := 1.432788, 0.189269, 0.001308
14
15 return t - ((c0 + c1*t + c2*t*t) / (1 + d1*t + d2*t*t + d3*t*t*t))
16}
17
18func main() {
19 ci := 0.95
20 zScore := confidenceToStdDev(ci)
21 fmt.Printf("%.2f%% przedział ufności odpowiada %.4f odchyleniom standardowym\n", ci*100, zScore)
22}
23
1import Foundation
2
3func confidenceToStdDev(_ confidenceInterval: Double) -> Double {
4 // Używając przybliżenia dla funkcji odwrotnej błędu
5 let p = (1 + confidenceInterval) / 2
6 let t = sqrt(-2 * log(1 - p))
7 let c0 = 2.515517, c1 = 0.802853, c2 = 0.010328
8 let d1 = 1.432788, d2 = 0.189269, d3 = 0.001308
9
10 return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t))
11}
12
13// Przykład użycia:
14let ci = 0.95
15let zScore = confidenceToStdDev(ci)
16print(String(format: "%.2f%% przedział ufności odpowiada %.4f odchyleniom standardowym", ci*100, zScore))
17
Przypadki testowe
Aby zapewnić dokładność funkcji konwersji w różnych przedziałach ufności, oto kilka przypadków testowych:
1import unittest
2import math
3
4def confidence_to_std_dev(confidence_interval):
5 return stats.norm.ppf((1 + confidence_interval) / 2)
6
7class TestConfidenceToStdDev(unittest.TestCase):
8 def test_common_confidence_intervals(self):
9 self.assertAlmostEqual(confidence_to_std_dev(0.6827), 1.0, places=4)
10 self.assertAlmostEqual(confidence_to_std_dev(0.95), 1.96, places=2)
11 self.assertAlmostEqual(confidence_to_std_dev(0.99), 2.576, places=3)
12 self.assertAlmostEqual(confidence_to_std_dev(0.9973), 3.0, places=4)
13
14 def test_edge_cases(self):
15 self.assertAlmostEqual(confidence_to_std_dev(0.5), 0.6745, places=4)
16 self.assertTrue(math.isinf(confidence_to_std_dev(1.0)))
17 self.assertEqual(confidence_to_std_dev(0.0), -float('inf'))
18
19if __name__ == '__main__':
20 unittest.main()
21
[... istniejące przypadki użycia, alternatywy, historia, ograniczenia i sekcje odniesień ...]
Opinie
Kliknij komunikat informujący, aby rozpocząć udzielanie opinii na temat tego narzędzia.
Powiązane narzędzia
Odkryj więcej narzędzi, które mogą być przydatne dla Twojego przepływu pracy