2015-02-24 2 views
1

Сай, у меня есть массив:Вычислить 3-е стандартное отклонение для массива

import numpy as np 

x = np.array([0, 1, 2, 5, 6, 7, 8, 8, 8, 10, 29, 32, 45]) 

Как рассчитать 3-го стандартного отклонения для него, так что я мог бы получить значение +3sigma, как показано на рисунке ?

enter image description here

Как правило, я использую std = np.std(x), но если честно, я не знаю, если она возвращает значение 1sigma или, может быть, 2sigma, или любой другой. Я буду очень благодарен за помощь. Заранее спасибо.

+4

Вы проверили документы: http://docs.scipy.org/doc/numpy/reference/generated/numpy.std.html, мое понимание от этого является то, что просто 'х. mean() + 3 * x.std() 'даст вам то, что вы хотите – EdChum

ответ

4

NumPy's std дает стандартное отклонение, которое обычно обозначается как «сигма». Для того, чтобы получить 2-сигма или 3-сигма диапазоны, вы можете просто умножить сигмы с 2 или 3:

print [x.mean() - 3 * x.std(), x.mean() + 3 * x.std()] 

Выход:

[-27.545797458510656, 52.315028227741429] 

Для получения более подробной информации, вы можете обратиться к документации, который гласит:

стандартное отклонение представляет собой квадратный корень из среднего значения квадратов отклонений от среднего значения, то есть, станд = SQRT (среднее значение (абс (х - x.mean()) ** 2)).

http://docs.scipy.org/doc/numpy/reference/generated/numpy.std.html

Смежные вопросы