理解赤池信息量(AIC),贝叶斯信息量(BIC)

一、基本概念

模型选择主要有两个思路:
1.解释性框架
在已有数据下,重点关注哪些变量是模型的重要变量,模型的形式应该怎样。好的模型应该是最能解释现有数据的模型。
2.预测性框架
重点关注哪些变量是模型的潜在变量以及模型的可能形式。好的模型应该是最能预测结果的模型。

AIC: Akaike information criterion,赤池信息量。
BIC:Bayesian information criterion,贝叶斯信息度量,也叫 SIC, SBC, SC,SBIC。

在选择模型来预测推理时时默认了一个假设,即给定数据下存在一个最佳的模型,且该模型可以通过已有数据估计出来,根据某个选择标准选择出来的模型,用它所做的推理应该是最合理的。这个选择标准就可以是AIC和BIC。没有模型的选择的绝对标准,好的选择标准应该根据数据分布不同而不同,并且要能融入到统计推理的框架中去。

AIC:基于Kullback-Leibler (K-L)信息损失的,provides an asymptotically unbiased estimator of the expected Kullback discrepancy between the generating model and the fitted approximating model [ 1 ] ^{[1]} [1]
BIC:基于贝叶斯因子。

定义式为:
A I C = 2 l n ( f ( y ∣ θ k ) ) − 2 K AIC =2 ln(f (y| θ _k)) - 2K AIC=2ln(f(yθk))2K。选择模型时选择AIC最大的模型。
B I C = 2 l n ( f ( y ∣ θ k ) ) − K l o g ( n ) 。 BIC = 2 ln(f (y| θ _k)) - K log(n)。 BIC=2ln(f(yθk))Klog(n)选择模型时选择BIC最大的模型。

在模型拟合时,增加参数可使得似然概率增大,但是却引入了额外的变量。AIC和BIC都在目标式中添加了模型参数个数的惩罚项。

二、BIC公式推导

在选择模型时,贝叶斯方法的做法是在给定数据 { y j } j = 1 n \{y_j\}^n_{j=1} {yj}j=1n下最大化模型 ( M i ) (Mi) (Mi)的后验概率。
根据贝叶斯定理,有:
P ( M i ∣ y 1 , . . . , y n ) = P ( y 1 , . . . , y n ∣ M i ) P ( M i ) P ( y 1 , . . . , y n ) , ( 1 ) P (M_i|y_1, . . . , y_n) = \frac{P (y_1, . . . , y_n|M_i)P (M_i) }{P (y_1, . . ., y_n)}, (1) P(Miy1,...,yn)=P(y1,...,yn)P(y1,...,ynMi)P(Mi),(1)

其中 P ( y 1 , . . . , y n ∣ M i ) P (y_1, . . . , y_n|M_i) P(y1,...,ynMi)是模型的边缘概率,在给定数据 { y j } j = 1 n \{y_j\}^n_{j=1} {yj}j=1n时, P ( y 1 , . . . , y n ) P (y_1, . . ., y_n) P(y1,...,yn)是相同的,且假设在不知道任何数据的情况下各个模型是同样合理的,即 P ( M i ) P (M_i) P(Mi)是定值,于是,最大化后验概率等价于最大化模型的边缘概率。而:
P ( y 1 , . . . , y n ∣ M i ) = ∫ Θ i L ( θ i ∣ y 1 , . . . , y n ) g i ( θ i ) d θ i , ( 2 ) P (y_1, . . . , y_n|M_i) = \int_{Θ_i} L(θ_i|y_1, . . . , y_n)g_i(θ_i)d_{θ_i}, (2) P(y1,...,ynMi)=ΘiL(θiy1,...,yn)gi(θi)dθi,(2)
其中, Θ i Θ_i Θi是模型 M i M_i Mi的参数向量, L L L是似然函数, g i ( θ i ) g_i(θ_i) gi(θi)是参数 θ i θ_i θi的概率分布。

在选择模型时,选择后验概率最大的模型,比如有两个模型 M 0 和 M 1 M_0和M_1 M0M1其后验概率分别为 P ( y ∣ M 0 ) 和 P ( y ∣ M 1 ) P(y|M_0)和P(y|M_1) P(yM0)P(yM1),通过比较这两个值的大小或者比较 B 01 ( y ) = P ( y ∣ M 0 ) P ( y ∣ M 1 ) B_{01}(y)=\frac{P(y|M_0)}{P(y|M_1)} B01(y)=P(yM1)P(yM0)与1的大小,从而确地选择模型0还是1,当它比1大时选择模型 M 0 M_0 M0,比1小时选择模型 M 1 M_1 M1 B 01 ( y ) B_{01}(y) B01(y)被称为贝叶斯因子。可以看到,使用贝叶斯因子方法来选择模型,不需要考虑参数的先验概率(其实是假设了先验相等),这在很多参数先验无法求出时很有用,贝叶斯因子可以比较任意两个模型的好坏。Kass等人1995年证明了在某种情况下,基于BIC的模型选择方法近似等价于基于贝叶斯因子的模型选择方法。贝叶斯因子方法不预测结果,隶属于解释性框架。

更详细的推到见参考文献[1]

三、AIC,BIC比较

AIC和BIC的公式中前半部分是一样的,后半部分是惩罚项,当 n ≥ 8 n≥8 n8时, k l n ( n ) ≥ 2 k kln(n)≥2k kln(n)2k,所以,BIC相比AIC在大数据量时对模型参数惩罚得更多,导致BIC更倾向于选择参数少的简单模型。

[1] Model Selection Lecture V: The Bayesian Information Criterion http://myweb.uiowa.edu/cavaaugh/ms_lec_5_ho.pdf

  • 16
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
### 回答1: MATLAB是一种广泛使用的高级技术计算软件,被广泛应用于数据分析、信号处理和系统建模等领域。Copula是一种用于分析随机变量相互依赖关系的统计工具。而AIC(Akaike Information Criterion)和BIC(Bayesian Information Criterion)是两种常用的模型选择准则。 在MATLAB中,可以使用Copula函数来进行Copula模型的估计和分析。Copula函数可以帮助我们模拟随机变量之间的相关性,其中包括了各种常见的Copula模型,如Gaussian Copula、t Copula和Clayton Copula等。通过使用这些函数,我们可以评估随机变量之间的依赖度和相关性,并使用这些数据进行模型拟合和预测。 而AICBIC是用于模型选择和评估的准则。它们基于信息理论,通过比较模型的适合性和复杂度来选择最佳模型AIC考虑了模型的拟合度和模型参数的数量,可以克服过拟合问题,并且在样本量较小的情况下表现较好。BICAIC的基础上加入了惩罚项,对参数估计的过程进行了惩罚,以防止模型过于复杂而导致的过拟合。 在MATLAB中,我们可以使用建模工具箱中的相关函数来计算AICBIC。这些函数会基于模型的拟合度和参数数量自动计算AICBIC的值,通过比较这些值,可以选择最佳的模型。 总而言之,MATLAB提供了强大的工具来进行Copula分析和模型选择。通过使用Copula函数和AICBIC准则,我们可以更好地理解随机变量之间的相关性,并选择最佳的模型来进行数据分析和预测。 ### 回答2: MATLAB是一种常用的计算机编程语言和环境,用于进行数据分析和数值计算。Copula是一种用于建模多变量随机过程的统计工具,用于描述随机变量之间的依赖关系。而AIC(Akaike Information Criterion)和BIC(Bayesian Information Criterion)是两种常用的模型选择准则,用于选择最佳的统计模型。 在MATLAB中,可以使用Copula工具箱来进行copula建模和分析。通过 Copula工具箱中提供的函数,可以使用不同的copula函数来拟合数据,并通过估计参数和选择合适的copula函数来描述变量之间的依赖关系。这些copula函数包括高斯copula、t分布copula、Clayton copula等等。 在copula建模过程中,选择合适的copula函数也是非常重要的。这时可以利用AICBIC来进行模型选择AIC是一种由信息论发展而来的准则,通过最小化模型的信息损失来选择最佳模型。而BIC是在AIC基础上,考虑了参数个数对模型的影响,通过最小化惩罚项来选择最佳模型。 在MATLAB中,可以使用信息准则工具箱中的函数来计算AICBIC。使用这些函数,可以对各个copula模型AICBIC进行比较,从而选择最优的copula模型来描述变量之间的依赖关系。 总而言之,MATLAB可以通过copula建模工具箱来进行copula建模和分析,并可以利用AICBIC准则来选择最佳的copula模型。这样可以更好地描述和分析多变量随机过程中的依赖关系。 ### 回答3: Matlab是一种强大的数学计算软件,可用于进行数据分析、建模和仿真等。Copula是一种统计学中用于描述多变量依赖关系的方法,常用于金融风险管理和精算领域。 AIC赤池信息准则)和BIC贝叶斯信息准则)是模型选择准则,用于在给定一组可能的模型选择最佳模型AICBIC都是通过计算模型的拟合度和模型复杂度之间的平衡来评估模型的好坏。 在Matlab中,可以使用copulafit函数来拟合Copula模型。该函数使用最大似然估计方法来计算Copula模型的参数。拟合完成后,可以使用copulagoodness函数来评估模型的拟合优度。 在进行模型选择时,可以使用aicc和biccopulafit函数来为不同的Copula模型计算AICBIC值。这些函数会考虑模型的参数数量和对数似然值,给出每个模型AICBIC值。AICBIC值越小,表示模型越好。 例如,假设我们在Matlab中拟合了两个Copula模型,可以使用aicc和biccopulafit函数来计算它们的AICBIC值。通过比较两个模型AICBIC值,可以选择AICBIC值较小的模型作为最佳模型。 总之,Matlab可以用于拟合Copula模型,并使用AICBIC进行模型选择。这些功能对于进行数据分析和建模,特别是在金融风险管理和精算等领域非常有用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值