एक बहुभिन्नरूपी सामान्य वितरण के मापदंडों का अनुमान लगाने के लिए आवश्यक डेटा की मात्रा एक निश्चित आत्मविश्वास के भीतर निर्दिष्ट आयाम के साथ भिन्न नहीं होती है, अन्य सभी चीजें समान हैं। इसलिए आप दो आयामी आयामों के लिए अंगूठे के किसी भी नियम को बिना किसी बदलाव के लागू कर सकते हैं।
क्यों करना चाहिए? केवल तीन प्रकार के पैरामीटर हैं: साधन, संस्करण, और सहसंयोजक। किसी माध्यम में अनुमान की त्रुटि केवल भिन्नता और डेटा की मात्रा पर निर्भर करती है, । इस प्रकार, जब का एक बहुभिन्नरूपी सामान्य वितरण होता है और में variances , तो के अनुमान केवल और पर निर्भर करते हैं । जिस कारण से, आकलन में पर्याप्त सटीकता प्राप्त करने के लिए सभी , हम केवल के लिए आवश्यक डेटा की मात्रा विचार करने की जरूरत होने सबसे बड़ा कीn(X1,X2,…,Xd)Xiσ2iE[Xi]σinE[Xi]Xiσi। इसलिए, जब हम बढ़ती आयामों के लिए आकलन समस्याओं का एक उत्तराधिकार मनन , सभी हम विचार करने की जरूरत है कि कितना बड़ा है में वृद्धि होगी। जब ये पैरामीटर ऊपर बंधे होते हैं, तो हम निष्कर्ष निकालते हैं कि आवश्यक डेटा की मात्रा आयाम पर निर्भर नहीं करती है।dσi
इसी तरह के विचार variances और covariances का अनुमान लगाने के लिए लागू होते हैं : यदि एक निश्चित सटीकता के लिए एक सहसंयोजक (या सहसंबंध गुणांक) का आकलन करने के लिए डेटा की एक निश्चित राशि पर्याप्त होती है, तो - अंतर्निहित सामान्य वितरण समान है पैरामीटर मान - किसी भी सहसंयोजक या सहसंबंध गुणांक के आकलन के लिए डेटा की समान मात्रा पर्याप्त होगी ।σ2iσij
इस तर्क के लिए अनुभवजन्य समर्थन प्रदान करने के लिए, आइए कुछ सिमुलेशन का अध्ययन करें। निम्नलिखित निर्दिष्ट आयामों के एक बहुराष्ट्रीय वितरण के लिए पैरामीटर बनाता है, उस वितरण से वैक्टर के कई स्वतंत्र, समान रूप से वितरित सेटों को खींचता है, इस तरह के प्रत्येक नमूने से मापदंडों का अनुमान लगाता है, और (1) उनके औसत के संदर्भ में उन पैरामीटर अनुमानों के परिणामों को सारांशित करता है। -प्रदर्शन के दौरान वे निष्पक्ष हैं (और कोड सही ढंग से काम कर रहा है - और (2) उनके मानक विचलन, जो अनुमानों की सटीकता को निर्धारित करते हैं। (इन मानक विचलन को भ्रमित न करें, जो कई से अधिक अनुमानों के बीच भिन्नता की मात्रा निर्धारित करते हैं। सिमुलेशन के पुनरावृत्तियों, मानक विचलन के साथ अंतर्निहित बहुराष्ट्रीय वितरण को परिभाषित करने के लिए उपयोग किया जाता है!d परिवर्तन, बशर्ते कि परिवर्तन के रूप में , हम अंतर्निहित बहुराष्ट्रीय वितरण में बड़े भिन्नताओं का परिचय न दें।d
अंतर्निहित वितरण के प्रकारों के आकार को इस अनुकरण में बराबर सहसंयोजक मैट्रिक्स का सबसे बड़ा आइगेनवेल्यू बनाकर नियंत्रित किया जाता है । यह संभावना घनत्व "बादल" को सीमा के भीतर रखता है क्योंकि आयाम बढ़ता है, इससे कोई फर्क नहीं पड़ता कि इस बादल का आकार क्या हो सकता है। प्रणाली के व्यवहार के अन्य मॉडलों के आयामों के रूप में आयाम बढ़ जाता है बस eigenvalues उत्पन्न कर रहे हैं बदलकर बनाया जा सकता है; एक उदाहरण (एक गामा वितरण का उपयोग करके) नीचे दिए गए कोड में टिप्पणी की गई है।1R
हम जिस चीज की तलाश कर रहे हैं, वह यह सत्यापित करना है कि पैरामीटर अनुमानों के मानक विचलन आयाम के बदले जाने पर सराहनीय रूप से नहीं बदलते हैं। इसलिए मैं दो चरम सीमाओं, के लिए परिणाम बताते हैं और , डेटा की समान राशि (का उपयोग करते हुए दोनों ही मामलों में)। यह उल्लेखनीय है कि बराबर होने पर अनुमानित मापदंडों की संख्या, वैक्टर की संख्या ( ) से अधिक है और यहां तक कि संपूर्ण डेटासेट में व्यक्तिगत संख्या ( ) से अधिक है।dd=2d=6030d=6018903030∗60=1800
चलो दो आयामों से शुरू करते हैं, । पांच पैरामीटर हैं: दो संस्करण ( इस सिमुलेशन में और मानक विचलन के साथ ), एक सहसंयोजक (एसडी = ), और दो साधन (एसडी = और )। विभिन्न सिमुलेशन के साथ (यादृच्छिक बीज के शुरुआती मूल्य को बदलकर प्राप्त करने वाले) ये थोड़ा भिन्न होंगे, लेकिन नमूना आकार होने पर वे लगातार तुलनात्मक आकार के होंगे । उदाहरण के लिए, अगले सिमुलेशन में एसडी , , , औरd=20.0970.1820.1260.110.15n=300.0140.2630.0430.040.18, क्रमशः: वे सभी बदल गए लेकिन परिमाण के तुलनीय आदेश हैं।
(इन बयानों को सैद्धांतिक रूप से समर्थन दिया जा सकता है लेकिन यहाँ बिंदु विशुद्ध रूप से अनुभवजन्य प्रदर्शन प्रदान करना है।)
अब हम , नमूना आकार को पर रखते हैं । विशेष रूप से, इसका मतलब है कि प्रत्येक नमूने में वैक्टर होते हैं , प्रत्येक में घटक होते हैं। सभी मानक विचलन की सूची के बजाय , आइए उनकी सीमाओं को चित्रित करने के लिए हिस्टोग्राम का उपयोग करते हुए उनके चित्रों को देखें।d=60n=3030601890
शीर्ष पंक्ति में बिखराव इस सिमुलेशन में पुनरावृत्तियों के दौरान किए गए औसत अनुमानों के वास्तविक मापदंडों sigma
( ) और ( ) की तुलना करते हैं । ग्रे संदर्भ लाइनें सही समानता के स्थान को चिह्नित करती हैं: स्पष्ट रूप से अनुमान इरादा के अनुसार काम कर रहे हैं और निष्पक्ष हैं।σmu
μ104
हिस्टोग्राम नीचे की पंक्ति में दिखाई देते हैं, कोविर्सियस मैट्रिक्स में सभी प्रविष्टियों के लिए अलग-अलग (बाएं) और साधन (दाएं) के लिए। व्यक्ति की एसडीएस प्रसरण के बीच झूठ के लिए करते हैं और है, जबकि की एसडीएस सहप्रसरण अलग घटकों के बीच के बीच झूठ के लिए करते हैं और : रेंज में वास्तव में हासिल की जब । इसी तरह, औसत अनुमानों के एसडी और बीच झूठ बोलते हैं , जो होने पर जो देखा गया था, उसकी तुलना में है । निश्चित रूप से कोई संकेत नहीं है कि एसडी रूप में बढ़े हैं0.080.120.040.08d=20.080.13d=2dसे ऊपर चला गया करने के लिए ।260
कोड इस प्रकार है।
#
# Create iid multivariate data and do it `n.iter` times.
#
sim <- function(n.data, mu, sigma, n.iter=1) {
#
# Returns arrays of parmeter estimates (distinguished by the last index).
#
library(MASS) #mvrnorm()
x <- mvrnorm(n.iter * n.data, mu, sigma)
s <- array(sapply(1:n.iter, function(i) cov(x[(n.data*(i-1)+1):(n.data*i),])),
dim=c(n.dim, n.dim, n.iter))
m <-array(sapply(1:n.iter, function(i) colMeans(x[(n.data*(i-1)+1):(n.data*i),])),
dim=c(n.dim, n.iter))
return(list(m=m, s=s))
}
#
# Control the study.
#
set.seed(17)
n.dim <- 60
n.data <- 30 # Amount of data per iteration
n.iter <- 10^4 # Number of iterations
#n.parms <- choose(n.dim+2, 2) - 1
#
# Create a random mean vector.
#
mu <- rnorm(n.dim)
#
# Create a random covariance matrix.
#
#eigenvalues <- rgamma(n.dim, 1)
eigenvalues <- exp(-seq(from=0, to=3, length.out=n.dim)) # For comparability
u <- svd(matrix(rnorm(n.dim^2), n.dim))$u
sigma <- u %*% diag(eigenvalues) %*% t(u)
#
# Perform the simulation.
# (Timing is about 5 seconds for n.dim=60, n.data=30, and n.iter=10000.)
#
system.time(sim.data <- sim(n.data, mu, sigma, n.iter))
#
# Optional: plot the simulation results.
#
if (n.dim <= 6) {
par(mfcol=c(n.dim, n.dim+1))
tmp <- apply(sim.data$s, 1:2, hist)
tmp <- apply(sim.data$m, 1, hist)
}
#
# Compare the mean simulation results to the parameters.
#
par(mfrow=c(2,2))
plot(sigma, apply(sim.data$s, 1:2, mean), main="Average covariances")
abline(c(0,1), col="Gray")
plot(mu, apply(sim.data$m, 1, mean), main="Average means")
abline(c(0,1), col="Gray")
#
# Quantify the variability.
#
i <- lower.tri(matrix(1, n.dim, n.dim), diag=TRUE)
hist(sd.cov <- apply(sim.data$s, 1:2, sd)[i], main="SD covariances")
hist(sd.mean <- apply(sim.data$m, 1, sd), main="SD means")
#
# Display the simulation standard deviations for inspection.
#
sd.cov
sd.mean