我应该在交叉验证中使用什么损失函数与 R 包 BNlearn 一起用于我的数据?



新增的StackOverflow和R。

我有一个关于R包BNlearn中提供的用于交叉验证的不同损失函数以及我应该使用哪一个的问题。我有连续的数据(下面的示例(,有 32 行和 8 列,每列代表一个物种,每行代表当年该物种的个体数量。

201  1.78e+08  18500000   1.87e+08   6.28e+07   1.08e+09     1.03e+08   7.22e+07   43100000
202  8.06e+07   9040000   5.04e+07   4.49e+07   6.66e+08     8.07e+07   2.58e+07   24100000
203  1.54e+08   4380000   1.51e+08   2.88e+07   9.94e+08     1.44e+08   7.32e+07   39000000
204  1.36e+08   6820000   3.80e+08   8.39e+06   7.38e+08     1.50e+08   4.25e+07   32600000
205  9.94e+07   9530000   8.99e+07   1.05e+07   6.62e+08     1.67e+08   1.90e+07   29200000
206  1.33e+08   6340000   4.27e+07   3.26e+06   5.31e+08     2.93e+08   2.70e+07   41500000
207  1.22e+08   5710000   4.41e+07   3.16e+06   4.58e+08     4.92e+08   4.02e+07   21600000
208  1.33e+08  13500000   1.20e+08   3.56e+06   4.40e+08     2.50e+08   3.93e+07   30000000
209  1.73e+08  21700000   4.35e+07   7.58e+06   5.62e+08     3.31e+08   4.98e+07   42100000
210  1.86e+08   6950000   3.40e+07   1.18e+07   4.41e+08     3.80e+08   4.83e+07   28100000

到目前为止,我已经使用禁忌搜索来制作固定的网络结构,并使用交叉验证命令对其进行了分析

bn.cv(data = data, bn = bn.tabu, method = "k-fold", k = 10, runs = 100)

给出结果

k-fold cross-validation for Bayesian networks
number of folds:                       10 
loss function:                         Log-Likelihood Loss (Gauss.) 
number of runs:                        100 
average loss over the runs:            151.8083 
standard deviation of the loss:        0.2384763

问题是,我应该对数据使用什么损失函数,以便我可以更改我使用的数据集并获得可比较的结果,以及"运行中的平均损失"是什么意思?最终的游戏是进行联合概率分布和对年份 + 1 的预测,因此基本上是带有数字及其概率分布的第 33 行。

很抱歉有任何不一致之处,因为我仍在学习统计学。

我不知道我是否正确理解了你的问题。 第二个问题"运行的平均损失"是什么意思? 因为你的代码运行了 10 次 (k=10(,这意味着 10 次的损失函数的平均值。 关于第一个问题,最好看看这个页面。 https://stats.stackexchange.com/questions/339897/what-is-the-difference-between-loss-function-and-mle 对不起,语言不好,我的英语不像你看到的那样好。

相关内容

  • 没有找到相关文章

最新更新