主要内容

删除数据中的异常值

这个例子展示了如何使用Hampel过滤器检测和删除ThingSpeak™通道数据中的异常值。这个滤波器与中值滤波器密切相关,它有助于在不过度平滑数据的情况下去除信号中的异常值。

读取数据

读取存储在通道22641的风速使用thingSpeakRead函数。

data = thingSpeakRead (12397“NumPoints”, 80,“字段”,2,“outputFormat”“表”);

删除离群值

通过应用去除原始数据中的异常值hampel函数。指定窗口大小为6,或者在测量窗口的任意一侧大约3分钟的数据。这个设置允许有足够的数据来决定每个点是否为离群值。由于数据是动态的,您的结果可能会根据当前的天气而变化。指定标准偏差的数量为2。如果一个数据点与本地中值的差异大于此值,则将其替换为本地中值。

windowSize = 6;numMedians = 2;[filteredData,离群值]= hampel (data.WindSpeedmph、windowSize numMedians);

将数据写入ThingSpeak

将检测到的异常值数量发送到ThingSpeak通道thingSpeakWrite函数。改变channelIDwriteAPIKey将数据发送到您的通道。

channelID = 17504;writeAPIKey =“23 zlgobbu9twhg2h”;totalOutliers = sum(outliers)“WriteKey”, writeAPIKey);
totalOutliers = 8

另请参阅

功能