1

有人可以向我解释为什么下面的代码

对数似然[MultinomialDistribution[countstot, {dt1/ttot, dt2/ttot, dt3/ttot, dt4/ttot, dt5/ttot}], {CR1, CR2, CR3, CR4, CR5}]

不会产生一个数字作为输出,而是这样:

对数似然[MultinomialDistribution[156, {318/1049, 159/1049, 208/1049, 222/1049, 142/1049}], {0.00186, 0.00185, 0.00136, 0.00108, 0.00115}]

这是我第一次使用 LogLikelihood 和 MultinomialDistribution,我可能做错了什么,但我真的不明白是什么。

谢谢

4

1 回答 1

0

从文档中获取一些线索。

d = MultinomialDistribution[
    156, {318/1049, 159/1049, 208/1049, 222/1049, 142/1049}] // N;

这些是该分布预期的平均结果

m = Mean[d]

{47.2908、23.6454、30.9323、33.0143、21.1173}

Total[m]

156.

取一些随机值

r = RandomVariate[d]

{51、17、23、41、24}

这些值的对数似然(多项式的非负整数输入)

LogLikelihood[d, {r}]

-12.9418

Total[r]

156

放大你的数字并四舍五入,使它们总计 156

values  = {0.00186, 0.00185, 0.00136, 0.00108, 0.00115};
factor  = 156/Total[values];
scaled  = 0.999 factor values;
rounded = Round[scaled]

{40、39、29、23、25}

Total[rounded]

156

LogLikelihood[d, {rounded}]

-16.555

于 2019-12-03T10:22:57.867 回答