Cálculo passo a passo do desvio-padrão (Standard Deviation) - SQL Samples

20/01/2019 19:56

 

Exemplo interativo passo a passo do cálculo do desvio-padrão

Primeiro, precisamos de um conjunto de dados com o qual trabalhar. Vamos escolher algo pequeno para que não sejamos sobrecarregados pelo número de pontos. Confira um bom:
6, 2, 3, 1

Resumo

Dividimos a fórmula em cinco etapas:
Etapa 1: calcule a média \mu.
Etapa 2: calcule o quadrado da distância de cada dado até a média \lvert x-\mu\rvert^2.
--=======================================================
--// SQL - Standard Deviation Calc Ex. 01
--=======================================================
Drop table #Numbers 
CREATE TABLE #Numbers 
  Number DECIMAL(10,4),
  Variance DECIMAL(10,4)
);
GO
INSERT INTO #Numbers (Number) VALUES
    (6),
    (2),
    (3),
    (1);
GO
 
DECLARE @Mean DECIMAL(10,4);
SET @Mean = (SELECT SUM (Number) / COUNT(Number) FROM #Numbers);
 
UPDATE #Numbers 
SET Variance = POWER( (@Mean - Number), 2);
 
  
DECLARE @StdVariance DECIMAL(10,4);
SET @StdVariance = (SELECT SQRT( SUM(Variance) / COUNT(Number) ) FROM #Numbers);
SELECT 
  @Mean AS [Mean],
  @StdVariance AS [Standard Variance];
 
  Select * from #Numbers
 
 
 
  --POWER = Gera a Raiz Quadrada (Root Squared) / ex: POWER(4,2) = 16 (4x4)
  --SQRT = Informa a raiz quadrada ex: SQRT(16) = 4
 
 
--=======================================================
--// SQL - Standard Deviation Calc Ex. 02
--=======================================================
 
Drop table #Numbers 
CREATE TABLE #Numbers 
  Number DECIMAL(10,4),
  Variance DECIMAL(10,4)
);
GO
INSERT INTO #Numbers (Number) VALUES
    (6),
    (2),
    (3),
    (1);
GO
  SELECT AVG(Number) AS Mean
     , STDEVP(Number) AS [Standard Deviation]
     , STDEVP(Number) * STDEVP(Number) AS Variance
    FROM #Numbers;
 
  --STDEVP = Standard Deviation