gpt4 book ai didi

python - 手动计算 AIC 编号给定数据分布和一些分布字符串

转载 作者:行者123 更新时间:2023-12-05 09:11:31 26 4
gpt4 key购买 nike

假设我有以下数据:

 array([[0.88574245, 0.3749999 , 0.39727183, 0.50534724],
[0.22034441, 0.81442653, 0.19313024, 0.47479565],
[0.46585887, 0.68170517, 0.85030437, 0.34167736],
[0.18960739, 0.25711086, 0.71884116, 0.38754042]])

并且知道这些数据服从正态分布。我如何计算 AIC 编号?公式为

2K - 2log(L)

K 是总参数,对于正态分布,参数是 3(均值、方差和残差)。我被困在 L 上,L 假设是最大似然函数,我不确定要为服从正态分布的数据传递什么,对于 Cauchy 或指数分布又如何。谢谢。

Update: this question appeared in one of my coding interview. 

最佳答案

对于给定的正态分布,y给定的概率

import scipy.stats

def prob( y = 0, mean = 0, sd = 1 ):
return scipy.stats.norm( mean, sd ).pdf( y )

例如,给定 mean = 0sd = 1,值为 0 的概率为 prob( 0, 0, 1 )

如果我们有一组值 0 - 9,对数似然是这些概率的对数之和,在这种情况下,最佳参数是 x 的平均值和 x,如:

import numpy as np
x = range( 9 )
logLik = sum( np.log( prob( x, np.mean( x ), np.std( x ) ) ) )

那么 AIC 就是:

K = 2
2*K - 2*( logLik )

对于您提供的数据,我不太确定三列三行反射(reflect)的是什么。那么您是否必须计算三个均值和三个 StDev-s?不是很清楚。

希望上面的内容能让你入门

关于python - 手动计算 AIC 编号给定数据分布和一些分布字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59960237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com