1 回答

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
生成樣本:
您可以通過(guò)多種方式從分布中生成樣本。如果您已經(jīng)知道要使用特定的發(fā)行版,例如Weibull 發(fā)行版,那么兩個(gè)簡(jiǎn)單的選擇是:
使用
makedist()
andrandom()
, [1]或使用
wblrnd()
.
兩者都需要使用統(tǒng)計(jì)工具箱。無(wú)工具箱的方法也是可能的。建議避免命名變量var
,因?yàn)樗谏w了var()
函數(shù)。
% MATLAB R2019a
a = [209.2863 0.5054]; % a = mle(var, 'distribution', 'wbl'); % from OP code
NumSamples = 500;
pd = makedist('Weibull',a(1),a(2))
% Method 1
X = random(pd,NumSamples,1);
% Method 2
X2 = wblrnd(a(1),a(2),NumSamples,1);
繪制原始數(shù)據(jù):
如果假設(shè)數(shù)據(jù)來(lái)自連續(xù)分布,例如 Weibull 分布,則應(yīng)使用概率密度函數(shù) (PDF)直觀地顯示相對(duì)機(jī)會(huì),而不是離散概率質(zhì)量函數(shù) (PMF)。PMF 僅適用于離散變量。請(qǐng)注意,累積分布函數(shù) (CDF)適用于連續(xù)和離散隨機(jī)變量。
這可以通過(guò)屬性'Normalization','pdf'
中的名稱-值對(duì)來(lái)完成。histogram()
為了獲得更好的結(jié)果,通常建議調(diào)整直方圖 bin 的數(shù)量(在屬性中),但只有 13 個(gè)數(shù)據(jù)點(diǎn),這價(jià)值有限。
h = histogram(var,'Normalization','pdf') h.NumBins = 13;
您還可以將擬合分布與經(jīng)驗(yàn)數(shù)據(jù)疊加。
figure, hold on
h = histogram(var,'Normalization','pdf','DisplayName','Data');
xLimits = xlim;
Xrng = 0:.01:xLimits(2);
plot(Xrng,pdf(pd,Xrng),'r--','DisplayName','Fit')
xlabel('Var')
ylabel('Probability Density Function (PDF)')
legend('show')
% Adjust these manually
ylim([0 0.02])
h.NumBins = 13;
替代方案:[2]
您可以使用fitdist()which 可以適合核密度,并且仍然允許使用概率分布對(duì)象的所有函數(shù),包括random()和pdf()。
請(qǐng)注意,自從 Weibull支持[0, inf].
pd2 = fitdist(X,'Kernel')
pd2t = truncate(pd2,0,inf)
然后繪圖仍然相對(duì)容易,并且與前面的示例類似。
figure, hold on
h = histogram(var,'Normalization','pdf','DisplayName','Data');
xLimits = xlim;
Xrng = 0:.01:xLimits(2);
plot(Xrng,pdf(pd2t,Xrng),'r--','DisplayName','Fit')
xlabel('Var')
ylabel('Probability Density Function (PDF)')
legend('show')
h.NumBins = 13;
剩下的選擇是利用ksdensity()來(lái)獲取情節(jié)。
添加回答
舉報(bào)