मेरे पास कुछ सकारात्मक संख्याएं हैं और मैं सीएनटी के 1 और 50 के बीच होने की संभावना को प्लॉट करने और दिखाने के लिए लॉग-सामान्य वितरण का उपयोग कर रहा हूं। मैं वक्र के नीचे के क्षेत्र को रंग देना चाहता हूं और संभावना की गणना करना चाहता हूं। मैंने चार्ट को सफलतापूर्वक प्लॉट कर लिया है और मैं प्रायिकता की गणना करने की कोशिश कर रहा हूं, हालांकि लौटाया जा रहा परिणाम सही नहीं लग रहा है, मैं कहां गलती कर रहा हूं? मैं lb और ub के बीच वक्र के नीचे के क्षेत्र को कैसे पेंट कर सकता हूं?

    df <-structure(list(Year_Month = structure(1:35, .Label = c("2015-05", 
    "2015-10", "2015-11", "2015-12", "2016-01", "2016-02", "2016-03", 
    "2016-04", "2016-05", "2016-06", "2016-07", "2016-08", "2016-09", 
    "2016-10", "2016-11", "2016-12", "2017-01", "2017-02", "2017-03", 
    "2017-04", "2017-05", "2017-06", "2017-07", "2017-08", "2017-09", 
    "2017-10", "2017-11", "2017-12", "2018-01", "2018-02", "2018-03", 
    "2018-04", "2018-05", "2018-06", "2018-07"), class = "factor"), 
    CNT = c(1, 1, 1, 5, 6, 5, 21, 10, 11, 16, 
    14, 19, 11, 9, 15, 6, 7, 33, 24, 47, 76, 92, 
    72, 92, 63, 60, 69, 66, 65, 89, 91, 76, 84, 71, 
    40)), .Names = c("Year_Month", "CNT"), row.names = c(NA, 
    35), class = "data.frame")


    std=sd(df$CNT)
    m=mean(df$CNT)
    lb=1
    ub=50

    ggplot(df, aes(x=CNT)) +  stat_function(fun=dlnorm, args=list(mean=m, sd=std)) 

    i <- CNT >= lb & CNT <= ub
    area <- plnorm(ub, m, std) - plnorm(lb, m, std)
    area

log-normal distribution

0
Ibo 23 जुलाई 2018, 22:35
क्या आप इस बारे में अधिक विशिष्ट हो सकते हैं कि "क्या सही नहीं लग रहा है? वक्र के नीचे क्षेत्र भरने के बारे में अन्य प्रश्न हैं: stackoverflow.com/questions/33244629/…
 – 
MrFlick
23 जुलाई 2018, 22:51
मेरे गणना क्षेत्र में हमें सीएनटी के 1 और 50 के बीच होने की संभावना देनी चाहिए, यह 0.7 या तो कुछ होना चाहिए, लेकिन यह 0.025 देता है
 – 
Ibo
23 जुलाई 2018, 22:52

1 उत्तर

सबसे बढ़िया उत्तर

लॉग-मानदंड का पैरामीटरकरण आपको औसत लॉग मान में पारित करने की अपेक्षा करता है, न कि कच्चे मूल्य। प्रयत्न

std <- sd(log(df$CNT))
m <- mean(log(df$CNT))
lb <- 1
ub <- 50

ggplot(df, aes(x=CNT)) +  
  stat_function(fun=dlnorm, args=list(mean=m, sd=std)) + 
  stat_function(fun=dlnorm, args=list(mean=m, sd=std), xlim=c(lb, ub), geom="area") 

plnorm(ub, m, std) - plnorm(lb, m, std)
# [1] 0.7230461

enter image description here

1
MrFlick 23 जुलाई 2018, 22:56