Этот вопрос основан на замечательных ответах, которые я получил на предыдущий вопрос:
Можно ли расширить функциональность PDF, CDF, FindDistributionParameters и т. Д. В Mathematica?
Для начала у меня есть PDF и CDF для двух пользовательских дистрибутивов: nlDist и dplDist, как вы можете видеть из кода, который dplDist строит на nlDist.
nlDist /: PDF[nlDist[alpha_, beta_, mu_, sigma_],
x_] := (1/(2*(alpha + beta)))*alpha*
beta*(E^(alpha*(mu + (alpha*sigma^2)/2 - x))*
Erfc[(mu + alpha*sigma^2 - x)/(Sqrt[2]*sigma)] +
E^(beta*(-mu + (beta*sigma^2)/2 + x))*
Erfc[(-mu + beta*sigma^2 + x)/(Sqrt[2]*sigma)]);
nlDist /:
CDF[nlDist[alpha_, beta_, mu_, sigma_],
x_] := ((1/(2*(alpha + beta)))*((alpha + beta)*E^(alpha*x)*
Erfc[(mu - x)/(Sqrt[2]*sigma)] -
beta*E^(alpha*mu + (alpha^2*sigma^2)/2)*
Erfc[(mu + alpha*sigma^2 - x)/(Sqrt[2]*sigma)] +
alpha*E^((-beta)*mu + (beta^2*sigma^2)/2 + alpha*x + beta*x)*
Erfc[(-mu + beta*sigma^2 + x)/(Sqrt[2]*sigma)]))/
E^(alpha*x);
dplDist /: PDF[dplDist[alpha_, beta_, mu_, sigma_], x_] :=
PDF[nlDist[alpha, beta, mu, sigma], Log[x]]/x;
dplDist /: CDF[dplDist[alpha_, beta_, mu_, sigma_], x_] :=
CDF[nlDist[alpha, beta, mu, sigma], Log[x]];
Plot[PDF[dplDist[3.77, 1.34, -2.65, 0.40], x], {x, 0, .3},
PlotRange -> All]
Plot[CDF[dplDist[3.77, 1.34, -2.65, 0.40], x], {x, 0, .3},
PlotRange -> All]
В моем предыдущем вопросе ответы Джооболта и Саши и рекомендация использовать TagSet помогли мне продвинуться далеко вперед. Теперь мои вопросы касаются dplDist.
Теперь мне нужно вычислить ожидание от некоторой точки на оси x в PDF. В анализе выживания они обозначают это как среднее значение остаточной жизни. Примерно так:
Expectation[X \[Conditioned] X > 0.1,
X \[Distributed] dplDist[3.77, 1.34, -2.65, 0.40]] - 0.1
Это не работает, по сути, просто возвращает входные данные в виде текста.
Я понимаю, как я могу использовать TagSet для определения PDF и CDF для пользовательских дистрибутивов, как мне сделать что-то похожее для Expectation []?
Я опубликую больше об этом в отдельном вопросе, но мне также нужна стратегия для расчета достоверности соответствия dplDist относительно некоторых данных, для которых я соответствую распределению.
Большое спасибо всем.