【发布时间】:2010-12-25 08:57:02
【问题描述】:
我有一些数据点及其平均点。我需要找出这些数据点(具有该平均值)是否遵循高斯分布。 MATLAB中是否有可以进行这种测试的函数?还是我需要自己写一个测试?
我尝试查看 MATLAB 提供的不同统计函数。我对 MATLAB 很陌生,所以我可能忽略了正确的功能。
干杯
【问题讨论】:
标签: matlab statistics distribution gaussian
我有一些数据点及其平均点。我需要找出这些数据点(具有该平均值)是否遵循高斯分布。 MATLAB中是否有可以进行这种测试的函数?还是我需要自己写一个测试?
我尝试查看 MATLAB 提供的不同统计函数。我对 MATLAB 很陌生,所以我可能忽略了正确的功能。
干杯
【问题讨论】:
标签: matlab statistics distribution gaussian
我喜欢 Spiegelhalter 的测试(D. J. Spiegelhalter,“分布形状的诊断测试”,Biometrika,1983 年):
function pval = spiegel_test(x)
% compute pvalue under null of x normally distributed;
% x should be a vector;
xm = mean(x);
xs = std(x);
xz = (x - xm) ./ xs;
xz2 = xz.^2;
N = sum(xz2 .* log(xz2));
n = numel(x);
ts = (N - 0.73 * n) / (0.8969 * sqrt(n)); %under the null, ts ~ N(0,1)
pval = 1 - abs(erf(ts / sqrt(2))); %2-sided test.
每当破解统计测试时,总是在 null 下测试它们!这是一个简单的例子:
pvals = nan(10000,1);
for j=1:numel(pvals);
pvals(j) = spiegel_test(randn(300,1));
end
nnz(pvals < 0.05) ./ numel(pvals)
我得到了结果:
ans =
0.0505
同样
nnz(pvals > 0.95) ./ numel(pvals)
我明白了
ans =
0.0475
【讨论】:
【讨论】:
octave 导入一些文件。统计测试的另一个问题是没有迹象表明它们中的每一个的相对力量(真的,这取决于备择假设)。