使数据适合于分布?

使数据适合于分布?,第1张

使数据适合于分布

这是一个复杂的问题,没有完美的答案。我将尝试为您提供主要概念的概述,并为您提供有关该主题的一些有用的阅读指南。

假设您有一维数据集,并且您认为可能是从中生成数据的概率分布函数集有限。您可以独立考虑每个分布,并尝试查找给定数据的合理参数。有两种为给定数据的概率分布函数设置参数的方法:

  1. 最小二乘
  2. 最大似然

以我的经验,虽然并非在每个领域都如此,但近年来,人们更倾向于“最大可能性”。

这是一个如何估计R中参数的具体示例。请考虑一组从高斯分布生成的随机点,其均值为0,标准差为1:

x = rnorm( n = 100, mean = 0, sd = 1 )

假设您知道数据是使用高斯过程生成的,但是您忘记了(或从不知道!)高斯参数。您想使用这些数据为您提供均值和标准差的合理估计。在R中,有一个标准库可以使这一过程变得非常简单:

library(MASS)params = fitdistr( x, "normal" )print( params )

这给了我以下输出:

      meansd       -0.17922360    1.01636446  ( 0.10163645) ( 0.07186782)

它们非常接近正确的答案,括号中的数字是参数周围的置信区间。请记住,每次生成一组新的点时,您都​​会得到一个新的估计答案。

在数学上,这是使用最大似然来估计高斯的均值和标准差。可能性是指(在这种情况下)“给定参数值的数据的概率”。最大似然是指“最大化生成我的输入数据的可能性的参数值”。最大似然估计是一种算法,用于找到使输入数据生成概率最大化的参数值,对于某些分布,它可能涉及数值优化算法。在R中,大部分工作是由fitdistr完成的,在某些情况下会称为optim。

您可以像这样从参数中提取对数可能性:

print( params$loglik )[1] -139.5772

使用对数可能性比避免舍入错误更常见。估计数据的联合概率涉及相乘的概率,这些概率均小于1。即使对于一小组数据,联合概率也非常快地接近0,将数据的对数概率相加就等于将概率相乘。对数似然接近0时,可能性最大,因此负数越多,数据拟合效果越差。

使用这样的计算工具,可以轻松估算任何分布的参数。考虑以下示例:

x = x[ x >= 0 ]distributions = c("normal","exponential")for ( dist in distributions ) {    print( paste( "fitting parameters for ", dist ) )    params = fitdistr( x, dist )    print( params )    print( summary( params ) )    print( params$loglik )}

指数分布不会生成负数,因此我在第一行中将其删除。输出(是随机的)如下所示:

[1] "fitting parameters for  normal"      mean          sd      0.72021836   0.54079027  (0.07647929) (0.05407903)         Length Class  Mode   estimate 2      -none- numericsd       2      -none- numericn        1      -none- numericloglik   1      -none- numeric[1] -40.21074[1] "fitting parameters for  exponential"     rate    1.388468  (0.196359)         Length Class  Mode   estimate 1      -none- numericsd       1      -none- numericn        1      -none- numericloglik   1      -none- numeric[1] -33.58996

实际上,指数分布比正态分布更有可能生成此数据,这可能是因为指数分布不必将任何概率密度分配给负数。

当您尝试使数据适合更多分布时,所有这些估计问题都会变得更加严重。具有更多参数的分布更加灵活,因此与具有较少参数的分布相比,它们将更适合您的数据。同样,某些分布是其他分布的特例(例如,指数是Gamma的特例)。因此,使用先验知识将您的选择模型限制为所有可能模型的子集非常普遍。

解决参数估计中一些问题的一种技巧是生成大量数据,而将某些数据留给交叉验证。要交叉验证参数对数据的拟合度,请将一些数据排除在估计过程之外,然后在遗漏的数据上测量每个模型的可能性。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存