【问题标题】:Check weather predicted values follow the gaussian distribution or not using matlab?检查天气预报值是否遵循高斯分布或不使用matlab?
【发布时间】:2017-11-21 17:57:47
【问题描述】:

我使用高斯过程进行预测。现在让我们假设我已经预测了大小为 1900 X 1 的 x 中的值存储。现在我想检查它的分布是否遵循高斯分布。我需要这个来比较其他方法预测值(如 NN、KNN)的分布函数,以判断哪一个遵循平滑高斯或正态分布函数

我该怎么做?如果我能以数字数据的形式得到一些结果,那就更好了。代码编写如下,
m = mean(ypred); % mean of r s = std(ypred); % stdev of r pd = makedist('Normal','mu',m,'sigma',s); % make probability distribution with mu = m and sigma = s [h,p] = kstest(ypred,'CDF',pd); % calculate probability that it is a normal distribution ypred 值是从 matlab 的fitrgp 获得的输出。附上ypred 值的示例here

[figure]2 是测量值和预测值的残差qq_plot

【问题讨论】:

  • 我不明白,如果您的预测基于高斯过程:那么根据定义,这些数据是正态分布的?没有?
  • 是的,但是我正在与其他方法进行比较,例如 NN、KNN 和想知道其中哪一种遵循平滑高斯或正态分布函数
  • 我做了,但我正在寻找数值结果。 QQ图都是关于图形结果的。
  • 确实如此。然后kstest就是你要找的东西——但是需要一些知识才能把它做好。但坦率地说,在这种情况下,图形分析与数字分析一样有效。
  • 但是你不能说:“是的,那些数据是正态分布的”或“不,那些数据不是正态分布的”。泊松分布可以类似于正态分布。但是您可以使用“Kolmogorov-Smirnov 检验”来检验服从正态分布的概率。

标签: matlab gaussian normal-distribution


【解决方案1】:

你可以发One-sample Kolmogorov-Smirnov test:

x = 1 + 2.*randn(1000,1); % just some random normal distributed data, replace it with your actual 1900x1 vector.

m = mean(x); % mean of r
s = std(x); % stdev of r
pd = makedist('Normal','mu',m,'sigma',s); % make probability distribution with mu = m and sigma = s
[h,p] = kstest(x,'CDF',pd); % calculate probability that it is a normal distribution

其中p 是它遵循正态分布的概率,h = 1 如果零假设被拒绝,显着性为 0.05。由于零假设是“它服从正态分布”,h = 0表示它是正态分布的。

因为x 在此示例中是从正态分布中抽样的,很可能是h = 0p > 0.05。如果您使用

运行上述代码
x = 1 + 2.*rand(1000,1); % sampled from uniform distribution

h 很可能是 1 和 p<0.05。当然,您可以将整个内容写成一行,以避免创建mspd

【讨论】:

  • 你使用过的r值。这个 r 值是来自我的预测值还是测量的输入值?如果不是,那么我如何将输出结果放入代码中。从您用于输入值的代码看来。如何将获得的预测值添加到此代码中?
  • 我可以看到,但我的问题是 u 使用的变量是我得到的输入或预测输出结果,在这种情况下是 x ?
  • 使用您的代码后,我从两种方法收到这些值,p = 6.5987e^-09 和 p = 2.2983e^-11。这说明什么?获得 p = 6.5987e^-09 方法是否比 p = 2.2983e^-11 方法更平滑?
  • 正态分布与“平滑”无关。只是有些统计方法需要数据服从正态分布才能正常工作。此输出表明两个数据集都不太可能呈正态分布。你能用你实际做了什么来编辑你的问题吗?只是为了确保您以正确的方式实施它
  • qq图是残差图。我附上了我写的代码,请看一下。我确信 q 图是完全正确的,但不知何故 kktest 编码是错误的。
猜你喜欢
  • 2010-12-25
  • 2023-02-10
  • 2019-04-15
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
  • 1970-01-01
  • 2013-06-22
  • 2016-06-10
相关资源
最近更新 更多