17

いくつかのデータ ポイントとその平均点があります。これらのデータ ポイント (平均) がガウス分布に従うかどうかを確認する必要があります。その種のテストを実行できる MATLAB の関数はありますか? それとも自分でテストを書く必要がありますか?

MATLAB が提供するさまざまな統計関数を調べてみました。私は MATLAB を初めて使用するので、適切な関数を見落としている可能性があります。

乾杯

4

3 に答える 3

15

利用可能なすべての仮説検定については、このドキュメント ページを確認してください。

それらから、あなたの目的のためにあなたは使うことができます:

...とりわけ

次のようなビジュアル テストを使用することもできます。

于 2009-12-10T20:57:27.100 に答える
6

私は Spiegelhalter のテストが好きです (DJ Spiegelhalter, 'Diagnostic tests of distributional shape,' 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
于 2009-12-10T20:55:13.487 に答える
5

一般的な検定については、同じく Stats Toolbox で Kolmogorov-Smirnov 検定をkstestおよび 2 標本バージョン kstest2 として参照してください。経験的データ(およびガウスなどの可能な関数からのデータ)をフィードしてから、サンプルが正規分布(または2サンプルに指定したもの)から引き出された可能性をテストしますversion)... 良い点は、考えられるあらゆるディストリビューションで機能することです...

于 2009-12-10T19:49:13.860 に答える