3

我想使用 MATLABchi2gof执行卡方拟合优度检验。我的问题是我假设的(即理论上的)分布不是 MATLAB 中的标准内置概率分布之一。我想要的分布的具体形式是:

p = x^a*exp(-b*x^2)

其中ab是常数。必须有一种方法可以chi2gof用于任意 PDF?我已经完成了详尽的谷歌搜索,但空手而归。

4

1 回答 1

1

您可以通过这种方式为接受单个参数的函数指定句柄chi2gof

a = ...
b = ...
c = ...
F = @(x)a*exp(-b*x-c*x.^2); % Technically this is an anonymous function
[H,P,STATS] = chi2gof(data,'cdf',F)

或者在特殊情况下:

a = ...
b = ...
c = ...
F = @(x,a,b,c)a*exp(-b*x-c*x.^2);
[H,P,STATS] = chi2gof(data,'cdf',{F,a,b,c})

最后一行相当于

[H,P,STATS] = chi2gof(data,'cdf',@(x)F(x,a,b,c))

如果参数abc是估计的(例如,使用一些拟合过程),那么您应该将估计参数的数量指定为chi2gof。在这种情况下:

[H,P, STATS] = chi2gof(data,'cdf',F,'nparams',3)

请阅读文档以了解其他选项。

于 2016-03-02T17:09:01.523 回答