Convertidor de Intervalos de Confianza a Desviaciones Estándar
Convierte porcentajes de intervalos de confianza a desviaciones estándar correspondientes. Esencial para análisis estadísticos, pruebas de hipótesis e interpretación de resultados de investigación.
Convertidor de Intervalo de Confianza a Desviaciones Estándar
Documentación
Convertidor de Intervalos de Confianza a Desviaciones Estándar
[... introducción existente y secciones de fórmulas ...]
Visualización
El siguiente diagrama ilustra la relación entre los intervalos de confianza y las desviaciones estándar en una distribución normal:
[... secciones de cálculo y casos extremos existentes ...]
Ejemplos
Aquí hay ejemplos de código para convertir intervalos de confianza a desviaciones estándar en varios lenguajes de programación:
1' Función de Excel VBA para Intervalo de Confianza a Desviaciones Estándar
2Function ConfidenceToStdDev(CI As Double) As Double
3 ConfidenceToStdDev = Application.NormSInv(1 - (1 - CI) / 2)
4End Function
5' Uso:
6' =ConfidenceToStdDev(0.95)
7
1confidence_to_std_dev <- function(confidence_interval) {
2 qnorm((1 + confidence_interval) / 2)
3}
4
5# Ejemplo de uso:
6ci <- 0.95 # intervalo de confianza del 95%
7z_score <- confidence_to_std_dev(ci)
8cat(sprintf("%.2f%% el intervalo de confianza corresponde a %.4f desviaciones estándar\n", ci*100, z_score))
9
1function z = confidenceToStdDev(confidenceInterval)
2 z = norminv((1 + confidenceInterval) / 2);
3end
4
5% Ejemplo de uso:
6ci = 0.95; % intervalo de confianza del 95%
7zScore = confidenceToStdDev(ci);
8fprintf('%.2f%% el intervalo de confianza corresponde a %.4f desviaciones estándar\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# Ejemplo de uso:
7ci = 0.95 # intervalo de confianza del 95%
8z_score = confidence_to_std_dev(ci)
9print(f"{ci*100}% el intervalo de confianza corresponde a {z_score:.4f} desviaciones estándar")
10
1function confidenceToStdDev(confidenceInterval) {
2 // Usando una aproximación para la función inversa de error
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// Ejemplo de uso:
14const ci = 0.95;
15const zScore = confidenceToStdDev(ci);
16console.log(`${ci*100}% el intervalo de confianza corresponde a ${zScore.toFixed(4)} desviaciones estándar`);
17
1public class ConfidenceIntervalConverter {
2 public static double confidenceToStdDev(double confidenceInterval) {
3 // Usando el algoritmo de Moro para la aproximación de CDF normal inversa
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%% el intervalo de confianza corresponde a %.4f desviaciones estándar%n', ci*100, zScore);
20 }
21}
22
1#include <iostream>
2#include <cmath>
3
4double confidenceToStdDev(double confidenceInterval) {
5 // Usando el algoritmo de Moro para la aproximación de CDF normal inversa
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%% el intervalo de confianza corresponde a %.4f desviaciones estándar\n', ci*100, zScore);
18 return 0;
19}
20
1def confidence_to_std_dev(confidence_interval)
2 # Usando una aproximación para la función inversa de error
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# Ejemplo de uso:
12ci = 0.95
13z_score = confidence_to_std_dev(ci)
14puts "#{ci*100}% el intervalo de confianza corresponde a #{z_score.round(4)} desviaciones estándar"
15
1<?php
2function confidenceToStdDev($confidenceInterval) {
3 // Usando una aproximación para la función inversa de error
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// Ejemplo de uso:
13$ci = 0.95;
14$zScore = confidenceToStdDev($ci);
15printf('%.2f%% el intervalo de confianza corresponde a %.4f desviaciones estándar\n', $ci*100, $zScore);
16?>
17
1fn confidence_to_std_dev(confidence_interval: f64) -> f64 {
2 // Usando una aproximación para la función inversa de error
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}% el intervalo de confianza corresponde a {:.4} desviaciones estándar", ci*100.0, z_score);
19}
20
1using System;
2
3class ConfidenceIntervalConverter
4{
5 static double ConfidenceToStdDev(double confidenceInterval)
6 {
7 // Usando una aproximación para la función inversa de error
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}% el intervalo de confianza corresponde a {zScore:F4} desviaciones estándar");
21 }
22}
23
1package main
2
3import (
4 "fmt"
5 "math"
6)
7
8func confidenceToStdDev(confidenceInterval float64) float64 {
9 // Usando una aproximación para la función inversa de error
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%% el intervalo de confianza corresponde a %.4f desviaciones estándar\n', ci*100, zScore)
22}
23
1import Foundation
2
3func confidenceToStdDev(_ confidenceInterval: Double) -> Double {
4 // Usando una aproximación para la función inversa de error
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// Ejemplo de uso:
14let ci = 0.95
15let zScore = confidenceToStdDev(ci)
16print(String(format: "%.2f%% el intervalo de confianza corresponde a %.4f desviaciones estándar", ci*100, zScore))
17
Casos de Prueba
Para asegurar la precisión de la función de conversión a través de diferentes intervalos de confianza, aquí hay algunos casos de prueba:
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
[... secciones existentes de casos de uso, alternativas, historia, limitaciones y referencias ...]
Retroalimentación
Haz clic en el aviso de retroalimentación para comenzar a dar retroalimentación sobre esta herramienta
Herramientas Relacionadas
Descubre más herramientas que podrían ser útiles para tu flujo de trabajo