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.

Eliminar valores atípicos en sus datos

Este ejemplo muestra cómo detectar y eliminar valores atípicos en los datos de su canal ThingSpeak™ usando 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 el thingSpeakRead función.

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

Eliminar valores atípicos

Elimine los valores atípicos en los datos sin procesar aplicando hampel función. Especifique el tamaño de la ventana como 6, o unos tres minutos de datos a cada lado de la ventana de medición. Esta configuración permite suficientes datos 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 de ThingSpeak mediante el thingSpeakWrite función. Cambiar 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