[PYTHON] [Statistik] Verstehen Sie den Mechanismus von Q-Q-Plots mit Animation.

Diesmal folgt nach der vorherigen ROC-Kurve eine Animation über die Bedeutung von ** QQ-Plot ** im offiziellen Lehrbuch von Statistics Test Level 2 Ich werde einen Artikel schreiben, der die Verwendung von Grafiken erklärt. Dies ist auch ein etwas eigenartiges Diagramm, und ich denke, es erfordert einige Tipps, um es zu verstehen, daher möchte ich versuchen, es zu erklären. Ich kann Q-Q-Diagramme mit qqnorm sogar in R schreiben, aber ich verstehe nicht, wie es in der Black Box funktioniert, also habe ich es selbst in Python geschrieben.

1. Über die diesmal verwendeten Daten

Daher sind die verwendeten Daten die Mietdaten der Wohnung im Lehrbuch. Dies sind die Daten.

Mansion2.data

<tr>
  <th>185</th>
  <td>11</td>
  <td>B</td>
  <td>8600</td>
  <td>1K</td>
  <td>20.79</td>
Walk_min distance Price Type Area Direction Year
0 8 B 7900 1K 30.03 Süd 3
1 9 B 8500 1K 21.9 Süd 5
2 10 B 10800 1K 27.05 Süd 4
3 10 B 10800 1K 29.67 Süd 4
... ... ... ... ... ... ... ...
Nordosten 0
186 8 B 7100 1K 22 West 17
187 9 B 18400 1LDK 54.68 West 10

Laden Sie diese Daten hier in der Mitte des offiziellen Lehrbuchs für Statistik-Teststufe 2 herunter Sie können dies über den Link "Daten zum Herunterladen" in tun. Entpacken Sie die heruntergeladene Zip-Datei und ** Mansion2.data ** im Ordner [Kapitel 2] - [Body] sind die Daten, die dieses Mal verwendet werden.

Und sobald ich die Daten erhalten habe, möchte ich zuerst ein Diagramm zeichnen und ein Bild der Daten geben: erröten:

mansion-plot-compressor.png Fig.1

Die Preisspanne liegt näher an der linken Seite und es handelt sich um eine Art Histogramm mit einem langen Saum auf der rechten Seite. Es ist auch ersichtlich, dass es einen Zusammenhang zwischen Preis und Größe zu geben scheint.

Da sich dieses Q-Q-Diagramm auf den Preis konzentriert, werden wir den Preis noch einen Schritt weiter gehen und versuchen, die Grafik zu interpretieren. Es ist "ob diese Verteilung einer Normalverteilung folgt oder nicht".

Nun, wenn ich die Dichtefunktion der Normalverteilung basierend auf dem Mittelwert und der Standardabweichung anwende, die aus diesen Daten erhalten werden, wie unten gezeigt, stimmt sie eindeutig nicht überein, aber ich werde fortfahren, ohne mir darüber Gedanken zu machen. W.

qq-_02-compressor.png Fig.2

cum_hist_norm-compressor.png Fig.3

Der Python-Code zum Zeichnen der obigen Reihe von Diagrammen lautet hier.

2. Was ist ein Q-Q-Plot?

Schauen wir uns das Q-Q-Diagramm selbst an.

Q-Q_plot-compressor.png Fig.4

Ja, dies ist das Q-Q-Diagramm für die Zieldaten "Preis", dh die Mietdaten. Auf den ersten Blick bin ich mir nicht sicher, was die Grafik zeigt. Die Erklärung des Lehrbuchs lautet: "Das Q-Q-Diagramm ist ein Diagramm zum Vergleichen der erhaltenen Daten mit der theoretischen Verteilung und zum Untersuchen der Ähnlichkeit." ** Wenn sie ähnlich sind, werden die eingezeichneten Punkte in einer geraden Linie ausgerichtet **, das ist richtig.

Wie interpretieren Sie die obige Grafik? Die obige Fig. 4 wird als eine Modifikation der Form von Fig. 2 angesehen. Mit anderen Worten, es ist ein Diagramm, mit dem Sie visuell verstehen können, wie ähnlich die erhaltenen Mietdaten und die Normalverteilungsdichtefunktion, bei der es sich um die theoretische Verteilung handelt, unabhängig davon sind, ob sie gerade sind oder nicht.

3. Der Ursprung des Q-Q-Diagramms

Übrigens soll dieses Diagramm die Ähnlichkeit mit der theoretischen Verteilung am Grad der Geradheit messen, aber ich denke, ich muss verstehen, wie man dieses Diagramm zeichnet, also werde ich erklären, warum es so gesagt werden kann.

Lassen Sie uns die Verwendung der Mietdaten noch einmal erklären. Dies ist die Form der Verteilung. price_hist-compressor.png Fig.5

Von hier aus werden wir zwei Zwischenproduktdiagramme verwenden, um das Q-Q-Diagramm zu erstellen.

Das erste, was Sie verwenden müssen, ist, diese Mietdaten nacheinander in aufsteigender Reihenfolge anzuordnen und Punkte zu zeichnen, um eine Grafik zu zeichnen. Es gibt insgesamt 188 Daten, die gleichmäßig zwischen 0 und 1 angeordnet sind. House_price_sorted-compressor.png Fig.6

Als zweites Diagramm nehmen wir diesmal eine Normalverteilung als theoretische Verteilung an, schreiben also ein Diagramm der normalen kumulativen Verteilungsfunktion und verwenden es. Dies stellt auch die kumulative Dichtefunktion mit 188 Punkten dar, die gleiche Zahl wie die Mietdaten. cumulative_norm-compressor.png Fig.7

Durch Kombinieren dieser beiden Diagramme können Sie ein Diagramm des Q-Q-Diagramms zeichnen. Lassen Sie es uns in einem Animationsdiagramm sehen.

Q-Q_plot_House_price-compressor.gif Fig.8

Das Zwischenproduktdiagramm Fig. 6 oben ist das obere rechte Diagramm und Fig. 7 ist das untere linke Diagramm. Oben links ist das Ziel-Q-Q-Diagramm. Erstens repräsentiert die horizontale Achse des Mietdatengraphen oben rechts die Anzahl der Brüche, und die vertikale Achse der normalen kumulativen Verteilungsfunktion unten links repräsentiert auch die Anzahl der Brüche. Schieben Sie diese Fraktion gleichzeitig von rechts oben und links unten von 0 auf 1. Die schwarze Linie repräsentiert es. Die Punkte, die die schwarze Linie schneiden, werden als rote Punkte angezeigt. Das Q-Q-Diagramm ist ein simultanes Diagramm dieser roten Punkte. Die gepunktete Linie repräsentiert es. Das "Q" in diesem Q-Q-Diagramm steht für Quantil, und ich denke, es hat diesen Namen, weil es die Brüche in den Diagrammen oben rechts und unten links gleichzeitig verschiebt.

(Python-Code ist hier)

4. Q-Q-Diagramm von Zufallszahlen nach einer Normalverteilung

Übrigens, wenn die Daten und die theoretische Verteilung gleich sind, ist das QQ-Diagramm eine gerade Linie, daher würde ich dies auch gerne versuchen. Das bedeutet, Zufallszahlen zu verwenden, die einer Normalverteilung folgen. Hier ist ein Histogramm von 188 Zufallszahlen, die einer Normalverteilung folgen. Norm_hist-compressor.png

Wenn Sie ein Q-Q-Diagramm zeichnen ... Es ist definitiv eine gerade Linie: entspannt: Q-Q_plot_Norm-compressor.gif

5. Q-Q-Diagramm von Zufallszahlen gemäß Exponentialverteilung

Als nächstes folgt die Exponentialverteilung. Es ist eine Verteilung mit einem langen Saum rechts. Exp_hist-compressor.png

Bei einer solchen Form hat das reguläre Q-Q-Diagramm in der unteren rechten Ecke eine konvexe Form. Q-Q_plot_Exp_Dist-compressor.gif

6. Q-Q-Diagramm von Zufallszahlen nach der F-Verteilung

Es ist eine Art F-Verteilung mit einem etwas langen Saum rechts. F_hist-compressor.png Dies hat auch ein leicht konvexes Q-Q-Diagramm in der unteren rechten Ecke. Q-Q_plot_F_Dist-compressor.gif

6. Q-Q-Diagramm von Zufallszahlen nach β-Verteilung

Als nächstes schreiben wir ein Q-Q-Diagramm unter Verwendung der Long-Tail-Typverteilung auf der linken Seite, der Beta-Verteilung von $ \ alpha = 6, \ beta = 2 $. Beta_hist-compressor.png Im Gegensatz dazu wird diesmal oben links ein konvexes Q-Q-Diagramm gezeichnet. Q-Q_plot_Beta_Dist-compressor.gif

Etwas anders ist die Beta-Verteilung von $ \ alpha = 0,5, \ beta = 0,5 $ mit Peaks auf beiden Seiten. In diesem Fall können Sie ein Q-Q-Diagramm zeichnen, das in der zweiten Hälfte rechts unten konvex und in der zweiten Hälfte links oben konvex ist. Beta_hist2-compressor.png Q-Q_plot_Beta_Dist2-compressor.gif

Der vollständige Text des Python-Codes zum Zeichnen der Diagramme auf dieser Seite lautet hier.

Recommended Posts

[Statistik] Verstehen Sie den Mechanismus von Q-Q-Plots mit Animation.
[Statistik] Verstehen Sie anhand von Animationen, wie die ROC-Kurve aussieht.
[Ev3dev] Lassen Sie uns den Mechanismus der LCD-Steuerung (Bildschirmsteuerung) verstehen
Das Experiment der CIA zur Entschlüsselung des Mechanismus des Abhörens öffentlicher Telefone
Ich habe den Mechanismus der Flaschenanmeldung untersucht!
Verstehen Sie den Inhalt der sklearn-Pipeline
[Statistik] Visualisieren und verstehen Sie die Hamiltonsche Monte-Carlo-Methode mit Animation.
[GWAS] Zeichnen Sie die Ergebnisse der Hauptkomponentenanalyse (PCA) von PLINK auf
Darstellung der Regressionslinie durch Restdarstellung
[Erforderliches Thema DI] Implementieren und verstehen Sie den Mechanismus von DI mit Go
Animation von Geodaten durch Geopandas
Erläutern Sie den Mechanismus der PEP557-Datenklasse
Verstehen Sie den Komfort des Django Rest Framework
[Python3] Verstehe die Grundlagen von Beautiful Soup
Verstehen Sie den "temporären" Teil von UNIX / Linux
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Untersuchen wir den Mechanismus von Kaijis Chinchirorin
[Python3] Grundlegendes zu Dateivorgängen
Überprüfen Sie den Betrieb von OpenCV3, das von Anaconda installiert wurde
Sortieren Sie die Elemente eines Arrays, indem Sie Bedingungen angeben
Übergangsanimation der beliebtesten Programmiersprache (#Programmiersprache #popular)
Linux: Verstehen Sie die Informationen, die vom Befehl top angezeigt werden
Minimieren Sie die Anzahl der Polierungen, indem Sie die Kombination optimieren
Beurteilung des Endes von Mahjong durch Kombinationsoptimierung
Die Basis der Graphentheorie mit Matplotlib-Animation
Suchen Sie nach dem Wert der Instanz in der Liste
So vermeiden Sie die Cut-Off-Beschriftung des Diagramms, das vom Plotsystemmodul mit matplotlib erstellt wurde