Ответ должен быть 117,4, я получаю 9982.3 ... Не уверен, что проблема, но вот мой код:Функция полезности не оценки правильно Numpy питона
def util(c,p,alpha):
mu = 0
for i in range(0,len(c)):
m = p[i]*(c[i]**(1-alpha))
mu += m
return mu**(1/(1-alpha))
omega = 0.495
c = np.array([100,200,1000])
p = np.array([omega, omega, 1-2*omega])
alpha = 5
EDIT: Я не уверен, если есть ошибка с моей математикой или с функцией, которую я написал, я спрашиваю, соответствует ли моя математика тому коду, который я написал.
Я решаю это уравнение для mu: U (mu) = E [U (c)] с выигрышами c и распределением вероятности p, как указано выше. U (c) имеет вид c^(1-альфа)/(1-альфа).
U(mu) = mu^(1-alpha)/(1-alpha) = E[U(c)] = (omega*c1^(1-alpha)+omega*c2^(1-alpha)+(1-2*omega)*c3^(1-alpha))/(1-alpha)
=> mu = (omega*c1^(1-alpha)+omega*c2^(1-alpha)+(1-2*omega)*c3^(1-alpha))^(1/(1-alpha))
'Util (с, р, альфа)' фактически возвращает 9.99558 для меня. –
, что является дополнительным запутанным ... – bpr
@bpr. Вы должны дать нам немного больше, чтобы продолжить: здесь есть проблема. Этого недостаточно, чтобы помочь нам найти ошибку. –