【问题标题】:Matlab - How to skew a normal distributionMatlab - 如何偏斜正态分布
【发布时间】:2016-09-30 19:29:07
【问题描述】:

问题:

我生成了 8 行 1000 个数字,全部为 -1 和 1,-1 的概率为 0.4,1 的概率为 0.6。我可以看到它的直方图看起来像偏向右的正态分布。

编辑:

我对这些数字进行了随机游走,基本上对它们进行了每行的 cumsum。所以到最后一行我就有了随机游走的最终位置。

x 轴表示最后一步所在的位置。我也在装箱。所以我们可以看到,与在 0 处终止的那些相比,我们在 8 处终止的次数更多(因为它们在 60% 的时间向右走,在 40% 的时间向左走)

我想做的事:

如何生成具有类似偏斜的正态分布图?

【问题讨论】:

  • 对不起,我似乎没明白:如果所有数字都是 -1 或 +1,直方图不应该在 -1 处有一个柱(高度为 0.4)和+1 的一个小节(高度为 0.6)?
  • 此外,这看起来并不像正态分布;正态分布是对称的。虽然它有点像累积正态分布
  • 啊,现在我明白了。对于p≠0.5,这将不是是一个正态分布——我猜它可能是一些二项分布。试着找出这个分布是如何在数学上定义的,然后我们可以很容易地帮助你如何在 Matlab 中绘制它。

标签: matlab


【解决方案1】:

您能否发布您的 Matlab 代码,我们可能对您的随机游走有更好的了解。我根据我的理解尝试了你的方法。我生成了以下代码。结果看起来像正态分布。由于您将 8 个独立随机变量相加,因此结果应该是正态分布,只是平均值不为零。

clc;
  clear;
   r = rand(1000,8);
   for i = 1:8
     for j = 1:1000
        if r(j,i)<=0.4
           r(j,i) = -1;
        else 
            r(j,i) = 1;
        end
    end
end
r2 = cumsum(r');
histogram(r2(end,:));

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 2014-01-17
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多