gpt4 book ai didi

matlab - 计算非正态分布的置信区间

转载 作者:太空宇宙 更新时间:2023-11-03 19:16:42 25 4
gpt4 key购买 nike

首先,我应该说明我的统计知识相当有限,所以如果我的问题看起来微不足道或者甚至没有意义,请原谅我。

我的数据似乎不是正态分布的。通常,当我绘制置信区间时,我会使用平均值 +- 2 个标准差,但我认为这对于非均匀分布来说是 Not Acceptable 。我的样本量当前设置为 1000 个样本,这似乎足以确定它是否为正态分布。

我使用 Matlab 进行所有处理,那么 Matlab 中是否有任何函数可以轻松计算置信区间(比如 95%)?

我知道有 'quantile' 和 'prctile' 函数,但我不确定这是否是我需要使用的。函数“mle”还返回正态分布数据的置信区间,但您也可以提供自己的 pdf。

我可以使用 ksdensity 为我的数据创建一个 pdf,然后将该 pdf 提供给 mle 函数以获得置信区间吗?

此外,我将如何确定我的数据是否呈正态分布。我的意思是我目前可以通过查看 ksdensity 的直方图或 pdf 来判断,但是有没有办法对其进行定量测量?

谢谢!

最佳答案

所以这里有几个问题。这里有一些建议

您是对的,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

可以通过多种方式测试数据样本是否呈正态分布。一种简单的方法是使用 QQ 图。为此,请使用“qqplot(X)”,其中 X 是您的数据样本。如果结果近似于一条直线,则样本是正常的。如果结果不是直线,则样本不正常。

例如,如果 X = exprnd(3,1000,1) 如上所述,样本是非正态的,qqplot 是非常非线性的:

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

alt text

另一方面,如果数据正常,qqplot 将给出一条直线:

qqplot(randn(1000,1))

alt text

关于matlab - 计算非正态分布的置信区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4493543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com