O desvio padrão é a raiz quadrada da variância. A variância de uma variável aleatória X
é definida como
Um estimador para a variância seria, portanto,
onde denota a média da amostra. Para selecionados aleatoriamente , pode-se mostrar que este estimador não converge para a variância real, mas para
Se você selecionar amostras aleatoriamente e estimar a média e a variância da amostra, você terá que usar um estimador corrigido (imparcial)
que irá convergir para . O termo de correção também é chamado de correção de Bessel.
Agora, por padrão, o MATLABs std
calcula o estimador imparcial com o termo de correção n-1
. No entanto, NumPy (como @ajcr explicado) calcula o estimador tendencioso sem termo de correção por padrão. O parâmetro ddof
permite definir qualquer termo de correção n-ddof
. Definindo para 1, você obtém o mesmo resultado do MATLAB.
Da mesma forma, o MATLAB permite adicionar um segundo parâmetro w
, que especifica o "esquema de pesagem". O default,, w=0
resulta no termo de correção n-1
(estimador enviesado), enquanto para w=1
, apenas n é usado como termo de correção (estimador enviesado).
std([1 3 4 6],1)
é equivalente ao padrão do NumPynp.std([1,3,4,6])
. Tudo isso é explicado claramente na documentação do Matlab e do NumPy, então eu recomendo fortemente que o OP leia-o no futuro.