我有一个数据集,我知道肯定有某种偏斜(和潜在的过度峰度)。我想把这个数据集拟合成某种分布,我认为最简单的是有一个倾斜的学生的t分布或倾斜的正态分布。在Matlab中,我可以将数据拟合到什么样的分布?
谢谢!
L.
最佳答案
在Matlab中可能没有pearspdf
函数,因为Pearson distribution的七种分布类型主要对应于或基于其他分布的现有函数:
类型0:Normal distribution,normpdf
类型I:Beta distribution,betapdf
类型二:Student's t-distribution,tpdf
类型三:Gamma distribution,gampdf
类型四:Not related to any standard distribution
V型:Inverse gamma distribution,通过gampdf
计算
第六类:F-distribution,fpdf
第七类:Student's t-distribution/t location scale distribution,tpdf
/prob.tLocationScaleDistribution
上面的总结简化了很多过程,有一个函数可以根据系统计算pdf,就像pearsrnd
用于随机变量生成一样有用。幸运的是,已经有人这样做了,并将其发布到mathworks文件交换:pearspdf
。
您还可以使用pearsrnd
函数的第二个参数,它返回pearson系统中分布的类型(参见this page中的示例)。例如,如果它建议您的数据是类型III,则可以尝试使用gamfit
直接拟合它来估计参数值。gamfit
和其他类似的名称函数基于robustmaximum-likelihood estimation(mle)。