10

まず、統計に関する知識がかなり限られていることを明記する必要があります。私の質問が些細なことだと思われる場合や、おそらく意味がない場合は、ご容赦ください。

正規分布していないように見えるデータがあります。通常、信頼区間をプロットするときは、平均±2標準偏差を使用しますが、それは不均一な分布には受け入れられないと思います。私のサンプルサイズは現在1000サンプルに設定されています。これは、正規分布であるかどうかを判断するのに十分なようです。

私はすべての処理にMatlabを使用していますが、信頼区間(たとえば、95%)を簡単に計算できるMatlabの関数はありますか?

'quantile'関数と'prctile'関数があることは知っていますが、それを使用する必要があるかどうかはわかりません。関数'mle'は、正規分布データの信頼区間も返しますが、独自のpdfを提供することもできます。

ksdensityを使用してデータのpdfを作成し、そのpdfをmle関数にフィードして、信頼区間を取得できますか?

また、データが正規分布しているかどうかをどのように判断しますか。現在、ksdensityからヒストグラムやpdfを見るだけでわかりますが、定量的に測定する方法はありますか?

ありがとう!

4

5 に答える 5

10

そこでいくつか質問があります。ここにいくつかの提案があります

1000 個のサンプルの平均が正規分布する必要があることは正しいです (データが「重い尾」である場合を除きますが、そうではないと想定しています)。1-alpha平均(あなたの場合)の信頼区間を取得するにalpha = 0.05は、「norminv」関数を使用できます。たとえば、データのサンプルの平均に対して 95% CI が必要だとすると、次のように入力Xできます。

N = 1000;             % sample size
X = exprnd(3,N,1);    % sample from a non-normal distribution
mu = mean(X);         % sample mean (normally distributed)
sig = std(X)/sqrt(N); % sample standard deviation of the mean
alphao2 = .05/2;      % alpha over 2   
CI = [mu + norminv(alphao2)*sig ,...
      mu - norminv(alphao2)*sig  ]

CI =

2.9369    3.3126

データ サンプルが正規分布しているかどうかのテストは、さまざまな方法で実行できます。簡単な方法の 1 つは、QQ プロットを使用することです。これを行うには、「qqplot(X)」を使用します。どこXにデータ サンプルがありますか。結果がほぼ直線の場合、サンプルは正常です。結果が直線でない場合、サンプルは正常ではありません。

たとえばX = exprnd(3,1000,1)、上記のように、サンプルが非正規であり、qqplot が非常に非線形である場合:

X = exprnd(3,1000,1);
qqplot(X);

代替テキスト

一方、データが正規の場合、qqplot は直線を示します。

qqplot(randn(1000,1))

代替テキスト

于 2010-12-20T21:16:42.270 に答える
2

また、bootci関数でブートストラップを使用することを検討することもできます。

于 2011-07-21T05:31:11.170 に答える
2

[1] で提案されている方法を使用できます。

MEDIAN +/- 1.7(1.25R / 1.35SQN)

ここで、R = 四分位範囲、SQN = N の平方根

これは、非正規データの便利なデータ視覚化であるノッチ付きボックス プロットでよく使用されます。2 つの中央値のノッチが重ならない場合、中央値はおよそ 95% の信頼度で有意に異なります。

[1] McGill、R.、JW Tukey、および WA Larsen。「箱ひげ図のバリエーション」。アメリカの統計学者。巻。32、No. 1、1978 年、12 ~ 16 ページ。

于 2011-09-07T14:30:44.593 に答える
1

信頼区間が必要ですか、それともランダム データの 90% の範囲だけが必要ですか?

後者が必要な場合は、prctile() を使用することをお勧めします。たとえば、確率変数の独立した同一分布のサンプルを保持するベクトルがある場合、次を実行することでいくつかの有用な情報を取得できます。

y = prcntile(x, [5 50 95])

これにより、サンプルの 90% が発生する範囲が [y(1), y(3)] に返されます。y(2) では、サンプルの中央値を取得します。

次の例を試してください (正規分布変数を使用)。

t = 0:99;
tt = repmat(t, 1000, 1);
x = randn(1000, 100) .* tt + tt;  % simple gaussian model with varying mean and variance
y = prctile(x, [5 50 95]);

plot(t,  y);
legend('5%','50%','95%')
于 2010-12-21T05:50:08.713 に答える
-2

私はMatlabを使用していませんが、統計に関する私の理解から、分布が正規分布であると想定できない場合は、それをスチューデントt分布として取得し、信頼区間と精度を計算する必要があります.

http://www.stat.yale.edu/Courses/1997-98/101/confint.htm

于 2013-04-08T07:31:06.503 に答える