यह एक पेचीदा विचार है, क्योंकि मानक विचलन का अनुमानक सामान्य रूट-मीन-स्क्वायर दृष्टिकोणों की तुलना में आउटलेर्स के प्रति कम संवेदनशील प्रतीत होता है। हालांकि, मुझे संदेह है कि यह अनुमानक प्रकाशित किया गया है। तीन कारण हैं: यह कम्प्यूटेशनल रूप से अक्षम है, यह पक्षपातपूर्ण है, और यहां तक कि जब पूर्वाग्रह को ठीक किया जाता है, तो यह सांख्यिकीय रूप से अक्षम है (लेकिन केवल थोड़ा सा)। इन्हें थोड़ा प्रारंभिक विश्लेषण के साथ देखा जा सकता है, तो चलिए पहले ऐसा करते हैं और फिर निष्कर्ष निकालते हैं।
विश्लेषण
μσ( x)मैं, एक्सजे)
μ^( x)मैं, एक्सजे) = एक्समैं+ xजे2
तथा
σ^( x)मैं, एक्सजे) = | एक्समैं- एक्सजे|2।
इसलिए प्रश्न में वर्णित विधि है
μ^( x)1, एक्स2, ... , एक्सn) = 2एन ( एन - 1 )Σमैं > जेएक्समैं+ xजे2= 1nΣमैं = १nएक्समैं,
जो माध्य का सामान्य अनुमानक है, और
σ^( x)1, एक्स2, ... , एक्सn) = 2एन ( एन - 1 )Σमैं > जे| एक्समैं- एक्सजे|2= 1एन ( एन - 1 )Σमैं , जे| एक्समैं- एक्सजे| ।
इ= ई ( | x)मैं- एक्सजे| )मैंजे
ई ( σ)^( x)1, एक्स2, ... , एक्सn) ) = 1एन ( एन - 1 )Σमैं , जेई ( ! X)मैं- एक्सजे| )=ई।
एक्समैंएक्सजे2 σ22-√σχ ( 1 )2 / π---√
इ= २π--√σ।
2/ π--√≈ 1.128
σ^
निष्कर्ष
σ^n = 20 , 000
Σमैं , जे| एक्समैं- एक्सजे|ओ ( एन)2)ओ ( एन )n10 , 000R
। (अन्य प्लेटफार्मों पर रैम की आवश्यकताएं बहुत कम होंगी, शायद गणना समय में थोड़ी लागत पर।)
यह सांख्यिकीय रूप से अक्षम है। इसे सबसे अच्छा दिखाने के लिए, आइए निष्पक्ष संस्करण पर विचार करें और इसकी तुलना कम से कम वर्गों या अधिकतम संभावना अनुमानक के निष्पक्ष संस्करण से करें।
σ^ओ एल एस= ( १)एन - 1Σमैं = १n( x)मैं- μ^)2)------------------⎷( n - 1 ) Γ ( ( n - 1 ) / 2 )2 Γ ( एन / 2 )।
R
n = 3n = 300σ^ओ एल एसσ
इसके बाद
σ^
कोड
sigma <- function(x) sum(abs(outer(x, x, '-'))) / (2*choose(length(x), 2))
#
# sigma is biased.
#
y <- rnorm(1e3) # Don't exceed 2E4 or so!
mu.hat <- mean(y)
sigma.hat <- sigma(y)
hist(y, freq=FALSE,
main="Biased (dotted red) and Unbiased (solid blue) Versions of the Estimator",
xlab=paste("Sample size of", length(y)))
curve(dnorm(x, mu.hat, sigma.hat), col="Red", lwd=2, lty=3, add=TRUE)
curve(dnorm(x, mu.hat, sqrt(pi/4)*sigma.hat), col="Blue", lwd=2, add=TRUE)
#
# The variance of sigma is too large.
#
N <- 1e4
n <- 10
y <- matrix(rnorm(n*N), nrow=n)
sigma.hat <- apply(y, 2, sigma) * sqrt(pi/4)
sigma.ols <- apply(y, 2, sd) / (sqrt(2/(n-1)) * exp(lgamma(n/2)-lgamma((n-1)/2)))
message("Mean of unbiased estimator is ", format(mean(sigma.hat), digits=4))
message("Mean of unbiased OLS estimator is ", format(mean(sigma.ols), digits=4))
message("Variance of unbiased estimator is ", format(var(sigma.hat), digits=4))
message("Variance of unbiased OLS estimator is ", format(var(sigma.ols), digits=4))
message("Efficiency is ", format(var(sigma.ols) / var(sigma.hat), digits=4))
x <- c(rnorm(30), rnorm(30, 10))