Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

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