matlab - matlab中的均匀分布拟合

标签 matlab distribution model-fitting

我有一个数据集,想使它们服从均匀分布并使用 Matlab 计算拟合优度。但是,我发现 uniform 不包含在函数“fitdist”中。有没有在Matlab中进行均匀分布拟合的方法?

最佳答案

当您说您想要使数据集适应制服时,我假设您的意思是您想要估计最适合您的数据集的均匀分布的参数。

这其实是一个很有趣的问题。 fitdist 没有帮助我并不感到惊讶,因为统一分布有点特殊。例如,可以证明在某些情况下,均匀分布参数的最大似然估计不存在,而在其他情况下,没有唯一解。

那么,怎么办?好吧,均匀分布有两个参数,ab,它们定义了密度的下限和上限。让 X 表示您的数据集(例如,观察值的列向量)。 ab 的朴素估计是:

a = min(X);
b = max(X);

当然,这些估计几乎肯定会高估(对于a)和低估(对于b)真实参数,因为随机的不太可能从密度中抽取的样本将恰好落在边界上。

对于已知a为0的情况,b的最小方差无偏估计量为:

b = max(X) + (max(X) / length(X))

这个估算器与著名的German Tank Problem有关.对于一般情况,我实际上并不知道任何估计理论(尽管我确定一定有一些)。我的第一个猜测是使用朴素的最小/最大估计器,但减去并加上数据集中观察值之间的平均距离,即:

a = min(X) - c;
b = max(X) + c;

在哪里

c = (max(X) - min(X)) / length(X)

至于拟合优度,希望 SO 上的其他人知道一些事情,因为我需要自己做一些研究才能回答这个问题。祝你好运!

关于matlab - matlab中的均匀分布拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996380/

相关文章:

matlab - 为什么通过以两种类似的方式向 fmincon 提供约束来获得不同的解决方案?

c++ - matlab coder error "for loop index expressions.."如何修改代码?

algorithm - 如何平滑随机分布?

python - 在 python 中为一对分布生成 MLE

r - 比较逻辑模型时的方差分析函数没有偏差的 p 值

arrays - 根据一列创建子矩阵组

python - 调用一个 python 函数,该函数接受 MATLAB 函数句柄作为来自 matlab 的参数

用于商业发行的 Java 许可

python - scipy中负二项式的替代参数化

machine-learning - LogesticRegression fit() 函数抛出此错误