मैं कुछ संख्यात्मक प्रयोग कर रहा हूं, जिसमें एक लॉगनॉर्मल डिस्ट्रिब्यूशन नमूना लिया गया है , और दो तरीकों से क्षणों का अनुमान लगाने की कोशिश की जा रही है
- के नमूना माध्य को देखते हुए
- नमूने का उपयोग करके और अनुमान लगाना (X), \ log ^ 2 (X) के लिए नमूना का उपयोग करता है , और फिर इस तथ्य का उपयोग करते हुए कि एक lognormal वितरण के लिए, हमारे पास \ mathbb {E} / X ^ n है। ] = \ exp (n \ mu + (n \ sigma) ^ 2/2) ।
सवाल यह है :
मुझे प्रायोगिक तौर पर लगता है कि दूसरी विधि बहुत बेहतर प्रदर्शन करती है, पहला वाला, जब मैं नमूनों की संख्या निश्चित रखता हूं, और कुछ कारक टी द्वारा \ mu, \ sigma ^ 2 बढ़ाता हूं । क्या इस तथ्य के लिए कुछ सरल स्पष्टीकरण है?
मैं एक आंकड़ा संलग्न कर रहा हूं जिसमें x- अक्ष T है, जबकि y अक्ष मान हैं और \ mathbb के वास्तविक मूल्यों की तुलना {E} [X ^ 2] = \ अनुमानित मानों के लिए exp (2 \ mu + 2 \ sigma ^ 2) (नारंगी रेखा)। विधि 1 - नीला डॉट्स, विधि 2 - हरा डॉट्स। y- अक्ष लॉग स्केल में है
संपादित करें:
नीचे एक न्यूनतम गणित कोड है जो आउटपुट के साथ एक टी के लिए परिणाम प्रस्तुत करता है:
ClearAll[n,numIterations,sigma,mu,totalTime,data,rmomentFromMuSigma,rmomentSample,rmomentSample]
(* Define variables *)
n=2; numIterations = 10^4; sigma = 0.5; mu=0.1; totalTime = 200;
(* Create log normal data*)
data=RandomVariate[LogNormalDistribution[mu*totalTime,sigma*Sqrt[totalTime]],numIterations];
(* the moment by theory:*)
rmomentTheory = Exp[(n*mu+(n*sigma)^2/2)*totalTime];
(*Calculate directly: *)
rmomentSample = Mean[data^n];
(*Calculate through estimated mu and sigma *)
muNumerical = Mean[Log[data]]; (*numerical \[Mu] (gaussian mean) *)
sigmaSqrNumerical = Mean[Log[data]^2]-(muNumerical)^2; (* numerical gaussian variance *)
rmomentFromMuSigma = Exp[ muNumerical*n + (n ^2sigmaSqrNumerical)/2];
(*output*)
Log@{rmomentTheory, rmomentSample,rmomentFromMuSigma}
आउटपुट:
(*Log of {analytic, sample mean of r^2, using mu and sigma} *)
{140., 91.8953, 137.519}
ऊपर, दूसरा परिणाम r ^ 2 का नमूना माध्य है , जो दो अन्य परिणामों से नीचे है