理解赤池信息量(AIC)

在学逐步回归的过程中,遇到了AIC,只知道这玩意儿越小,模型拟合力更好。查了一下:

AIC是由日本统计学家赤池弘次创立和发展的,该准则是建立在熵的基础上的。

一般情况下,公式为

AIC=(2k-2L)/n

这公式我们可以看到,n是样本量,样本量越大该值越小,跟我们平时说的样本量越大,模型越有说服力

k是拟合模型中参数的数量,可以知道参数越少,AIC越小

L是对数似然值,L越大模型说明越精确

具体的公式看起来比较复杂一些,这个公式相对简洁一些,更好理解。

总的来说,模型参数少不仅对计算代价有利,而且拟合相对来说更有解释力;样本量大,感觉越贴近真实情况,而且AIC还低;似然函数也是,越大不仅仅说明模型精确,而且AIC越小。

 

 

在Python中,计算赤池信息量(Akaike Information Criterion,简称AIC)通常涉及统计建模库,如statsmodels。下面是一个简单的例子,假设我们有一个线性回归模型: ```python import statsmodels.api as sm from statsmodels.iolib.table import SimpleTable # 假设data是包含因变量y和自变量X的数据框 X = data['your_features'] y = data['target'] # 创建模型 model = sm.OLS(y, X) # 拟合模型 results = model.fit() # 计算AIC aic = results.aic print("模型的AIC值:", aic) ``` 对于非线性模型或者其他复杂模型,可能需要使用特定的优化工具包,如scikit-learn下的GridSearchCV来遍历不同的`maxlag`值,并计算对应的AIC: ```python from sklearn.model_selection import GridSearchCV from sklearn.linear_model import ARIMA # 设置模型参数网格 params = {'order': [(p, q) for p in range(0, 6) for q in range(0, 6) if (p + q <= 6)]} # 创建ARIMA模型 model = ARIMA(y, order=0) # 使用GridSearchCV寻找最优的(p, d, q)组合 grid_search = GridSearchCV(model, params, scoring='neg_aic', cv=5) # 负AIC是为了最小化 grid_search.fit(X) # 获取最佳AIC及其对应的参数 best_params = grid_search.best_params_ best_aic = grid_search.best_score_ print(f"最优参数: {best_params}, AIC: {-best_aic}") ``` 在这个例子中,`GridSearchCV`会在给定的参数范围内搜索最优的ARIMA模型,返回的是负AIC,因为GridSearchCV默认使用的是最小化AIC的策略。记得根据实际情况调整`GridSearchCV`的参数设置,例如交叉验证次数、评分标准等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值