Ich experimentiere mit der Anpassung eines Potenzgesetzes an empirische Daten mit dem powerlaw Modul. Ich habe folgende Daten erstellt, die einem Potenzgesetz Verteilung der Exponent 2 folgt:Fit ein Potenzgesetz zu empirischen Daten in Python
x = range(1,1000)
y = []
for i in x:
y.append(i**(-2))
viel
Ich erwarte die angepasste Potenzgesetz haben einen Exponenten von 2 jedoch der resultierende Exponent weicht von dem theoretischen Wert:
fitted_pl = powerlaw.Fit(y)
fitted_pl.alpha
Out[115]: 1.4017584065981563
Könnten Sie bitte beraten, warum dies geschieht, oder darauf hinweisen, was ich hier falsch gemacht habe?
Vielen Dank für Ihre freundliche Antwort!
Wenn Sie schreiben 'y.append (x ** (- 2))', ich denke du meinst mit y. append (i ** (- 2)) ' – Brionius
@Brionius Danke, dass Sie das herausgebracht haben, korrigiert. –
Verstehen Sie vielleicht die Regression der Linie 'y (x) = kx^(- a)' mit der Anpassung eines Exponenten an Werte aus der * Wahrscheinlichkeitsverteilung * 'p (x) ~ (a-1) x^(- a)? [Das k-> eine Änderung ist beabsichtigt.] Das 'powerlaw' Modul adressiert die zweite Frage. – DSM