R中的随机游走和高斯(正态)分布
问题描述:
我对R中的编码(一般编码)非常陌生。我创建使用下面的代码中随机游走分布:R中的随机游走和高斯(正态)分布
set.seed(124)
norm <- rnorm(1000)
mean(norm)
mean(norm)^2
sd(norm)
d <- density(norm)
plot(d)
现在我想创建使用上述分配正步骤的功能。该函数根据从中心向左或向右移动n步的概率计算预期值。我不知道从哪里开始。
任何方向将不胜感激。
由于
答
如果每个正态分布变量是您的步长大小(正向右移动和负移动左),那么你的随机的累积和绘制表示的当前位置。可以计算出,随着R中的cumsum
功能:
set.seed(144)
pos <- cumsum(rnorm(1000))
plot(seq_along(pos), pos, xlab="Step Number", ylab="Current Position")
使用replicate
和逻辑运算,可以模拟任意数量的约随机游走不同的问题。例如“什么概率不随机游走的值超过第一1000步之内用100”可以与模拟:
set.seed(144)
exceed.100 <- replicate(100000, any(cumsum(rnorm(1000)) >= 100))
mean(exceed.100)
# [1] 0.00173
从这些100K的重复,它看起来像的概率大约为0.17%,该随机在前1000步中步行将超过100次。
你应该在你的文章中确实有一个明确的,具体的编程问题。如果你对像随机散步这样的统计模型有疑问,或许你的问题更好地属于[stats.se]。否则,你需要更清楚地描述你想如何将这些值从一个随机正态分布转化为步骤和方向。目前还不清楚你到底想要什么。 – MrFlick