Sei sulla pagina 1di 6

Calculando Amplitude, Varincia e Desvio Padro no Oracle

Veja neste artigo como a linguagem SQL pode ser utilizada para executarmos o clculo dos valores da amplitude, varincia e desvio padro de variveis armazenadas em tabelas do banco de dados relacional Oracle.
14

1. Introduo
No ltimo artigo mostramos as funes para clculo da mdia, mediana e moda no banco de dados Oracle. O artigo pode ser consultado atravs do link:http://www.devmedia.com.br/calculando-media-moda-e-mediana-no-oracle/25577 Mdia, mediana e moda so medidas de tendncia central, cujo propsito sintetizar em um nico nmero o que tpico (ou mdio) em um conjunto de dados. Porm, estas medidas normalmente iro fornecer apenas um quadro incompleto dos dados. Para exemplificar a o que acabamos de afirmar, considere a tabela CAMPEONATO, mostrada na Figura 1. Esta tabela mostra as infraes cometidas por diversos jogadores que foram expulsos em um campeonato de futebol. As colunas JUIZ_A e JUIZ_B mostram as punies que foram atribudas por dois juzes do tribunal de esporte para cada infrao (cada punio dada em nmero de jogos).

Figura 1: Tabela Campeonato Podemos calcular a mdia de jogos atribuda nas penas de ambos os juzes com o uso da funo AVG, como mostra a Listagem 1. Observe que a mdia de 3 jogos tanto para o juiz A como para o juiz B. Listagem 1: Obteno da MDIA das penas atribudas pelos Juzes A e B com a funo AVG

1 2 3 4

SELECT AVG(juiz_a), AVG(juiz_b) FROM campeonato AVG(juiz_a) 3 AVG(juiz_b) 3

Ser eque podemos concluir que os juzes tem comportamento igual, ou seja, que eles utilizam critrios parecidos? Ou ser que, de fato, o uso da medida da mdia isoladamente no foi capaz de apresentar um quadro real da situao? Para respondermos a essas perguntas, precisaremos fazer uso de outras medidas estatsticas. Precisaremos usar medidas de variabilidade, pois elas so capazes de

fornecer um ndice da disperso dos escores em torno da mdia. As prximas sees apresentam essas medidas e a sua forma de utilizao no SGBD Oracle.

2. Amplitude
Amplitude uma medida rpida da variabilidade. Ela consiste na diferena entre o mais alto e o mais baixo valor de um determinado conjunto de dados (ou seja, de um determinado campo numrico da tabela Oracle). Na linguagem SQL, podemos calcular a amplitude com o uso das funes MAX e MIN, como mostra a Listagem 2. Listagem 2: Obteno da AMPLITUDE com as funes MAX e MIN

1 2 3 4 5 6 7

SELECT (MAX(juiz_a) - MIN(juiz_a)) as Amplitude_A, (MAX(juiz_b) - MIN(juiz_b)) as Amplitude_B FROM campeonato Amplitude_A 3 Amplitude_B 6

A amplitude do Juiz A igual a 3, pois a sua maior pena foi de 4 jogos e a menor de 1 jogo (4 1 = 3). J a amplitude do Juiz B igual a 6, pois a sua maior pena foi de 7 jogos e a menor de 1 jogo (7 1 = 6). Com isto, j podemos perceber que a distribuio das penas do Juiz B apresenta uma maior variabilidade do que a do Juiz A. No entanto, na prtica a amplitude no uma medida muito boa. Ela tem a vantagem de ser simples e rpida de calcular. Porm tem a desvantagem de depender apenas de dois valores de toda a distribuio (o menor valor e o maior valor). Com isso, ela pode ser claramente influenciada por um nico valor. Precisamos ento de medidas que levem em conta todos os valores da distribuio. Essas medidas so a Varincia e o Desvio Padro.

3. Varincia e Desvio Padro


Para entendermos a varincia, inicialmente precisamos apresentar o conceito de desvio que consiste na distncia de um valor arbitrrio ao valor mdio da varivel. O desvio normalmente representado com a notao mostrada na Figura 2.

Figura 2: Frmula do Desvio Nesta frmula, o X que contm o trao em cima representa o valor da mdia da varivel. O X sem o trao um valor qualquer. Retornando aos dados da Figura 1, podemos os desvios para cada escore das variveis Juiz_A e Juiz_B (pena atribuda pelos juzes A e B) podem ser calculados da forma mostrada a seguir: Juiz_A

o o o

Desvio Pena 1: (4-3) = 1 Desvio Pena 2: (1-3) = -2 Desvio Pena 3: (3-3) = 0

o o o o

Desvio Pena 4: (2-3) = -1 Desvio Pena 5: (4-3) = 1 Desvio Pena 6: (4-3) = 1 Desvio Pena 7: (3-3) = 0 Juiz_B

o o o o o o o

Desvio Pena 1: (2-3) = -1 Desvio Pena 2: (1-3) = -2 Desvio Pena 3: (4-3) = 1 Desvio Pena 4: (1-3) = -2 Desvio Pena 5: (1-3) = -2 Desvio Pena 6: (5-3) = 2 Desvio Pena 7: (7-3) = 4 Observe que a soma dos desvios sempre igual a zero. Outra coisa que pode ser facilmente observada que, em geral, os desvios associados aos escores do Juiz B so maiores do que os do Juiz A. A medida da varincia utiliza todos esses escores para que possamos obter um valor de variabilidade. A frmula da varincia mostrada na Figura 3.

Figura 3: Frmula da Varincia A frmula pode parecer um pouco difcil, mas no se preocupe, pois voc conseguir entend-la. Para comear, na equao, s2 simplesmente o smbolo usado para a varincia. O que a medida faz simplesmente elevar ao quadrado o valor de cada desvio em relao mdia e depois somar todos os resultados (numerador da frmula). Por fim, o valor da soma dividido por N-1, que corresponde ao nmero total de escores menos 1 (em nosso exemplo, so N = 7, que representa o nmero total de registros de nossa tabela. Logo N 1 = 6). A ideia de elevar ao quadrado usada simplesmente para eliminar os sinais negativos de alguns desvios. Veja o exemplo do clculo da varincia para as variveis Juiz_A e Juiz_B. Clculo da Varincia - Juiz A

o o

(4-3)^2 = 1^2 = 1 (1-3)^2 = -2^2 = 4

o o o o o o

(3-3)^2 = 0^2 = 0 (2-3)^2 = -1^2 = 1 (4-3)^2 = 1^2 = 1 (4-3)^2 = 1^2 = 1 (3-3)^2 = 0^2 = 0 SOMA = 8 VAR(Juiz_A) = 8 / 6 = 1,333 Clculo da Varincia - Juiz B

o o o o o o o o

(2-3)^2 = -1^2 = 1 (1-3)^2 = -2^2 = 4 (4-3)^2 = 1^2 = 1 (1-3)^2 = -2^2 = 4 (1-3)^2 = -2^2 = 4 (5-3)^2 = 2^2 = 4 (7-3)^2 = 4^2 = 16 SOMA = 34 VAR(Juiz_B) = 34 / 6 = 5,667 Felizmente, o Oracle j possui uma funo pronta para o clculo da varincia, denominada, simplesmente variance. O seu uso via SQL bem simples, como mostra a Listagem 3. Listagem 3: Obteno da VARINCIA com a funo VARIANCE

1 2 3 4 5 6

SELECT VARIANCE(juiz_a),VARIANCE(juiz_b) FROM campeonato VARIANCE(juiz_a) 1,3333333333 VARIANCE(juiz_b) 5,66666666667

A varincia considera todos os valores da distribuio, oferecendo uma vantagem sobre amplitude que considera somente dois valores. Por isso ela mais sensvel ao grau de desvio da distribuio de escores. No entanto, um problema da varincia a sua interpretao difcil. Como no numerador da frmula, os valores dos desvios so elevados ao quadrado, a unidade original de medida acaba sendo alterada. Por exemplo: de nmero de jogos, para nmero de jogos ao quadrado. Ou seja, o valor 1,333 para a varincia significa 1,333 jogos ao quadrado. Para corrigir esse problema, podemos utilizar a medida de desvio padro. Essa medida consiste na raiz quadrada da varincia e usada simplesmente para colocar o valor da

variabilidade na unidade original. A Figura 4 mostra a frmula do desvio padro, que representado pela letra s (veja que a frmula apenas a raiz da frmula da varincia).

Figura 4: Frmula do Desvio Padro O seja, o desvio padro da varivel Juiz_A dado por raiz de 1,333 = 1,154. E o desvio padro da varivel Juiz_B dado por raiz de 5,667 = 2,381. A interpretao que podemos dar para estes valores a seguinte: em mdia, as penas atribudas pelo Juiz_A se afastam da mdia por apenas 1,154 jogos. J no caso do Juiz_B, em mdia, suas penas se afastam da mdia por mais de 2 jogos (2,381). Isso quer dizer que as penas do Juiz_B apresentam maior variabilidade (talvez ele, por exemplo, seja mais rigoroso para atribuir penas de jogadores reincidentes). O Oracle tambm possui uma funo pronta para o clculo do desvio padro:a funostddev (de standard deviation, desvio padro em ingls). A Listagem 4 apresenta um exemplo de utilizao. Listagem 4: Obteno do DESVIO PADRO com a funo STDDEV

1 2 3 4 5 6

SELECT STDDEV(juiz_a),STDDEV(juiz_b) FROM campeonato STDDEV (juiz_a) 1,154700 STDDEV (juiz_b) 2,380476

Com isso, encerramos nosso artigo sobre medidas estatsticas para variabilidade no Oracle.

0 COMENTRIO

Nenhum comentrio foi postado - seja o primeiro a comentar!

cursos relacionados posts em sequncia ltimos do autor


Administrao do Firebird/InterBase Curso de Administrao do Microsoft SQL Server Ferramentas Administrativas do MySQL PL/SQL Oracle Administrao do Firebird/InterBase [Ver todos]

Voc est em: canal SQL +SQL: mais Publicidade artigos | vdeos | cursos |

Autor

Eduardo Corra Gonalves


Doutorando e mestre em Cincia da Computao pelo Instituto de Computao da Universidade Federal Fluminense (IC/UFF). Atua principalmente nas seguintes linhas de pesquisa: Minerao de Dados, Algoritmos, Banco de Dados e XML.

Space do autor

Estatsticas
Favorito: 0 vez(es) Comentrios: 0 Feedback: Utilidade: 0 0

Servios
Inclua um comentrio Adicionar aos Favoritos Marcar como lido/assistido Incluir anotao pessoal (ajuda) D seu voto para este post Verso para impresso

Leia mais em: Calculando Amplitude, Varincia e Desvio Padro no Oracle http://www.devmedia.com.br/calculando-amplitudevariancia-e-desvio-padrao-no-oracle/25703#ixzz2959LkQNa

Potrebbero piacerti anche