我在学 使用一本名为“使用 R 发现统计数据”的书。它很棒,但似乎跳过了一些区域。

所以,我有一个功能 计算参数 a, b 以下 pdf 的 贝塔函数:

func

我的函数返回从 500 个样本中找到的以下参数:

  [1] 1.028316 2.095143 #a b

我正在尝试计算参数的标准误差。

我想知道如何实现这一点 ?

据我在网上查到的, 标准误 是根据样本计算的,而不是参数。所以,我所实现的就是在这里:

    stderr <- function(x) sqrt(var(x)/length(x))

提前致谢。

有帮助吗?

解决方案

我不确定您使用哪个函数来拟合您的数据的 beta 分布,但是 fitdistr 函数从 MASS 包提供了标准错误值 shape1shape2 贝塔分布的参数:

# Obtain data to fit
set.seed(144)
data <- rbeta(500, 1, 2)

# Fit and output result
library(MASS)
fit <- fitdistr(data, "beta", start=list(shape1=0.5, shape2=0.5))
fit
#     shape1      shape2  
#   1.0596902   2.0406073 
#  (0.0602071) (0.1284133)

此处,标准误差为 0.060 shape1 和 0.128 shape2. 。您可以通过以下方式获取值 fit$sd.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top