楼主: god_on
3214 1

[问答] 用R做最大似然估计,如何根据多个样本量进行模拟? [推广有奖]

  • 4关注
  • 1粉丝

硕士生

53%

还不是VIP/贵宾

-

威望
0
论坛币
778 个
通用积分
6.8616
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
5266 点
帖子
74
精华
0
在线时间
269 小时
注册时间
2010-3-7
最后登录
2025-10-29

楼主
god_on 发表于 2015-1-28 09:07:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最大似然估计,此处有500 sets of data, size n=100,用了如下的代码。


library(stats4)
muhat <- NULL
sigmahat <- NULL
mu <- 2
sigma <- 2
k <- 500
n <- 100

# Calculate alpha and beta for k times (do k times simulation, each with n data points)
for (j in 1:k) {
        y <- rnorm(n, mu, sigma) # True value and sample size
        # MOM estimates
        mu.mom <- mean(y)
        sigma.mom <- (var(y))^0.5
        # Negative loglikelihood function (to be minimised)
        nloglike <- function(mu, sigma) {
                llikei <- suppressWarnings(dnorm(y, mu, sigma))
                -sum(log(llikei))
        }
        # Output
        normal.mle <- mle(nloglike, start = list(mu = mu.mom,
                                                 sigma = sigma.mom))
        muhat[j] <- coef(normal.mle)[[1]]
        sigmahat[j] <- coef(normal.mle)[[2]]
}

如果需要用不同的样本量和数据个数做多次模拟,比如样本量为n <- c(20, 30, ... , 100),数据个数k <- c(100, 200, 500),该怎么修改?谢谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:最大似然估计 最大似然 似然估计 样本量 Library library 如何

沙发
soccy 发表于 2015-1-28 09:17:42
将计算封装进一个function,然后可以多次调用(使用不同参数)。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 16:34