当前位置: 首页 > 知识库问答 >
问题:

如何用已知参数绘制截断正态分布

杨星纬
2023-03-14

我想生成一个截断的正态分布,其中任何一个R中都有已知的参数。注意,我不是在寻找伪随机数生成器。

假设I有一个均值为5,标准差为1的正态分布。我能画出一个截断正态分布的值吗,在点1和点10截断?

共有1个答案

陶英纵
2023-03-14

下面的函数为任何分布生成(伪)随机数,只要您有d'和'p'函数可用。在R的说法中,这意味着您必须具有dnormpnorm,它们是基本R的一部分。

#
# random numbers for truncated distribution
#
rtrunc <- function(n, distr, lower = -Inf, upper = Inf, ...){
    makefun <- function(prefix, FUN, ...){
        txt <- paste(prefix, FUN, "(x, ...)", sep = "")
        function(x, ...) eval(parse(text = txt))
    }
    if(length(n) > 1) n <- length(n)
    pfun <- makefun("p", distr, ...)
    qfun <- makefun("q", distr, ...)
    lo <- pfun(lower, ...)
    up <- pfun(upper, ...)
    u <- runif(n, lo, up)
    qfun(u, ...)
}

# Example:
x <- rtrunc(1, "norm", lower = 0, mean = 2, sd = 5)
 类似资料:
  • 从平均值0.5和标准差0.1的正态分布中得出伪随机数。 既然如此,下面的Matlab代码是否等价于从一个在0处截断的正态分布在1处进行采样?

  • 我试着增加平局的数量--仍然导致sd在96左右。

  • 问题内容: 我想使用python使对数正态分布适合我的数据。根据手册,返回 形状,位置,比例 参数。但是,对数正态分布通常只需要两个参数:平均值和标准偏差。 如何解释scipy函数的结果?如何获得均值和std.dev。 问题答案: scipy中的分布以通用的方式通过两个参数的位置和比例进行编码,因此位置是将分布向左或向右移动的参数(),而是压缩或拉伸分布的参数。 对于两个参数的对数正态分布,“均值

  • 如上图,需要在浏览器画一个三角形,并且标注各个角的角度、及各条边长,用什么画容易?css、canvas、svg?还是有什么框架可以方便实现? 备注:三角形是已知各个边长和角度的

  • 在一个给定宽度和高度的AnchorPane如何绘制一条动态的正弦波线?像波浪一样一直在流动?

  • 问题内容: 是否可以使用matplotlib scikit learn classification report绘图?。 假设我这样打印分类报告: and I get: 我怎样才能“绘制”avobe图表?。 问题答案: Expanding on Bin‘s answer: outputs: Example with more classes (~40):