Plotten Sie ein Histogramm mit einer Verteilungsanpassung
Dieses Beispiel zeigt, wie eine Verteilung an Daten in einem ThingSpeak ™-Kanal angepasst wird. Sie erstellen gleichzeitig ein Histogramm und eine Anpassung an die Verteilung der Verkehrsdichtedaten für eine Autobahn in Massachusetts.
Daten aus dem Car-Counter ThingSpeak-Kanal lesen
Der Autozähler-Kanal ThingSpeak verwendet einen Raspberry Pi™ und eine Webcam, um Autos auf einer stark befahrenen Autobahn zu zählen. Auf dem Raspberry Pi läuft ein Algorithmus zum Zählen von Autos und die alle 15 Sekunden gezählte Dichte der Autos wird an ThingSpeak gesendet. Die Felder 1 und 2 enthalten Verkehrsdaten in östlicher bzw. westlicher Richtung.
data = thingSpeakRead(38629,'NumDays',1,'Fields',[1,2],'outputFormat','table');
Filtern Sie Ihre Daten
Filtern Sie Ihre Daten, um Nullen zu entfernen, bevor Sie die Verteilung anpassen.
data_without_zeros = data.DensityOfEastboundCars(data.DensityOfEastboundCars > 0);
Histogramm und Anpassungsverteilung darstellen
Visualisieren Sie die Verkehrsdaten in Richtung Osten als Histogramm und passen Sie eine Verteilung wie normal, poisson, gamma oder kernel an. Durch die Visualisierung der Daten können Sie die Form der zugrunde liegenden Verteilung verstehen. Passen Sie eine nichtparametrische Kernel-Glättungsverteilung an.
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');

Das Histogramm und die Anpassung zeigen, dass die Verteilung nach rechts schief ist.
Siehe auch
Funktionen
histfit(Statistics and Machine Learning Toolbox) |thingSpeakRead