आवश्यक पैकेज लोड करें।
library(ggplot2)
library(MASS)
गामा वितरण के लिए फिट 10,000 संख्या उत्पन्न करें।
x <- round(rgamma(100000,shape = 2,rate = 0.2),1)
x <- x[which(x>0)]
संभावना घनत्व फ़ंक्शन ड्रा करें, माना जाता है कि हम नहीं जानते हैं कि कौन सा वितरण x फिट है।
t1 <- as.data.frame(table(x))
names(t1) <- c("x","y")
t1 <- transform(t1,x=as.numeric(as.character(x)))
t1$y <- t1$y/sum(t1[,2])
ggplot() +
geom_point(data = t1,aes(x = x,y = y)) +
theme_classic()
ग्राफ से, हम सीख सकते हैं कि x का वितरण काफी हद तक गामा वितरण की तरह है, इसलिए हम गामा वितरण के आकार और दर के मापदंडों को प्राप्त करने के लिए fitdistr()
पैकेज में उपयोग करते हैं MASS
।
fitdistr(x,"gamma")
## output
## shape rate
## 2.0108224880 0.2011198260
## (0.0083543575) (0.0009483429)
एक ही प्लॉट में वास्तविक बिंदु (ब्लैक डॉट) और फिटेड ग्राफ (रेड लाइन) ड्रा करें, और यहां सवाल है, कृपया पहले प्लॉट देखें।
ggplot() +
geom_point(data = t1,aes(x = x,y = y)) +
geom_line(aes(x=t1[,1],y=dgamma(t1[,1],2,0.2)),color="red") +
theme_classic()
मेरे दो सवाल हैं:
असली मापदंड हैं
shape=2
,rate=0.2
, और पैरामीटर मैं फ़ंक्शन का उपयोगfitdistr()
पाने के लिए कर रहे हैंshape=2.01
,rate=0.20
। ये दोनों लगभग समान हैं, लेकिन फिटेड ग्राफ वास्तविक बिंदु पर क्यों फिट नहीं होता है, फिट किए गए ग्राफ में कुछ गलत होना चाहिए, या जिस तरह से मैं फिट किए गए ग्राफ को खींचता हूं और वास्तविक बिंदु पूरी तरह से गलत है, मुझे क्या करना चाहिए ?बाद मैं मॉडल मैं स्थापित की पैरामीटर, जो रास्ते में मैं मॉडल, रेखीय मॉडल, या के पी-मूल्य के लिए राष्ट्रीय स्वयंसेवक संघ (अवशिष्ट वर्ग योग) की तरह कुछ का मूल्यांकन प्राप्त
shapiro.test()
,ks.test()
और अन्य परीक्षण?
मैं सांख्यिकीय ज्ञान में गरीब हूं, क्या आप कृपया मेरी मदद कर सकते हैं?
पीएस: मैंने कई बार गूगल, स्टैकओवरफ्लो और सीवी में खोज की है, लेकिन इस समस्या से संबंधित कुछ भी नहीं मिला
h <- hist(x, 1000, plot = FALSE); t1 <- data.frame(x = h$mids, y = h$density)
।