Whiz Tools

Bảng Chuyển Đổi Khoảng Tin Cậy Sang Độ Lệch Chuẩ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:

μ 68.27% 95% 99.73%

[... 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:

' Hàm Excel VBA cho Khoảng Tin Cậy sang Độ Lệch Chuẩn
Function ConfidenceToStdDev(CI As Double) As Double
    ConfidenceToStdDev = Application.NormSInv(1 - (1 - CI) / 2)
End Function
' Cách sử dụng:
' =ConfidenceToStdDev(0.95)
confidence_to_std_dev <- function(confidence_interval) {
  qnorm((1 + confidence_interval) / 2)
}

# Cách sử dụng ví dụ:
ci <- 0.95  # khoảng tin cậy 95%
z_score <- confidence_to_std_dev(ci)
cat(sprintf("%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n", ci*100, z_score))
function z = confidenceToStdDev(confidenceInterval)
    z = norminv((1 + confidenceInterval) / 2);
end

% Cách sử dụng ví dụ:
ci = 0.95;  % khoảng tin cậy 95%
zScore = confidenceToStdDev(ci);
fprintf('%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n', ci*100, zScore);
import scipy.stats as stats

def confidence_to_std_dev(confidence_interval):
    return stats.norm.ppf((1 + confidence_interval) / 2)

# Cách sử dụng ví dụ:
ci = 0.95  # khoảng tin cậy 95%
z_score = confidence_to_std_dev(ci)
print(f"{ci*100}% khoảng tin cậy tương ứng với {z_score:.4f} độ lệch chuẩn")
function confidenceToStdDev(confidenceInterval) {
  // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
  function erfInv(x) {
    const a = 0.147;
    const y = Math.log(1 - x*x);
    const z = 2/(Math.PI * a) + y/2;
    return Math.sign(x) * Math.sqrt(Math.sqrt(z*z - y/a) - z);
  }
  
  return Math.sqrt(2) * erfInv(confidenceInterval);
}

// Cách sử dụng ví dụ:
const ci = 0.95;
const zScore = confidenceToStdDev(ci);
console.log(`${ci*100}% khoảng tin cậy tương ứng với ${zScore.toFixed(4)} độ lệch chuẩn`);
public class ConfidenceIntervalConverter {
    public static double confidenceToStdDev(double confidenceInterval) {
        // Sử dụng thuật toán Moro để xấp xỉ cho CDF nghịch đảo chuẩn
        double p = (1 + confidenceInterval) / 2;
        double t = Math.sqrt(-2 * Math.log(1 - p));
        double c0 = 2.515517;
        double c1 = 0.802853;
        double c2 = 0.010328;
        double d1 = 1.432788;
        double d2 = 0.189269;
        double d3 = 0.001308;
        
        return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t));
    }

    public static void main(String[] args) {
        double ci = 0.95;
        double zScore = confidenceToStdDev(ci);
        System.out.printf('%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn%n', ci*100, zScore);
    }
}
#include <iostream>
#include <cmath>

double confidenceToStdDev(double confidenceInterval) {
    // Sử dụng thuật toán Moro để xấp xỉ cho CDF nghịch đảo chuẩn
    double p = (1 + confidenceInterval) / 2;
    double t = std::sqrt(-2 * std::log(1 - p));
    double c0 = 2.515517, c1 = 0.802853, c2 = 0.010328;
    double d1 = 1.432788, d2 = 0.189269, d3 = 0.001308;
    
    return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t));
}

int main() {
    double ci = 0.95;
    double zScore = confidenceToStdDev(ci);
    printf('%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n', ci*100, zScore);
    return 0;
}
def confidence_to_std_dev(confidence_interval)
  # Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
  p = (1 + confidence_interval) / 2
  t = Math.sqrt(-2 * Math.log(1 - p))
  c0, c1, c2 = 2.515517, 0.802853, 0.010328
  d1, d2, d3 = 1.432788, 0.189269, 0.001308
  
  t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t))
end

# Cách sử dụng ví dụ:
ci = 0.95
z_score = confidence_to_std_dev(ci)
puts "#{ci*100}% khoảng tin cậy tương ứng với #{z_score.round(4)} độ lệch chuẩn"
<?php
function confidenceToStdDev($confidenceInterval) {
    // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
    $p = (1 + $confidenceInterval) / 2;
    $t = sqrt(-2 * log(1 - $p));
    $c0 = 2.515517; $c1 = 0.802853; $c2 = 0.010328;
    $d1 = 1.432788; $d2 = 0.189269; $d3 = 0.001308;
    
    return $t - (($c0 + $c1 * $t + $c2 * $t * $t) / (1 + $d1 * $t + $d2 * $t * $t + $d3 * $t * $t * $t));
}

// Cách sử dụng ví dụ:
$ci = 0.95;
$zScore = confidenceToStdDev($ci);
printf('%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n', $ci*100, $zScore);
?>
fn confidence_to_std_dev(confidence_interval: f64) -> f64 {
    // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
    let p = (1.0 + confidence_interval) / 2.0;
    let t = (-2.0 * (1.0 - p).ln()).sqrt();
    let c0 = 2.515517;
    let c1 = 0.802853;
    let c2 = 0.010328;
    let d1 = 1.432788;
    let d2 = 0.189269;
    let d3 = 0.001308;
    
    t - ((c0 + c1 * t + c2 * t * t) / (1.0 + d1 * t + d2 * t * t + d3 * t * t * t))
}

fn main() {
    let ci = 0.95;
    let z_score = confidence_to_std_dev(ci);
    println!("{:.2}% khoảng tin cậy tương ứng với {:.4} độ lệch chuẩn", ci*100.0, z_score);
}
using System;

class ConfidenceIntervalConverter
{
    static double ConfidenceToStdDev(double confidenceInterval)
    {
        // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
        double p = (1 + confidenceInterval) / 2;
        double t = Math.Sqrt(-2 * Math.Log(1 - p));
        double c0 = 2.515517, c1 = 0.802853, c2 = 0.010328;
        double d1 = 1.432788, d2 = 0.189269, d3 = 0.001308;
        
        return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t));
    }

    static void Main()
    {
        double ci = 0.95;
        double zScore = ConfidenceToStdDev(ci);
        Console.WriteLine($"{ci*100:F2}% khoảng tin cậy tương ứng với {zScore:F4} độ lệch chuẩn");
    }
}
package main

import (
    "fmt"
    "math"
)

func confidenceToStdDev(confidenceInterval float64) float64 {
    // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
    p := (1 + confidenceInterval) / 2
    t := math.Sqrt(-2 * math.Log(1 - p))
    c0, c1, c2 := 2.515517, 0.802853, 0.010328
    d1, d2, d3 := 1.432788, 0.189269, 0.001308
    
    return t - ((c0 + c1*t + c2*t*t) / (1 + d1*t + d2*t*t + d3*t*t*t))
}

func main() {
    ci := 0.95
    zScore := confidenceToStdDev(ci)
    fmt.Printf('%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn\n', ci*100, zScore)
}
import Foundation

func confidenceToStdDev(_ confidenceInterval: Double) -> Double {
    // Sử dụng một xấp xỉ cho hàm nghịch đảo của hàm lỗi
    let p = (1 + confidenceInterval) / 2
    let t = sqrt(-2 * log(1 - p))
    let c0 = 2.515517, c1 = 0.802853, c2 = 0.010328
    let d1 = 1.432788, d2 = 0.189269, d3 = 0.001308
    
    return t - ((c0 + c1 * t + c2 * t * t) / (1 + d1 * t + d2 * t * t + d3 * t * t * t))
}

// Cách sử dụng ví dụ:
let ci = 0.95
let zScore = confidenceToStdDev(ci)
print(String(format: "%.2f%% khoảng tin cậy tương ứng với %.4f độ lệch chuẩn", ci*100, zScore))

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:

import unittest
import math

def confidence_to_std_dev(confidence_interval):
    return stats.norm.ppf((1 + confidence_interval) / 2)

class TestConfidenceToStdDev(unittest.TestCase):
    def test_common_confidence_intervals(self):
        self.assertAlmostEqual(confidence_to_std_dev(0.6827), 1.0, places=4)
        self.assertAlmostEqual(confidence_to_std_dev(0.95), 1.96, places=2)
        self.assertAlmostEqual(confidence_to_std_dev(0.99), 2.576, places=3)
        self.assertAlmostEqual(confidence_to_std_dev(0.9973), 3.0, places=4)

    def test_edge_cases(self):
        self.assertAlmostEqual(confidence_to_std_dev(0.5), 0.6745, places=4)
        self.assertTrue(math.isinf(confidence_to_std_dev(1.0)))
        self.assertEqual(confidence_to_std_dev(0.0), -float('inf'))

if __name__ == '__main__':
    unittest.main()

[... 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ó ...]

Feedback