您的位置:首页 > 编程语言 > MATLAB

根据一组数据拟合出最佳分布函数, arena, Matlab, R语言

2016-11-22 02:38 489 查看
不论是 matlab 还是 R 语言,根据一组数据拟合分布函数时,只能拟合出特定分布的参数值,并不能给出最适合这组数据的分布函数。例如,matlab 有 normfit 函数来计算一组数据拟合成正态分布时的均值和方差,wblfit 函数来给出拟合成威布尔分布的参数值,还有 gamfit, binofit 函数等。R 语言中也有 fitdistr函数。

它们都不能自动给出最佳拟合分布,个人觉得可以自己编写个许多分布函数的卡方检验程序,从中选出一个拟合误差的函数,但估计是一个繁琐的工作。

发现一个软件 Arena 具有这个功能,利用其中的 输入分析器 可以完成这个工作。

步骤:

1. 打开 Arena 的 Input Analyzer



2. 新建一个分析器



3. 导入数据,数据可以放在 txt 文件里,不要有除了数据外的其他符号和文字

例如一组数:由伽玛分布生成随机数 gmarnd

6.03 2.80
0.96 3.97 2.98

3.32 1.62
3.54 2.28
0.59

4.93 8.64
2.35 1.17
0.67

2.72 4.08
3.17 2.84
1.46

4.89 4.39
6.19 9.50
1.87

导入:



4. 拟合,选择 fit all 功能



5. 查看结果



Arena 给出了 lognormal 分布,可见 arena 软件给出的分布函数更加精细。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: