Betrachten Sie eine Betaverteilung für eine bestimmte Gruppe von Ratings in [0,1]. Nachdem Sie den Mittelwert berechnet haben:
Gibt es eine Möglichkeit, ein Konfidenzintervall um diesen Mittelwert herum bereitzustellen?
mean
beta-distribution
dominierend
quelle
quelle
Antworten:
Während es spezielle Methoden zur Berechnung von Konfidenzintervallen für die Parameter in einer Beta-Verteilung gibt, beschreibe ich einige allgemeine Methoden, die für (fast) alle Arten von Verteilungen verwendet werden können , einschließlich der Betaverteilung, verwendet werden können und in R leicht implementiert werden können .
Konfidenzintervalle der Profilwahrscheinlichkeit
Beginnen wir mit der Maximum-Likelihood-Schätzung mit entsprechenden Profil-Likelihood-Konfidenzintervallen. Zunächst benötigen wir einige Beispieldaten:
Das reale / theoretische Mittel ist
Nun müssen wir eine Funktion zur Berechnung der negativen Log-Likelihood-Funktion für eine Stichprobe aus der Beta-Verteilung erstellen, wobei der Mittelwert einer der Parameter ist. Wir können die
dbeta()
Funktion verwenden, aber da dies keine Parametrisierung mit dem Mittelwert verwendet, müssen wir seine Parameter ( α und β ) als Funktion des Mittelwerts und einiger anderer Parameter (wie der Standardabweichung) ausdrücken :Um die maximale Wahrscheinlichkeitsschätzung zu finden, können wir die
mle()
Funktion in derstats4
Bibliothek verwenden:Ignorieren Sie einfach die Warnungen. Sie werden durch die Optimierungsalgorithmen verursacht, die ungültige Werte für die Parameter versuchen und negative Werte für α liefern und / oder β . (Um die Warnung zu vermeiden, können Sie ein
lower
Argument hinzufügen und die verwendete Optimierung ändernmethod
.)Jetzt haben wir sowohl Schätzungen als auch Konfidenzintervalle für unsere beiden Parameter:
Beachten Sie, dass die Konfidenzintervalle erwartungsgemäß nicht symmetrisch sind:
(Die zweiten äußeren magentafarbenen Linien zeigen das 95% -Konfidenzintervall.)
Beachten Sie auch, dass wir bereits mit 10 Beobachtungen sehr gute Schätzungen erhalten (ein enges Konfidenzintervall).
Alternativ dazu
mle()
können Sie diefitdistr()
Funktion aus derMASS
Paket verwenden. Auch dies berechnet den Maximum Likelihood Estimator und hat den Vorteil, dass Sie nur die Dichte und nicht die negative Log Likelihood angeben müssen, aber keine Profil-Likelihood-Konfidenzintervalle, sondern nur asymptotische (symmetrische) Konfidenzintervalle.Eine bessere Option ist
mle2()
(und verwandte Funktionen) aus dembbmle
Paket, das etwas flexibler und leistungsfähiger ist alsmle()
und etwas schönere Plots liefert.Bootstrap-Konfidenzintervalle
Eine andere Möglichkeit ist die Verwendung des Bootstraps. Es ist extrem einfach in R zu verwenden und Sie müssen nicht einmal eine Dichtefunktion bereitstellen:
Der Bootstrap hat den zusätzlichen Vorteil, dass er auch dann funktioniert, wenn Ihre Daten nicht aus einer Beta-Distribution stammen.
Asymptotische Konfidenzintervalle
Vergessen wir für Konfidenzintervalle im Mittel nicht die guten alten asymptotischen Konfidenzintervalle, die auf dem zentralen Grenzwertsatz (und der t- Verteilung) basieren . Solange wir entweder eine große Stichprobengröße haben (so gilt die CLT und die Verteilung des Stichprobenmittelwerts ist ungefähr normal) oder große Werte von α und β (so dass die Beta-Verteilung selbst ungefähr normal ist), funktioniert es gut. Hier haben wir keine, aber das Konfidenzintervall ist immer noch nicht so schlecht:
Für nur geringfügig größere Werte von n (und nicht zu extreme Werte der beiden Parameter) funktioniert das asymptotische Konfidenzintervall außerordentlich gut.
quelle
Testen Sie die Beta-Regression. Eine gute Einführung in die Vorgehensweise mit R finden Sie hier:
http://cran.r-project.org/web/packages/betareg/vignettes/betareg.pdf
Eine andere (sehr einfache) Möglichkeit, ein Konfidenzintervall zu erstellen, wäre die Verwendung eines nicht parametrischen Boostrap-Ansatzes. Wikipedia hat gute Infos:
http://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29
Auch schönes Video hier:
http://www.youtube.com/watch?v=ZCXg64l9R_4
quelle