¿Cómo visualizar el intervalo de confianza del 95% en matplotlib?

Aprendí cómo encontrar el intervalo de confianza del 95% con scipy.stats.t

 In [1]: from scipy.stats import t In [2]: t.interval(0.95, 10, loc=1, scale=2) # 95% confidence interval Out[2]: (-3.4562777039298762, 5.4562777039298762) In [3]: t.interval(0.99, 10, loc=1, scale=2) # 99% confidence interval Out[3]: (-5.338545334351676, 7.338545334351676) 

Sin embargo, la visualización es importante para mí. Me pregunto cómo puedo mostrar la barra de intervalo de confianza en cada nodo de mi curva en matplotlib .

Lo que estoy esperando es algo como esto

introduzca la descripción de la imagen aquí

No necesita el método .interval . Para obtener el tamaño del intervalo de confianza, solo necesita el método .ppf .

 import numpy as np import scipy.stats as ss data_m=np.array([1,2,3,4]) #(Means of your data) data_df=np.array([5,6,7,8]) #(Degree-of-freedoms of your data) data_sd=np.array([11,12,12,14]) #(Standard Deviations of your data) import matplotlib.pyplot as plt plt.errorbar([0,1,2,3], data_m, yerr=ss.t.ppf(0.95, data_df)*data_sd) plt.xlim((-1,4)) 

ss.t.ppf(0.95, data_df)*data_sd es una forma completamente vectorizada de obtener el (medio) tamaño de intervalo, dados los grados de libertad y la desviación estándar.

introduzca la descripción de la imagen aquí

No puedo comentar debido a la baja reputación, así que comentaré en respuesta. Primero, también creo que necesita dividir por desviación estándar y, segundo, si sus datos son bilaterales (como lo sugiere la gráfica), debe permitir el 2.5% de las fallas en cada lado de Gauss, es decir:

 ss.t.ppf(0.975, data_df)/np.sqrt(data_df) 

Ya que pierde el 2.5% en ambos lados, obtiene un total del 5% de la falta.