将截断数据拟合到连续分布假设我有一个数据样本,我认为它是从柯西分布中抽样的。假设它关于 0 对称。
但是,假设我的观察结果被截断到范围 (0,2)。因此,我只能看到相对有限的数据视图。我生成了一些柯西 (0,2) 随机变量,并截断数据表以仅显示 0 到 2 之间的变量:

有没有办法将这些数据拟合到柯西 (0, gamma) 以获得 gamma 的最佳估计值?更一般地说,JMP 是否支持拟合截断数据?
高级统计建模回复:将截断数据拟合到连续分布不确定这是否是您的意思,但我认为您谈论的是删减数据。JMP 必须知道有多少数据点被截断才能做出更好的估计。通过添加列属性“检测限”,您可以告诉 JMP 该数据已被截断:

当你拟合分布时,它可以根据以下信息更好地估计值:

目前的问题是,如果你预先选择一个发行版,这似乎不起作用。你必须在平台内安装一个新的发行版。
回复:将截断数据拟合到连续分布感谢您的回复,但我的数据没有经过审查。在您的示例中,已知观察值的数量大于或等于某个值(在您的例子中为 1900)。但我的情况并非如此。
在我的例子中,我不知道有多少超过了 2。我只有介于 0 和 2 之间的观测值,不知道有多少观测值超出了该范围(因为我的数据收集机制无法捕获它们,甚至不知道它们)。所以我没有一堆经过审查的观测值。
如果你考虑我的数据生成机制,这应该更清楚。假设我有一个爆炸装置,它以均匀的角度向各个方向发射碎片。撞击位置数据是从 xy 平面上的一个平板收集的,其中 x 是横向的,y 是垂直的。我不知道有多少碎片超出了我的数据收集面板的限制。但认为 x 的分布是柯西分布并非不合理。我试图从我有限的观察范围中估计这个柯西分布的参数。有了这个估计,我可以描述碎片在某个较大表面上的分布。
回复:将截断数据拟合到连续分布你好@GregChesterton :这可能不太令人满意,但值得探索;假设分布是柯西分布,如你所述,你知道 pdf = f(x| 0, gamma) 的函数形式。那么,你可以使用非线性平台来估计 gamma 吗?
回复:将截断数据拟合到连续分布下次尝试,这会将从 1 到 200 的删失数据点添加并将与正态分布的偏差加到 ECDF。
最小值将以最小设置显示在最后。
模拟数据:Norm(0,10)
缺失:10 以上 163 个数据点
脚本估算:
平均值:0.015
标准差:9.166
失踪人数:133
现在您必须使其适合您的需要(您自己的分布)。
只需在 Cut_Normal.jmp 文件或 JSL 本身中运行表脚本“search n_mising”即可。
我将原始模拟添加为 Cut_Normal_original.jmp。
其背后的想法是:
我首先用额外的删失数据点拟合正态分布,并用 ECDF 总结所有差异:

然后我遍历所有其他被审查的数据点,再次拟合正态分布,直到到达最后一个:
这是附加点的绝对差异之和:

现在最低点可以让我估计出缺失了多少点:
这给了我一个“最佳”的分布拟合:

我希望这有帮助。
回复:将截断数据拟合到连续分布你好@Mauro_Gerber :你提出的方法非常有趣;你能否提供更多细节?
当我运行你的脚本时,我收到以下错误。第一个图的数据集已生成,但第二个数据集有 200 行,并且充满了缺失值。

回复:将截断数据拟合到连续分布你好@MRB3855
Cut_Normal 中的脚本应该可以工作,但是 JMP 可能存在一些语言或 pe-sets 问题。
我使用的是英文版 JMP 18.0.1 并且可能还有一些其他的偏好设置(比如我的图表总是堆叠在一起)。
我没有搜索具有固定值的显示框,因为审查限制在标题中。当你知道 JMP 将如何在标题中解析它时,也许你可以搜索标题:

因此,这两个数字在您的 JMP 中可能会有所不同:

当我教授内部统计课程时,我试图强调分布曲线(PDF)应该适合数据(又称直方图)的重要性。

您可以用分布的 ECDF 和 CDF 函数说同样的话,以及它们彼此之间的偏差有多大。

@GregChesterton只有部分曲线,所以我拟合不同数量的缺失值并比较估计值与现有数据的拟合程度。
这是与正常数据集的最佳拟合(最小总偏差):
--> 
在 JMP 中,您还可以查看拟合度下的 PP 图,以进行直接比较。

我迭代可能缺失的值并写下 ECDF 与概率函数拟合的 CDF 之间的总和差。
它的“蛮力”并不十分优雅,但却能给出不错的结果。
另一个可能的选择是使用 ECDF 尾部和以和差为目标的函数制作一个简单的数值优化器,然后将其最小化。
回复:将截断数据拟合到连续分布如果您要使用非线性平台通过最大似然法拟合数据,则需要以下内容。
首先,截断柯西(0,gamma)的密度函数。
请参阅此页面上的 PDF 公式https://en.wikipedia.org/wiki/Truncated_distribution

在您的情况下,b = 2,且 a = 0。
在分子上,对于您来说,它是 Cauch(0, gamma) 密度函数。在 JMP 脚本索引中找到它:

在分母上,F 函数是柯西 (0, gamma) 分布,就您的情况而言。在索引中找到它:

现在您需要拼凑信息来创建负对数似然损失函数公式列。
公式如下所示。(假设您的数据列称为“Y”。)

它是一个 JSL 函数“参数”。第一个参数是我们需要拟合的参数列表。在本例中,这里只有一个参数:gamma。值 1 是初始值。它应该尽可能接近最终估计值。因此,请运用您的最佳判断。或者您可以反复试验。如果最初不接近,请不要担心。非线性平台允许您在启动后尝试不同的值。
“Parameter”函数调用的第二个参数是负对数似然函数。看一下它,看看它是如何从截断柯西的密度函数中得出的。
将新列命名为“loss”。并配置非线性启动对话框。单击“确定”。

启动后,可以点击“Go”,或者修改“gamma”的值后点击“Go”,如果失败,可以修改“gamma”后再次点击“Go”。

以下是一些相关文档的链接:
https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/create-formulas-in-jmp.shtml#ww96570
https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/nonlinear-regression.shtml#
https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/create-formula-columns-for-multiple-columns.shtml
https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/create-a-formula-column.shtml