क्या मैं इस नमूने के लिए (लॉग-) सामान्यता मान सकता हूं?


11

यहाँ मेरे नमूने के लिए एक QQ साजिश है (लॉगरिदमिक वाई अक्ष पर ध्यान दें); :n=1000

यहाँ छवि विवरण दर्ज करें
जैसा कि व्हूबर द्वारा बताया गया है, यह इंगित करता है कि अंतर्निहित वितरण बाईं-तिरछी है (दाएं पूंछ छोटी है)।

shapiro.testआर में (लॉग-ट्रांसफ़ॉर्म किए गए डेटा पर) का उपयोग करते हुए , मुझे का एक परीक्षण आँकड़ा और 5.172 \ cdot10 ^ {- 13} का एक पी-वैल्यू मिलता है , जिसका अर्थ है कि हम औपचारिक रूप से हाइपोथल H_0: \ text { को अस्वीकार करते हैं नमूना सामान्य वितरित है} 95% विश्वास स्तर पर।W=0.97185.1721013H0:the sample is normal distributed

मेरा सवाल है: क्या यह अच्छा है कि आगे के विश्लेषण (लॉग-) सामान्यता के लिए विश्लेषण के लिए पर्याप्त है? विशेष रूप से, मैं कॉक्स एंड लैंड (कागज में वर्णित: Zou, GY, cindy Yan Huo and Taleban, J. (2009) द्वारा अनुमानित विधि का उपयोग करके समान नमूनों के साधनों के लिए विश्वास अंतराल की गणना करना चाहता हूं। सरल विश्वास अंतराल के लिए। पर्यावरणीय अनुप्रयोगों के साथ तार्किक साधन और उनके अंतर। पर्यावरण 20, 172-180):

ci <- function (x) {
        y <- log(x)
        n <- length(y)
        s2 <- var(y)
        m <- mean(y) + s2 / 2
        z <- qnorm(1 - 0.05 / 2) # 95%
        #z <- qnorm(1 - 0.10 / 2) # 90%
        d <- z * sqrt(s2 / n + s2 * s2 / (2 * (n - 1)))

        return(c(exp(m - d), exp(m + d)))
}

मैंने देखा है कि आत्मविश्वास अंतराल एक बिंदु के आसपास केंद्रित होता है जो वास्तविक नमूना माध्य से थोड़ा ऊपर होता है। उदाहरण के लिए:

> mean(x)
[1] 82.3076
> y <- log(x)
> exp(mean(y) + var(y) / 2)
[1] 91.22831

मुझे लगता है कि इन दोनों मूल्यों को तहत समान होना चाहिए ।H0


1
वितरण निश्चित रूप से सही पूंछ में अच्छी तरह से फिट नहीं है।
माइकल आर। चेरिक सिप

1
यह QQ प्लॉट दिखाता है कि डेटा में लॉगऑनॉर्मल डिस्ट्रीब्यूशन की तुलना में बहुत कम दाईं पूंछ होती है: इसे लॉगऑनॉर्मल की तुलना में तिरछा छोड़ दिया जाता है । इसलिए आपको लॉगऑनॉर्मल-आधारित प्रक्रियाओं का उपयोग करने के लिए होना चाहिए।
व्हिबर

@ जब तक हाँ, आप सही तिरछा होने के बजाय इसे तिरछा छोड़ दिए जाने के बारे में सही हैं। क्या मुझे सवाल अपडेट करना चाहिए?
वेगार्ड

ज़रूर: हम सवालों में सुधार की सराहना करते हैं।
whuber

2
NB: कृपया ध्यान दें कि "बाईं तिरछी" से मेरा स्पष्ट रूप से मतलब था कि दाएं पूंछ छोटी है, यह नहीं कि बाईं पूंछ लंबी है। यह इस बात से स्पष्ट होता है कि संदर्भ रेखा के नीचे भूखंड के दाईं ओर के बिंदु कैसे गिरते हैं । क्योंकि भूखंड के बाईं ओर स्थित बिंदु (अपेक्षाकृत) संदर्भ रेखा के करीब हैं, इसलिए इस वितरण को "लंबी बाईं पूंछ" के रूप में चिह्नित करना गलत है। यहां अंतर महत्वपूर्ण है, क्योंकि दाएं पूंछ को अनुमानित साधनों पर बाएं पूंछ की तुलना में कहीं अधिक प्रभाव पड़ता है (जबकि दोनों पूंछ इसके आत्मविश्वास अंतराल को प्रभावित करती हैं)।
whuber

जवाबों:


12

ये डेटा एक लघु वितरण की तुलना में एक छोटी पूंछ है, गामा वितरण के विपरीत नहीं:

set.seed(17)
par(mfcol=c(1,1))
x <- rgamma(500, 1.9)
qqnorm(log(x), pch=20, cex=.8, asp=1)
abline(mean(log(x)) + .1,1.2*sd(log(x)), col="Gray", lwd=2)

QQPlot

फिर भी, डेटा क्योंकि रहे हैं दृढ़ता से सही-विषम, हम सबसे बड़ा मूल्यों मतलब और उसके विश्वास अंतराल का आकलन करने में एक महत्वपूर्ण भूमिका निभाने के लिए उम्मीद कर सकते हैं। इसलिए हम आशा करते हैं चाहिए कि एक lognormal (एल.एन.) आकलनकर्ता के लिए करते हैं जाएगा जिआदा मतलब और दो आत्मविश्वास सीमा

आइए जांच करें और तुलना के लिए, सामान्य अनुमानकों का उपयोग करें: अर्थात्, नमूना मतलब और इसका सामान्य-सिद्धांत आत्मविश्वास अंतराल। ध्यान दें कि सामान्य अनुमानक केवल नमूना माध्य की अनुमानित सामान्यता पर निर्भर करते हैं , डेटा के नहीं, और - इतने बड़े डेटासेट के साथ - अच्छी तरह से काम करने की उम्मीद की जा सकती है। ऐसा करने के लिए, हमें ciफ़ंक्शन के एक मामूली संशोधन की आवश्यकता है :

ci <- function (x, alpha=.05) {
  z <- -qnorm(alpha / 2)
  y <- log(x); n <- length(y); s2 <- var(y)
  m <- mean(y) + s2 / 2
  d <- z * sqrt(s2 / n + s2 * s2 / (2 * (n - 1)))
  exp(c(mean=m, lcl=m-d, ucl=m+d))
}

सामान्य-सिद्धांत अनुमानों के लिए यहाँ एक समानांतर कार्य है:

ci.u <- function(x, alpha=.05) {
 mean(x) + sd(x) * c(mean=0, lcl=1, ucl=-1) / sqrt(length(x)) * qnorm(alpha/2)
}

इस सिम्युलेटेड डेटासेट पर लागू होता है, आउटपुट हैं

> ci(x)
   mean     lcl     ucl 
2.03965 1.87712 2.21626 
> ci.u(x)
   mean     lcl     ucl 
1.94301 1.81382 2.07219 

सामान्य-थ्योरी अनुमानci.u के वास्तविक माध्य से थोड़ा अधिक दिखाई देता है , लेकिन एक डेटासेट से यह बताना मुश्किल है कि कौन सी प्रक्रिया बेहतर काम करती है। पता लगाने के लिए, चलो बहुत सारे डेटासेट का अनुकरण करते हैं:1.9

trial <- function(n=500, k=1.9) {
  x <- rgamma(n, k)
  cbind(ci(x), ci.u(x))
}
set.seed(17)
sim <- replicate(5000, trial())

हम के सही मतलब के लिए आउटपुट की तुलना करने में रुचि रखते हैं । हिस्टोग्राम्स का एक पैनल इस संबंध में खुलासा कर रहा है:1.9

xmin <- min(sim)
xmax <- max(sim)
h <- function(i, ...) {
  b <- seq(from=floor(xmin*10)/10, to=ceiling(xmax*10)/10, by=0.1)
  hist(sim[i,], freq=TRUE, breaks=b, col="#a0a0FF", xlab="x", xlim=c(xmin, xmax), ...)
  hist(sim[i,sim[i,] >= 1.9], add=TRUE,freq=TRUE, breaks=b, col="#FFa0a0",
                              xlab="x", xlim=c(xmin, xmax), ...)
}
par(mfcol=c(2,3))
h(1, main="LN Estimate of Mean")
h(4, main="Sample Mean")
h(2, main="LN LCL")
h(5, main="LCL")
h(3, main="LN UCL")
h(6, main="UCL")

हिस्टोग्राम

अब यह स्पष्ट है कि लॉगऑनॉर्मल प्रक्रियाएं औसत और आत्मविश्वास की सीमा को कम करती हैं, जबकि सामान्य प्रक्रियाएं अच्छा काम करती हैं। हम विश्वास अंतराल प्रक्रियाओं के कवरेज का अनुमान लगा सकते हैं:

> sapply(c(LNLCL=2, LCL=5, LNUCL=3, UCL=6), function(i) sum(sim[i,] > 1.9)/dim(sim)[2])
 LNLCL    LCL  LNUCL    UCL 
0.2230 0.0234 1.0000 0.9648 

यह गणना कहती है:

  • एलएन निचली सीमा 22.3% समय (इच्छित 2.5% के बजाय) के बारे में सही मतलब को कवर करने में विफल हो जाएगी।

  • सामान्य निचली सीमा वास्तविक समय के लगभग 2.3% को कवर करने में विफल रहेगी, जो कि इच्छित 2.5% के करीब है।

  • एलएन ऊपरी सीमा हमेशा सही मतलब से अधिक होगी (इसके बजाय नीचे गिरने का समय 2.5% समय के अनुसार)। यह इसे दो-तरफा 100% बनाता है - (22.3% + 0%) = 95% आत्मविश्वास अंतराल के बजाय 77.7% विश्वास अंतराल।

  • सामान्य ऊपरी सीमा 100 - 96.5 = 3.5% समय के बारे में सही मतलब को कवर करने में विफल रहेगी। यह 2.5% के अनुमानित मूल्य से थोड़ा अधिक है। इसलिए सामान्य सीमा में दो तरफा 100% - (2.3% + 3.5%) = 94.2% विश्वास अंतराल के बजाय 95% विश्वास अंतराल शामिल है।

सामान्य अंतराल के लिए नाममात्र कवरेज की 95% से 77.7% तक की कमी भयानक है। सामान्य अंतराल के लिए 94.2% की कमी बिल्कुल भी खराब नहीं होती है और इसे तिरछापन के प्रभाव के लिए जिम्मेदार ठहराया जा सकता है (कच्चे डेटा का, उनके लघुगणक का नहीं)।

हमें यह निष्कर्ष निकालना होगा कि माध्य के आगे के विश्लेषण को लोगनॉर्मलिटी नहीं मानना चाहिए ।

सावधान रहे! कुछ प्रक्रियाएँ (जैसे कि भविष्यवाणी सीमाएँ) इस अर्थ के लिए आत्मविश्वास सीमा से अधिक तिरछी होती हैं, इसलिए उनके तिरछे वितरण के लिए जिम्मेदार हो सकते हैं। हालांकि, यह संभावना नहीं लगती है कि लॉगऑनॉर्मल प्रक्रियाएं इन आंकड़ों के साथ व्यावहारिक रूप से किसी भी इच्छित विश्लेषण के लिए अच्छा प्रदर्शन करेंगी।


वाह, यह जवाब मुझे उड़ा देता है। आपको बहुत - बहुत धन्यवाद! पहले उदाहरण में आप (जो एक अलग रेखा पैदा करता है) के abline()बजाय कैसे उपयोग करते हैं qqline()?
वेगार्ड

आपका trial()फ़ंक्शन इसके तर्कों का उपयोग नहीं करता है।
वेगा


1
अच्छी नौकरी! बूटस्ट्रैपिंग के लिए, संशोधित trialकरें trial <- function(y) { x <- sample(y, length(y), TRUE); cbind(ci(x), ci.u(x)) }:। तो बस जारी एक आदेश sim <- sapply(1:5000, function(i) trial(x))। आप simबाद की छह पंक्तियों के हिस्टोग्राम का पता लगाना चाह सकते हैं ।
whuber

1
+1, मैं विशेष रूप से सूक्ष्म बिंदु को पसंद करता हूं कि पूर्वानुमान अंतराल, मध्यमान के लिए आत्मविश्वास अंतराल की तुलना में वितरण के आकार के लिए अधिक संवेदनशील होगा।
गूँग -
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.