Tracer un histogramme avec un ajustement de distribution
Cet exemple montre comment ajuster une distribution aux données d'un canal ThingSpeak ™. Vous générez simultanément un histogramme et un ajustement à la distribution des données de densité de trafic pour une autoroute dans le Massachusetts.
Lire les données du canal Car-Counter ThingSpeak
Le canal de compteur de voitures ThingSpeak utilise un Raspberry Pi™ et une webcam pour compter les voitures sur une autoroute très fréquentée. Un algorithme de comptage de voitures s'exécute sur le Raspberry Pi, et la densité de voitures comptées toutes les 15 secondes est envoyée à ThingSpeak. Les champs 1 et 2 contiennent respectivement les données de trafic en direction est et ouest.
data = thingSpeakRead(38629,'NumDays',1,'Fields',[1,2],'outputFormat','table');
Filtrez vos données
Avant d'ajuster la distribution, filtrez vos données pour supprimer les zéros.
data_without_zeros = data.DensityOfEastboundCars(data.DensityOfEastboundCars > 0);
Tracer l'histogramme et la distribution d'ajustement
Visualisez les données de trafic en direction est sous forme d'histogramme et ajustez une distribution telle que normal
, poisson
, gamma
ou kernel
. La visualisation des données vous aide à comprendre la forme de la distribution sous-jacente. Ajuster une distribution de lissage du noyau non paramétrique.
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');
L'histogramme et l'ajustement montrent que la distribution est asymétrique vers la droite.
Voir aussi
Fonctions
histfit
(Statistics and Machine Learning Toolbox) |thingSpeakRead