Bộ chuyển đổi Khoảng tin cậy sang Độ lệch chuẩn
Chuyển đổi tỷ lệ phần trăm khoảng tin cậy sang độ lệch chuẩn tương ứng. Cần thiết cho phân tích thống kê, kiểm định giả thuyết và diễn giải kết quả nghiên cứu.
Bảng Chuyển Đổi Khoảng Tin Cậy Sang Độ Lệch Chuẩn
Tài liệu hướng dẫn
Bộ Chuyển Đổi Khoảng Tin Cậy Sang Độ Lệch Chuẩn
[... phần giới thiệu và công thức hiện có ...]
Hình Ảnh
Sơ đồ sau đây minh họa mối quan hệ giữa các khoảng tin cậy và độ lệch chuẩn trong phân phối chuẩn:
[... phần tính toán và các trường hợp ngoại lệ hiện có ...]
Ví Dụ
Dưới đây là các ví dụ mã để chuyển đổi các khoảng tin cậy sang độ lệch chuẩn trong các ngôn ngữ lập trình khác nhau:
1' Hàm Excel VBA cho Khoảng Tin Cậy sang Độ Lệch Chuẩn
2Function ConfidenceToStdDev(CI As Double) As Double
3 ConfidenceToStdDev = Application.NormSInv(1 - (1 - CI) / 2)
4End Function
5' Cách sử dụng:
6' =ConfidenceToStdDev(0.95)
7
1confidence_to_std_dev <- function(confidence_interval) {
2 qnorm((1 + confidence_interval) / 2)
3}
4
5# Cách sử dụng ví dụ:
6ci <- 0.95 # khoảng tin cậy 95%
7z_score <- confidence_to_std_dev(ci)
8cat(sprintf("%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n", ci*100, z_score))
9
1function z = confidenceToStdDev(confidenceInterval)
2 z = norminv((1 + confidenceInterval) / 2);
3end
4
5% Cách sử dụng ví dụ:
6ci = 0.95; % khoảng tin cậy 95%
7zScore = confidenceToStdDev(ci);
8fprintf('%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\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# Cách sử dụng ví dụ:
7ci = 0.95 # khoảng tin cậy 95%
8z_score = confidence_to_std_dev(ci)
9print(f"{ci*100}% khoảng tin cậy tương ứng với {z_score:.4f} độ lệch chuẩn")
10
1function confidenceToStdDev(confidenceInterval) {
2 // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
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// Cách sử dụng ví dụ:
14const ci = 0.95;
15const zScore = confidenceToStdDev(ci);
16console.log(`${ci*100}% khoảng tin cậy tương ứng với ${zScore.toFixed(4)} độ lệch chuẩn`);
17
1public class ConfidenceIntervalConverter {
2 public static double confidenceToStdDev(double confidenceInterval) {
3 // Sử dụng thuật toán Moro để xấp xỉ cho CDF nghịch đảo chuẩn
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%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn%n', ci*100, zScore);
20 }
21}
22
1#include <iostream>
2#include <cmath>
3
4double confidenceToStdDev(double confidenceInterval) {
5 // Sử dụng thuật toán Moro để xấp xỉ cho CDF nghịch đảo chuẩn
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%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n', ci*100, zScore);
18 return 0;
19}
20
1def confidence_to_std_dev(confidence_interval)
2 # Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
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# Cách sử dụng ví dụ:
12ci = 0.95
13z_score = confidence_to_std_dev(ci)
14puts "#{ci*100}% khoảng tin cậy tương ứng với #{z_score.round(4)} độ lệch chuẩn"
15
1<?php
2function confidenceToStdDev($confidenceInterval) {
3 // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
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// Cách sử dụng ví dụ:
13$ci = 0.95;
14$zScore = confidenceToStdDev($ci);
15printf('%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n', $ci*100, $zScore);
16?>
17
1fn confidence_to_std_dev(confidence_interval: f64) -> f64 {
2 // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
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}% khoảng tin cậy tương ứng với {:.4} độ lệch chuẩn", ci*100.0, z_score);
19}
20
1using System;
2
3class ConfidenceIntervalConverter
4{
5 static double ConfidenceToStdDev(double confidenceInterval)
6 {
7 // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
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}% khoảng tin cậy tương ứng với {zScore:F4} độ lệch chuẩn");
21 }
22}
23
1package main
2
3import (
4 "fmt"
5 "math"
6)
7
8func confidenceToStdDev(confidenceInterval float64) float64 {
9 // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
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%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n', ci*100, zScore)
22}
23
1import Foundation
2
3func confidenceToStdDev(_ confidenceInterval: Double) -> Double {
4 // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
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// Cách sử dụng ví dụ:
14let ci = 0.95
15let zScore = confidenceToStdDev(ci)
16print(String(format: "%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn", ci*100, zScore))
17
Các Trường Hợp Kiểm Tra
Để đảm bảo độ chính xác của hàm chuyển đổi trên nhiều khoảng tin cậy khác nhau, dưới đây là một số trường hợp kiểm tra:
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
[... phần sử dụng, thay thế, lịch sử, giới hạn và tài liệu tham khảo hiện có ...]
Phản hồi
Nhấp vào thông báo phản hồi để bắt đầu đưa ra phản hồi về công cụ này
Công cụ Liên quan
Khám phá thêm các công cụ có thể hữu ích cho quy trình làm việc của bạn