2017-12-28 2 views
0

Ich versuche zu sehen, ob eine Normalverteilung mit bestimmten Parametern zu einem Datensatz passt. Es scheint jedoch, dass qqplot nicht wie erwartet funktioniert. Das folgende kleine Beispiel zeigt dies:Quantil-Quantile-Plot mit Python-Statistikmodellen api

import numpy as np 
import statsmodels.api as sm 
import pylab 

test = np.random.normal(20,5, 1000) 

sm.qqplot(test, loc = 20, scale = 5 , line='45') 
pylab.show() 

Wie man sehen kann ich die Punkte erwarten mit Steigung = 1 um die Linie zu sein, aber es gibt die folgende Abbildung:

q-q plot

Kann jemand erklären, Warum passiert das?

Antwort

0

Ich bemerkte, dass, wenn ich den Parameter line='45' aus Ihrem Code weggelassen, die folgende Handlung Ergebnisse.

q-q

Wir können sehen, dass was passiert ist, ist, dass in dem QQ-Plot, der die theoretische Quantile macht statsmodels ist nicht zurück auf die Abmessungen des ursprünglichen pseudosample neu skaliert, weshalb die blaue Linie ist beschränkt auf den linken Rand des Grundstücks.

Ich weiß nicht, wie man statsmodels macht, was Sie wollen; Es gibt jedoch einen anderen Weg - siehe https://stackoverflow.com/a/47189575/131187.