我如何从正态分布中取出一小部分(如100作为原始数据)并改变偏斜度和峰度?

时间:2016-08-15 15:42:59

标签: matlab random distribution

x=randn(1,100000);
subplot(3,1,1) , plot(x)
subplot(3,1,2) , histogram(x);
moments={mean(x),std(x),skewness(x),kurtosis(x)};
display(moments)
y=3*x+1;
subplot(3,1,3) , histogram(y);
C=corrcoef(x,y)

到目前为止,我已经这样做了。

我使用标准正态分布生成随机数。然后,我想绘制小部分及其直方图。

另外,我想学习如何改变偏斜度和峰度。

1 个答案:

答案 0 :(得分:0)

你可以用sinh-arcsinh转换来做到这一点:

请参阅:http://biomet.oxfordjournals.org/content/96/4/761.abstract

基本上,如果f(x)是您的正态分布,那么将x替换为x1

x1 = sinh(delta*asinh(x)- epsilon)
y1 = f(x1)

你得到另一个具有不同偏度和峰度的分布。