在 R 中用 'fitdistr'拟合 t 分布



我有一组数据,这些数据是在地震中授予索赔人的索赔百分比,即授予价值/索赔价值。我想对这些百分比值的分布进行建模,并使用R中的fitdistr函数来拟合具有1个自由度的t分布。

fitdistr返回的ms值为:

98.82907933(0.08574821) 

2.87906212(0.10310584). 

现在,我在这里的分布公式是什么?当我输入索赔补偿值时,允许我计算百分比值的函数?它是标准t分布的pdf吗?

严格来说,具有1个自由度的t分布(也称为柯西分布)没有需要拟合的参数。fitdistr在这里要做的是估计位置/尺度变换的参数t=(x-m)/s以便t最适合t1分布。这里x是数据。

由于具有1 df的t分布也称为Cauchy分布,因此您可以通过以下方式对索赔大于200000的概率进行建模:

params <- list(location=98.82907933,scale=2.87906212)
with(params,pcauchy(x=2e5,location,scale,lower.tail=FALSE)) ## 4.58e-6

只是为了再次检查,我们可以确认位置参数也是中位数:

with(params,pcauchy(x=location,location,scale,lower.tail=FALSE)) ## 0.5

您也可以按照上面的建议转换数据并使用pt:

with(params,pt((2e5-location)/scale,1,lower.tail=FALSE))  ## same as above

可以使用dt/dcauchy表示概率密度,使用qt/qcauchy表示分位数(qt的结果必须转换为z*scale+location)。

最新更新