我想使用MATLAB的chi2gof
进行卡方拟合优度测试。我的问题是我的假设(即理论上)分布不是MATLAB中标准的内置概率分布之一。我想要的分布的具体形式是:
p = x^a*exp(-b*x^2)
其中
a
和b
是常量。必须有一种方法将chi2gof
用于任意PDF?我已经对Google进行了详尽的搜索,但是空手而归。 最佳答案
您可以通过以下方式指定一个handle to a function:
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))
如果估算了参数
chi2gof
,a
和b
(例如,使用某种拟合过程),则应为c
指定估算参数的数量。在这种情况下:[H,P, STATS] = chi2gof(data,'cdf',F,'nparams',3)
请阅读文档以了解其他选项。
关于matlab - 将MATLAB的chi2gof与非标准的用户指定的PDF结合使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35739818/