Ich weiß, dass dies statistisch gesehen vielleicht ein bisschen blöd ist, aber das ist mein Problem.
Ich habe viele Bereichsdaten, das heißt das Minimum, das Maximum und die Stichprobengröße einer Variablen. Für einige dieser Daten habe ich auch einen Mittelwert, aber nicht viele. Ich möchte diese Bereiche miteinander vergleichen, um die Variabilität jedes Bereichs zu quantifizieren und auch die Mittelwerte zu vergleichen. Ich habe einen guten Grund anzunehmen, dass die Verteilung um den Mittelwert symmetrisch ist und dass die Daten eine Gaußsche Verteilung haben werden. Aus diesem Grund denke ich, dass ich es rechtfertigen kann, den Mittelpunkt der Verteilung als Proxy für den Mittelwert zu verwenden, wenn er fehlt.
Was ich tun möchte, ist, eine Verteilung für jeden Bereich zu rekonstruieren und diese dann zu verwenden, um eine Standardabweichung oder einen Standardfehler für diese Verteilung bereitzustellen. Die einzige Information, die ich habe, ist das von einer Stichprobe beobachtete Maximum und Minimum und der Mittelpunkt als Proxy für den Mittelwert.
Auf diese Weise hoffe ich in der Lage zu sein, gewichtete Mittelwerte für jede Gruppe zu berechnen und auch den Variationskoeffizienten für jede Gruppe zu berechnen, basierend auf den Bereichsdaten, die ich habe, und meinen Annahmen (einer symmetrischen und normalen Verteilung).
Ich plane, R zu verwenden, um dies zu tun, so würde jede mögliche Code-Hilfe ebenso geschätzt.
quelle
Antworten:
Die gemeinsame kumulative Verteilungsfunktion für das Minimumx(1) & Maximum x(n) für eine Stichprobe von n aus einer Gaußschen Verteilung mit mittlerem μ & Standardabweichung σ ist
wobei die Standard-Gaußsche CDF ist. Die Differenzierung in Bezug auf x ( 1 ) & x ( n ) ergibt die gemeinsame WahrscheinlichkeitsdichtefunktionΦ(⋅) x(1) x(n)
whereϕ(⋅) is the standard Gaussian PDF. Taking the log & dropping terms that don't contain parameters gives the log-likelihood function
This doesn't look very tractable but it's easy to see that it's maximized whatever the value ofσ by setting μ=μ^=x(n)+x(1)2 , i.e. the midpoint—the first term is maximized when the argument of one CDF is the negative of the argument of the other; the second & third terms represent the joint likelihood of two independent normal variates.
This expression has to be maximized numerically (e.g. withσ^ . (It turns out that σ^=k(n)⋅r , where k is a constant depending only on n —perhaps someone more mathematically adroit than I could show why.)
optimize
from R'sstat
package) to findEstimates are no use without an accompanying measure of precision. The observed Fisher information can be evaluated numerically (e.g. with
hessian
from R'snumDeriv
package) & used to calculate approximate standard errors:It would be interesting to compare the likelihood & the method-of-moments estimates forσ in terms of bias (is the MLE consistent?), variance, & mean-square error. There's also the issue of estimation for those groups where the sample mean is known in addition to the minimum & maximum.
quelle
You need to relate the range to the standard deviation/variance.Letμ be the mean, σ the standard deviation and R=x(n)−x(1) be the range. Then for the normal distribution we have that 99.7 % of probability mass lies within 3 standard deviations from the mean. This, as a practical rule means that with very high probability,
Subtracting the second from the first we obtain
Having a value for the mean and for the standard deviation completely characterizes the normal distribution.
quelle
It is straightforward to get the distribution function of the maximum of the normal distribution (see "P.max.norm" in code). From it (with some calculus) you can get the quantile function (see "Q.max.norm").
Using "Q.max.norm" and "Q.min.norm" you can get the median of the range that is related with N. Using the idea presented by Alecos Papadopoulos (in previous answer) you can calculate sd.
Try this:
quelle