आप एमएमए वी 8 है, तो आप नए DistributionFitTest
disFitObj = DistributionFitTest[daList, NormalDistribution[a, b],"HypothesisTestData"];
Show[
SmoothHistogram[daList],
Plot[PDF[disFitObj["FittedDistribution"], x], {x, 0, 120},
PlotStyle -> Red
],
PlotRange -> All
]

disFitObj["FittedDistributionParameters"]
(* ==> {a -> 55.8115, b -> 20.3259} *)
disFitObj["FittedDistribution"]
(* ==> NormalDistribution[55.8115, 20.3259] *)
का उपयोग यह अन्य वितरण भी फिट कर सकते हैं कर सकते हैं।
एक अन्य उपयोगी वी 8 समारोह HistogramList
जो आप Histogram
की binning डेटा के साथ प्रदान करता है,। इसमें Histogram
के विकल्प भी शामिल हैं।
{bins, counts} = HistogramList[daList]
(* ==> {{0, 20, 40, 60, 80, 100}, {2, 10, 20, 17, 7}} *)
centers = MovingAverage[bins, 2]
(* ==> {10, 30, 50, 70, 90} *)
model = s E^(-((x - \[Mu])^2/\[Sigma]^2));
pars = FindFit[{centers, counts}\[Transpose],
model, {{\[Mu], 50}, {s, 20}, {\[Sigma], 10}}, x]
(* ==> {\[Mu] -> 56.7075, s -> 20.7153, \[Sigma] -> 31.3521} *)
Show[Histogram[daList],Plot[model /. pars // Evaluate, {x, 0, 120}]]

तुम भी फिटिंग के लिए NonlinearModeFit
की कोशिश कर सकते। दोनों मामलों में अपने शुरुआती पैरामीटर मानों के साथ आना अच्छा होता है ताकि आप वैश्विक स्तर पर इष्टतम फिट के साथ सबसे बढ़िया अवसर प्राप्त कर सकें।
V7 में कोई HistogramList
वहाँ है, लेकिन आप this का उपयोग कर एक ही सूची मिल सकता है:
हिस्टोग्राम [डेटा, bspec, एफएच] में समारोह एफ एच दो तर्कों को लागू किया जाता है: एक सूची डिब्बे {{सदस्यता [बी, 1], सदस्यता [बी, 2]}, {सदस्यता [बी, 2], सदस्यता [बी, 3]}, [एलिप्सिस]}, और संबंधित गणना की सूची {सदस्यता [ सी, 1], सदस्यता [सी, 2], [एलिप्सिस]}। फ़ंक्शन को प्रत्येक सदस्यता [सी, i] के लिए उपयोग की जाने वाली ऊंचाइयों की एक सूची वापस करनी चाहिए।
यह इस प्रकार है (from my earlier answer) का इस्तेमाल किया जा सकता है:
Reap[Histogram[daList, Automatic, (Sow[{#1, #2}]; #2) &]][[2]]
(* ==> {{{{{0, 20}, {20, 40}, {40, 60}, {60, 80}, {80, 100}}, {2,
10, 20, 17, 7}}}} *)
बेशक, आप अभी भी BinCounts
उपयोग कर सकते हैं, लेकिन आप एमएमए के स्वत: binning एल्गोरिदम याद आती है।
counts = BinCounts[daList, {0, Ceiling[Max[daList], 10], 10}]
(* ==> {1, 1, 6, 4, 11, 9, 9, 8, 5, 2} *)
centers = Table[c + 5, {c, 0, Ceiling[Max[daList] - 10, 10], 10}]
(* ==> {5, 15, 25, 35, 45, 55, 65, 75, 85, 95} *)
pars = FindFit[{centers, counts}\[Transpose],
model, {{\[Mu], 50}, {s, 20}, {\[Sigma], 10}}, x]
(* ==> \[Mu] -> 56.6575, s -> 10.0184, \[Sigma] -> 32.8779} *)
Show[
Histogram[daList, {0, Ceiling[Max[daList], 10], 10}],
Plot[model /. pars // Evaluate, {x, 0, 120}]
]

आप देख सकते हैं फिट मापदंडों अपने binning पसंद पर काफ़ी निर्भर हो सकता है: आप अपने खुद की एक binning प्रदान करने के लिए है।विशेष रूप से पैरामीटर जिसे मैंने s
कहा है, डिब्बे की मात्रा पर गंभीर रूप से निर्भर करता है। अधिक डिब्बे, कम से कम व्यक्तिगत बिन गिना जाता है और s
का मान कम होगा।
आपको बहुत धन्यवाद, यह बहुत उपयोगी है। – 500