绘制分布拟合直方图
此示例显示如何将分布拟合到 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