Wie kann ich weibliche Daten aus Daten ermitteln?

10

Ich habe ein Histogramm von Windgeschwindigkeitsdaten, das oft mit einer weiblichen Verteilung dargestellt wird. Ich möchte die weiblichen Form- und Skalierungsfaktoren berechnen, die am besten zum Histogramm passen.

Ich brauche eine numerische Lösung (im Gegensatz zu grafischen Lösungen ), weil das Ziel darin besteht, die weibliche Form programmgesteuert zu bestimmen.

Bearbeiten: Alle 10 Minuten werden Proben entnommen, die Windgeschwindigkeit wird über die 10 Minuten gemittelt. Zu den Beispielen gehören auch die maximale und minimale Windgeschwindigkeit, die während jedes Intervalls aufgezeichnet wurden und derzeit ignoriert werden, aber ich möchte sie später einbeziehen. Die Behälterbreite beträgt 0,5 m / s

Histogramm für 1 Monat Daten

klonq
quelle
1
Wenn Sie sagen, Sie haben das Histogramm - meinen Sie auch die Informationen über die Beobachtungen oder kennen Sie NUR die Breite und Höhe des Behälters?
Suncoolsu
@suncoolsu Ich habe alle Datenpunkte. Datensätze von 5.000 bis 50.000 Datensätzen.
Klonq
Könnten Sie nicht eine zufällige Stichprobe der Daten ziehen und eine MLE der Parameter durchführen?
schenectady
2
Was ist der Zweck der Schätzung? Um vergangene Verhältnisse nachträglich zu charakterisieren? Um die zukünftige Stromerzeugung an einem Standort vorherzusagen? Vorhersage der Stromerzeugung in einem Turbinennetz? Ein meteorologisches Modell kalibrieren? Für diese Frage hängt die Bestimmung einer geeigneten Lösung entscheidend davon ab, wie sie verwendet wird.
whuber
@whuber Derzeit besteht die Idee darin, Winddatensätze in einer Form zusammenzufassen, die einen Vergleich von Zeitraum zu Zeitraum und / oder von Ort zu Ort ermöglicht. Später wird das Ziel darin bestehen, Trends zu vergleichen und, wie Sie sagen, Urteile über die zukünftige Produktion usw. zu fällen. Ich bin ein Neuling in der Statistik, aber ich habe einen Berg von Daten (die ich nicht teilen kann) und möchte als extrahieren viele Informationen daraus wie möglich. Wenn Sie mich auf eine Lektüre zu diesem Thema verweisen können, wäre ich Ihnen sehr dankbar.
Klonq

Antworten:

11

Die Schätzung der maximalen Wahrscheinlichkeit von Weibull-Parametern kann in Ihrem Fall eine gute Idee sein. Eine Form der Weibull-Verteilung sieht folgendermaßen aus:

(γ/θ)(x)γ1exp(xγ/θ)

θ,γ>0X1,,Xn

L(θ,γ)=i=1nlogf(Xi|θ,γ)

Eine "programmierbasierte" Lösung wäre die Optimierung dieser Funktion unter Verwendung einer eingeschränkten Optimierung. Lösung für optimale Lösung:

logLγ=nγ+1nlogxi1θ1nxiγlogxi=0
logLθ=nθ+1θ21nxiγ=0

Beim Eliminieren θ

[1nxiγlogxi1nxiγ1γ]=1n1nlogxi

Dies kann nun für die ML-Schätzung gelöst werden γ^

θγ^ als:

θ^=1nxiγ^n
Suncoolsu
quelle
Eine Sache, bei der ich vorsichtig sein würde, ist, dass es so klingt, als hätten wir hier Zeitreihendaten. Wenn die Daten über einen kurzen Zeitraum abgetastet werden, kann die Annahme einer Unabhängigkeit gefährlich sein. Das heißt, (+1).
Kardinal
@ Cardinal Bitte erklären. Die Daten erstrecken sich über einen Monat oder bis zu einem Jahr, werden jedoch regelmäßig (10 Minuten) erfasst. Was könnte dies bedeuten?
Klonq
@ Cardinal Danke für den Hinweis. Ich war mir auch nicht sicher, ob die Annahme der Unabhängigkeit angemessen ist.
Suncoolsu
1
@klonq, wie wird die Probe genommen? Ist es die Durchschnittsgeschwindigkeit über die zehn Minuten zwischen den Aufnahmen? Über eine Minute vor der Aufnahme? Die momentane Geschwindigkeit zum Zeitpunkt der Aufnahme? Meistens würde ich nach seriellen Korrelationen suchen, die Ihre effektive Stichprobengröße erheblich reduzieren könnten. Die Verwendung einer ML-Schätzung, die auf der Annahme unabhängiger Stichproben basiert, kann in diesem Zusammenhang zu einer guten Schätzung führen oder auch nicht. Daher sollte bei Rückschlüssen auf der Grundlage der Schätzung besondere Sorgfalt angewendet werden . Suncoolsus Ansatz bietet jedoch definitiv eine erste Angriffslinie.
Kardinal
@klonq - Wenn möglich, können Sie bitte beschreiben, wie Ihre Probe gesammelt wurde? Wie sehen die Daten aus?
Suncoolsu
12

Verwenden Sie fitdistrplus:

Benötigen Sie Hilfe bei der Identifizierung einer Verteilung anhand ihres Histogramms?

Hier ist ein Beispiel für die Anpassung der Weibull-Verteilung:

library(fitdistrplus)

#Generate fake data
shape <- 1.9
x <- rweibull(n=1000, shape=shape, scale=1)

#Fit x data with fitdist
fit.w <- fitdist(x, "weibull")
summary(fit.w)
plot(fit.w)


Fitting of the distribution ' weibull ' by maximum likelihood 
Parameters : 
       estimate Std. Error
shape 1.8720133 0.04596699
scale 0.9976703 0.01776794
Loglikelihood:  -636.1181   AIC:  1276.236   BIC:  1286.052 
Correlation matrix:
          shape     scale
shape 1.0000000 0.3166085
scale 0.3166085 1.0000000

Geben Sie hier die Bildbeschreibung ein

bill_080
quelle
Danke, aber ich versuche eine Lösung in Java zu finden.
Klonq
Gibt es Zeiger in der R-Codierung, um Form- und Skalierungsfaktoren zu erhalten? Vielen Dank.