绘制具有分布拟合的直方图
此示例展示了如何对 ThingSpeak™通道中的数据进行分布拟合。您同时生成直方图并拟合马萨诸塞州高速公路的交通密度数据的分布。
从汽车计数器 ThingSpeak 通道读取数据
汽车计数器 ThingSpeak通道使用 Raspberry Pi™ 和网络摄像头对繁忙高速公路上的汽车进行计数。Raspberry Pi 上运行汽车计数算法,每 15 秒计数的汽车密度会发送到 ThingSpeak。字段 1 和 2 分别包含东行和西行交通数据。
data = thingSpeakRead(38629,'NumDays',1,'Fields',[1,2],'outputFormat','table');
过滤您的数据
在拟合分布之前,过滤数据以删除零。
data_without_zeros = data.DensityOfEastboundCars(data.DensityOfEastboundCars > 0);
绘制直方图和拟合分布
将东行交通数据可视化为直方图并拟合分布,例如 normal
、poisson
、gamma
或 kernel
。可视化数据可以帮助您了解基础分布的形状。拟合非参数核平滑分布。
number_of_bins = 20; histfit(data_without_zeros,number_of_bins,'kernel'); xlabel('Bins for density of cars every 15 seconds'); title('Fitting Kernel Function on Distribution of Eastbound Cars in the Past Day');
直方图和拟合显示分布向右倾斜。
另请参阅
函数
histfit
(Statistics and Machine Learning Toolbox) |thingSpeakRead