3
respostas

Algoritmo para o Cálculo do intervalo de confiança para a média: erro ao executar no Jupyter notebook

O código:

import scipy as sp
import scipy.stats

def mean_confidence_interval(data, confidence=0.95):
    a = 1.0*np.array(data)
    n = len(a)
    m, se = np.mean(a), scipy.stats.sem(a)
    h = se * sp.stats.t._ppf((1+confidence)/2., n-1)
    return m, m-h, m+h



print(mean_confidence_interval(lista_matrizes2, confidence=0.95))#Intevalo de confiança

Estou recebendo o seguinte erro:




ValueError                                Traceback (most recent call last)
<ipython-input-118-f8b83fe84702> in <module>()
     11 
     12 
---> 13 print(mean_confidence_interval(lista_matrizes2, confidence=0.95))#Intevalo de confiança

<ipython-input-118-f8b83fe84702> in mean_confidence_interval(data, confidence)
      5     a = 1.0*np.array(data)
      6     n = len(a)
----> 7     m, se = np.mean(a), scipy.stats.sem(a)
      8     h = se * sp.stats.t._ppf((1+confidence)/2., n-1)
      9     return m, m-h, m+h

/usr/local/lib/python3.5/dist-packages/scipy/stats/stats.py in sem(a, axis, ddof, nan_policy)
   2181     a, axis = _chk_asarray(a, axis)
   2182 
-> 2183     contains_nan, nan_policy = _contains_nan(a, nan_policy)
   2184 
   2185     if contains_nan and nan_policy == 'omit':

/usr/local/lib/python3.5/dist-packages/scipy/stats/stats.py in _contains_nan(a, nan_policy)
    245                       "values. nan values will be ignored.", RuntimeWarning)
    246 
--> 247     if contains_nan and nan_policy == 'raise':
    248         raise ValueError("The input contains nan values")
    249 

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Alguma ideia do que está ocorrendo? Como resolver?

3 respostas

Edson,

Cade a Matriz que vc esta usando?

Um detalhe: eu já rodei o mesmo código antes com os mesmos dados sem erros. Estou rodando em outra máquina...

Código completo do projeto: https://ufile.io/g76a8

Dataset: https://ufile.io/ls1oh