Data Science do zero: Primeiras regras com o Python


def standard_deviation(x): return



Baixar 5.26 Mb.
Pdf preview
Página45/75
Encontro24.07.2022
Tamanho5.26 Mb.
#24344
1   ...   41   42   43   44   45   46   47   48   ...   75
Data Science do zero - Primeiras regras
def standard_deviation(x):
return math.sqrt(variance(x))
standard_deviation(num_friends) # 9.03
Tanto a amplitude quanto o desvio padrão possuem o mesmo problema de valor
discrepante que vimos com a média. Usando o mesmo exemplo, se nosso usuário
mais amigável tivesse duzentos amigos, o desvio padrão seria de 14,89, mais do
que 60% a mais!
E uma alternativa mais robusta computa a diferença entre os percentos (quantos)
75% e 25% do valor:
def interquartile_range(x):
return quantile(x, 0.75) - quantile(x, 0.25)
interquartile_range(num_friends) # 6


que não é afetado por uma pequena quantidade de valores discrepantes.




Correlação
A vice-presidente de Crescimento na DataSciencester tem uma teoria que a
quantidade de tempo gasto pelas pessoas no site é relacionada ao número de
amigos que elas possuem (ela não é uma vice-presidente à toa), e ela pediu para
você verificar isso.
Após examinar os registros do tráfego, você desenvolve uma lista
daily_minutes
que
mostra quantos minutos por dia cada usuário passa na DataSciencester e você
havia ordenado essa lista para que seus elementos correspondessem aos
elementos da lista anterior
num_ friends
. Gostaríamos de investigar a relação entre
essas duas métricas.
Primeiro, investigaremos a covariância, o equivalente pareado da variância.
Enquanto a variância mede como uma única variável desvia de sua média, a
covariância mede como duas variáveis variam em conjunto de suas médias:
def covariance(x, y):
n = len(x)
return dot(de_mean(x), de_mean(y)) / (n - 1)
covariance(num_friends, daily_minutes) # 22.43
Lembre-se que o
dot
resume os produtos dos pares correspondentes dos
elementos. Quando os elementos correspondentes de
x
e
y
estão acima ou abai
x
o
de suas médias, um número positivo entra na soma. Quando um está acima de
sua média e o outro está abaixo, um número negativo entra na soma. Na mesma
proporção, uma covariância positiva “grande” significa que x tende a ser grande
quando
y
é grande e pequeno quando
y
é pequeno. Uma covariância negativa
“grande” significa o oposto — que
x
tende a ser pequeno quando
y
é grande e
vice-versa. Uma covariância perto de zero significa que tal relação não existe.
Mesmo assim, esse número pode ser difícil de ser interpretado por dois motivos:
Suas unidades são o produto das unidades de entrada (por exemplo,
minutosamigo-por-dia), o que pode ser difícil de entender. (O que é um
“minutosamigo-por-dia”?)
Se cada usuário tiver duas vezes mais amigos (mas o mesmo número de


minutos), a covariância seria duas vezes maior. Mas, por algum motivo, as
variáveis seriam apenas inter-relacionadas. Visto de outra maneira, é
arriscado dizer o que conta como uma covariância “grande”.
Por tais motivos, é mais comum considerar a correlação, que divide os desvios
padrões das duas variáveis:
def correlation(x, y):
stdev_x = standard_deviation(x)
stdev_y = standard_deviation(y)
if stdev_x > 0 and stdev_y > 0:
return covariance(x, y) / stdev_x / stdev_y
else:
return 0 # se não houver amplitude, a correlação é zero
correlation(num_friends, daily_minutes) # 0.25
A
correlation
não possui unidade e sempre permanece entre –1 (anticorrelação
perfeita) e 1 (correlação perfeita). Um número como 0,25 representa uma
correlação positiva relativamente fraca.
No entanto, algo que esquecemos de fazer foi examinar nossos dados. Dê uma
olhada na Figura 5-2.


Figura 5-2. Correlação com um valor discrepante
A pessoa com 100 amigos (que passa apenas um minuto por dia no site) é um
grande valor discrepante e a correlação pode ser muito sensível para valores
discrepantes. O que acontece se o ignorarmos?
outlier = num_friends.index(100) # índice do valor discrepante
num_friends_good = [x

Baixar 5.26 Mb.

Compartilhe com seus amigos:
1   ...   41   42   43   44   45   46   47   48   ...   75




©historiapt.info 2022
enviar mensagem

    Página principal