我正在编写一个R代码,其中,我在整个程序中使用set.seed()函数生成数据,然后在函数中使用它,最终绘制函数,然后使用optim来获取最小值。但是现在的问题是,如果我更改种子值,函数的图形也会发生变化,有时甚至不会生成凹形图,而是生成指数图。 我不明白为什么会发生这种情况以及如何解决。如果有人可以为我提供阅读本主题的任何参考文献或有关可以做什么的任何建议,那将是很棒的。
预先感谢
答案 0 :(得分:1)
set.seed()
将随机数生成器配置为从该种子开始。这可能会有些复杂,具体取决于精确的实现方式,但是效果始终是相同的:数字序列将是相同的。
这在需要一些随机性的许多应用程序中很有用,但是如果您重新运行代码,则希望获得相同的结果。举例来说,您需要随机采样数据,但是由于您是在调试,因此如果您获得相同的采样以使错误不会消失对您很有用。
如果您想让其他人复制结果,您只需选择一个随机数作为种子,并告诉他们您使用了该种子。该算法中基于随机数的任何事物都将具有相同的行为,因为你们俩都使用相同的数字序列。
对于图形问题,您需要共享一些代码,以便人们理解您在做什么。很难猜测出了什么问题。一开始,您的算法似乎受到随机数的强烈影响(通常不是一个好兆头)。
答案 1 :(得分:1)
简单来说,如果您设置一个种子并提取一个随机数,则该随机数将始终相同。如果未设置种子,则每次选择一个数字时,该数字都会不同。种子可以让您复制实验。