ComeçarComece gratuitamente

Manuseio de valores discrepantes

Neste exercício, você lidará com outliers - pontos de dados que são tão diferentes do restante dos dados que você os trata de forma diferente de outros pontos de dados de "aparência normal". Você usará o resultado do exercício anterior (variação percentual ao longo do tempo) para detectar os outliers. Primeiro, você escreverá uma função que substitui os pontos de dados discrepantes pelo valor mediano de toda a série temporal.

Este exercício faz parte do curso

Aprendizado de máquina para dados de séries temporais em Python

Ver Curso

Instruções de exercício

  • Defina uma função que receba uma série de entrada e faça o seguinte:

    • Calcula o valor absoluto da distância de cada ponto de dados em relação à média da série e, em seguida, cria uma máscara booleana para pontos de dados que são três vezes o desvio padrão da média.

    • Use essa máscara booleana para substituir os outliers pela mediana de toda a série.

  • Aplique essa função aos seus dados e visualize os resultados usando o código fornecido.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

def replace_outliers(series):
    # Calculate the absolute difference of each timepoint from the series mean
    absolute_differences_from_mean = np.abs(series - np.mean(series))
    
    # Calculate a mask for the differences that are > 3 standard deviations from zero
    this_mask = absolute_differences_from_mean > (np.____(series) * ____)
    
    # Replace these values with the median accross the data
    series[this_mask] = np.____(series)
    return series

# Apply your preprocessing function to the timeseries and plot the results
prices_perc = prices_perc.____
prices_perc.loc["2014":"2015"].plot()
plt.show()
Editar e executar código