楼主: god_on
3003 1

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

  • 4关注
  • 1粉丝

硕士生

52%

还不是VIP/贵宾

-

威望
0
论坛币
796 个
通用积分
6.9816
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
5266 点
帖子
74
精华
0
在线时间
268 小时
注册时间
2010-3-7
最后登录
2021-9-17

+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
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 11:46