Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 计算非正态分布的置信区间

首先,我应该指出我对统计的知识是相当有限的,因此,如果我的问题看似微不足道或什至没有道理,请原谅我。

我的数据似乎没有正常分布。通常,当我绘制置信区间时,我将使用平均值±2个标准差,但是对于不均匀的分布,我认为这是不可接受的。我的样本大小当前设置为1000个样本,这似乎足以确定其是否为正态分布。

我将Matlab用于所有处理,因此Matlab中是否有任何函数可以轻松计算置信区间(例如95%)?

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

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

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

谢谢!



回答:

您确定需要置信区间还是只是随机数据的90%范围?

如果需要后者,建议您使用prctile()。例如,如果您有一个向量,其中包含独立均匀分布的随机变量样本,则可以通过运行以下命令获取一些有用的信息

y = prcntile(x, [5 50 95]) 这将在[y(1),y(3)]中返回出现90%样本的范围。并在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%')

更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 04:59


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.