Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la versión original en inglés.

Elimine los valores atípicos en sus datos

Este ejemplo muestra cómo detectar y eliminar valores atípicos en los datos de su canal ThingSpeak™ utilizando un filtro Hampel. Este filtro está estrechamente relacionado con un filtro de mediana y ayuda a eliminar valores atípicos de una señal sin suavizar demasiado los datos.

Leer datos

Lea la velocidad del viento almacenada en el canal 22641 usando la función thingSpeakRead .

data = thingSpeakRead(12397,'NumPoints',80,'Fields',2,'outputFormat','table');

Eliminar valores atípicos

Elimine los valores atípicos en los datos sin procesar aplicando la función hampel . Especifique el tamaño de la ventana como 6, o aproximadamente tres minutos de datos a cada lado de la ventana de medición. Esta configuración permite disponer de datos suficientes para decidir si cada punto es un valor atípico. Dado que los datos son dinámicos, sus resultados pueden variar según el clima actual. Especifique que el número de desviaciones estándar sea 2. Si un punto de datos difiere de la mediana local en más de este número, se reemplaza con el valor de la mediana local.

windowSize = 6;
numMedians = 2;
[filteredData,outliers]=hampel(data.WindSpeedmph,windowSize,numMedians);

Escribir datos en ThingSpeak

Envíe el número de valores atípicos detectados a un canal ThingSpeak usando la función thingSpeakWrite . Cambia el channelID y el writeAPIKey para enviar datos a tu canal.

channelID=17504;
writeAPIKey='23ZLGOBBU9TWHG2H';
totalOutliers = sum(outliers)
thingSpeakWrite(channelID,totalOutliers,'WriteKey',writeAPIKey);
totalOutliers =

     8

Consulte también

Funciones