首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >样本均值和方差不接近分布均值和方差

样本均值和方差不接近分布均值和方差
EN

Stack Overflow用户
提问于 2014-04-19 06:47:04
回答 1查看 320关注 0票数 4

I,已应答,a,问题,关于用NumPy中的伽马分布生成具有正支持度和已知均值和方差的样本。我想我也会在领队上尝试同样的方法。但与我和NumPy取得的结果不同的是,我无法得到接近分布均值和方差的样本均值和方差。

代码语言:javascript
复制
(defproject incanter-repl "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [incanter "1.5.4"]])
代码语言:javascript
复制
(require '[incanter 
           [core] 
           [distributions :refer [gamma-distribution mean variance draw]] 
           [stats :as stats]])

(def dist 
  (let [mean 0.71 
        variance 2.89 
        theta (/ variance mean) 
        k (/ mean theta) ] 
    (gamma-distribution k theta)))

计算分布的均值和方差。

代码语言:javascript
复制
(mean dist) ;=> 0.71
(variance dist) ;=> 2.89

我根据从该分布中提取的数据来计算样本的均值和方差。

代码语言:javascript
复制
(def samples (repeatedly 10000 #(draw dist)))

(stats/mean samples) ;=> 0.04595208774029654
(stats/variance samples) ;=> 0.01223348345651905

我预计在样本上计算的这些统计数据将更接近分布的均值和方差。我遗漏了什么?

回答

Incanter从并行Colt继承了一个bug。在并行Colt中,参数的处理是不一致的。参见问题报告https://github.com/incanter/incanter/issues/245

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-19 09:27:03

与以形状(k)和尺度(θ)为参数的numpy.random.gamma相反,gamma-distribution以形状(k)和速率(1/θ)为参数。见(doc gamma-distribution)分布

因此,要获得所需的结果,可以将dist定义为

代码语言:javascript
复制
(def dist 
  (let [mean 0.71 
        variance 2.89 
        r (/ mean variance) 
        k (* mean r) ] 
    (gamma-distribution k r)))

然后是一个样本结果。

代码语言:javascript
复制
(def samples (repeatedly 10000 #(draw dist)))
#'incanter-test.core/samples
incanter-test.core=> (stats/mean samples)
0.7163908381930312
incanter-test.core=> (stats/variance samples)
2.940867216122528
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23166883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档