【问题标题】:Fit data to normal distribution将数据拟合到正态分布
【发布时间】:2013-03-06 13:37:14
【问题描述】:

我想要一些数据来拟合对应的高斯分布。

数据本来应该是高斯分布,但由于某些过滤原因,它们不会完全匹配规定和预期的高斯分布。因此,我的目标是减少数据和所需分布之间的现有分散。

例如,我的数据拟合高斯分布如下(期望均值为0,标准差为0.8):

近似值已经不错了,但我真的很想处理模拟数据和预期分布之间仍然有形的分散。

我怎样才能做到这一点?

编辑

到目前为止,我已经引入了一种安全系数,定义为:

SF = expected_std/actual_std;

然后

new_data = SF*old_data;

这样标准差与预期值匹配,但根据我的理解,这个过程看起来很差。

【问题讨论】:

  • 数据如何被操纵?
  • 数据体现了一定的功率谱,我想保留它。只要功率谱保持不变,就可以“任意”操纵数据以适应预期的正态分布。
  • 您可以访问统计工具箱吗?
  • 修改标准差不会改变正态概率图中的任何内容。 “分散”来自这样一个事实,即您的分布有点太“胖”(在尾部,总是存在您永远无法获得无穷大值的问题)。
  • @Jonas:你说得对,我已经意识到我目前使用的流程所隐含的缺点;这就是为什么我说这是一个糟糕的方法。而且,在谈到我的分布形状时,你是对的。

标签: matlab gaussian normal-distribution


【解决方案1】:

如果您不想对分布进行任何非线性变换,您所能做的就是调整均值和标准差。

%# 1. adjust the mean (do this even if the offset is small)
data = data - mean(data);

%# 2. adjust the standard deviation
data = data/std(data) * expected_SD;

【讨论】:

  • 但无法在预期的高斯分布和我拥有的真实数据之间进行最小化过程?
  • @fpe:所以您愿意对数据应用非线性变换吗?
  • 我们可以试一试,然后我会检查这是否意味着我想要的结果有任何不必要的失真。感谢您的支持,顺便说一句:)
  • @fpe:抱歉,我现在在路上。
猜你喜欢
  • 2014-09-02
  • 2020-12-04
  • 2014-11-22
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 2011-05-16
  • 1970-01-01
相关资源
最近更新 更多