akaike_info_criterion_lsq

astropy.stats.akaike_info_criterion_lsq(ssr, n_params, n_samples)[ソース]

観測値をガウス分布と仮定し,Akaike情報尺度を計算する.

本例では、AICは、

\[\mathm{aic}=n\ln\Left(\dfrac{\mathm{ssr}{n}\right)+2 k\]

サンプルサイズが十分でない場合には、補正が適用される、すなわち

\[\mathm{aic}=n\ln\Left(\dfrac{\mathm{ssr}{n}\right)+2 k+ \dfrac{2 k(k+1)}{n-k-1}\]

そのうち \(n\) サンプルの大きさです \(k\) アイドルパラメータの数です \(\mathrm{{SSR}}\) モデルとデータ間の残差二乗和を表す.

たとえば,最小二乗統計量を用いてモデルのパラメータを推定する場合には,これが適用される.

パラメータ
ssr浮いている.

モデルとデータ間の残差二乗和(SSR).

n_params集積する.

モデルの自由変数の個数,すなわちパラメータ空間の次元である.

n_samples集積する.

回数を観察する。

返品
aic浮いている.

Akaike情報標準社(Akaike Information Criteria)。

参考文献

1

Akaike情報標準社(Akaike Information Criteria)。<https://en.wikipedia.org/wiki/Akaike_information_criteria>

2

起源実験室です。2つのフィッティング関数を比較する。<https://www.OriginLab.com/doc/Origin-Help/PostFit-CompareFitFunc>

実例.

この例は,Astropyモデリングページの複合モデル部分に基づく.

>>> import numpy as np
>>> from astropy.modeling import models, fitting
>>> from astropy.stats.info_theory import akaike_info_criterion_lsq
>>> np.random.seed(42)
>>> # Generate fake data
>>> g1 = models.Gaussian1D(.1, 0, 0.2) # changed this to noise level
>>> g2 = models.Gaussian1D(.1, 0.3, 0.2) # and added another Gaussian
>>> g3 = models.Gaussian1D(2.5, 0.5, 0.1)
>>> x = np.linspace(-1, 1, 200)
>>> y = g1(x) + g2(x) + g3(x) + np.random.normal(0., 0.2, x.shape)
>>> # Fit with three Gaussians
>>> g3_init = (models.Gaussian1D(.1, 0, 0.1)
...            + models.Gaussian1D(.1, 0.2, 0.15)
...            + models.Gaussian1D(2.4, .4, 0.1))
>>> fitter = fitting.LevMarLSQFitter()
>>> g3_fit = fitter(g3_init, x, y)
>>> # Fit with two Gaussians
>>> g2_init = (models.Gaussian1D(.1, 0, 0.1) +
...            models.Gaussian1D(2, 0.5, 0.1))
>>> g2_fit = fitter(g2_init, x, y)
>>> # Fit with only one Gaussian
>>> g1_init = models.Gaussian1D(amplitude=2., mean=0.3, stddev=.5)
>>> g1_fit = fitter(g1_init, x, y)
>>> # Compute the mean squared errors
>>> ssr_g3 = np.sum((g3_fit(x) - y)**2.0)
>>> ssr_g2 = np.sum((g2_fit(x) - y)**2.0)
>>> ssr_g1 = np.sum((g1_fit(x) - y)**2.0)
>>> akaike_info_criterion_lsq(ssr_g3, 9, x.shape[0]) 
-634.5257517810961
>>> akaike_info_criterion_lsq(ssr_g2, 6, x.shape[0]) 
-662.83834510232043
>>> akaike_info_criterion_lsq(ssr_g1, 3, x.shape[0]) 
-647.47312032659499

したがって,AIC値の中から,モデルG 2_FITを選択したい.しかしながら、AICの違いは約2.4であるため、G 3_FITモデルをかなりサポートすることができる。私たちはモデルG 1_FITを拒否しなければならない。