0
は、私が持っている:scipyで流通のAICを計算するにはどうすればよいですか?
from scipy import stats
data = stats.gamma.rvs(2, loc=1.5, scale=2, size=100000)
をので、私はそれからAICを計算するか、どのように
fitted_params = scipy.stats.gamma.fit(data)
に適合していますか? AIC = 2*k - 2*ln(L)
kが取り付けられたパラメータの数であり、Lは次のようになり
k = len(fitted_params)
aic = 2*k - 2*(logLik)
logLik
最大対数尤度関数は?
私はこのスニペットが見つかりました:ので、私の機能があることを行っているMaximum Likelihood Estimate
から
logLik = -np.sum(stats.norm.logpdf(data, loc=yPred, scale=sd))
を:
# calc SD of fitted distribution
sd = std(loc=fitted_params[1], scale=fitted_params[2])
# sample values from fitted dist same length as original data array
yPred = rvs(fitted_params[0], loc=fitted_params[1], scale=fitted_params[2], size=len(data), random_state=None)
# calc the log likelihood
logLik = -np.sum(stats.gamma.logpdf(data, loc=yPred, scale=sd))