Zeichnen 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.
Lesen Sie Daten vom Car-Counter ThingSpeak Kanal
Der Autozähler- ThingSpeak Kanal nutzt einen Raspberry Pi™ und eine Webcam, um Autos auf einer stark befahrenen Autobahn zu zählen. Auf dem Raspberry Pi läuft ein Autozählalgorithmus, und die Dichte der alle 15 Sekunden gezählten 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
Bevor Sie die Verteilung anpassen, filtern Sie Ihre Daten, um Nullen zu entfernen.
data_without_zeros = data.DensityOfEastboundCars(data.DensityOfEastboundCars > 0);
Zeichnen Sie das Histogramm und die Anpassungsverteilung
Visualisieren Sie die Verkehrsdaten in Richtung Osten als Histogramm und passen Sie eine Verteilung wie normal, poisson, gamma oder kernel. Die Visualisierung der Daten hilft Ihnen, die Form der zugrunde liegenden Verteilung zu 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