这一章的习题第3题,第一次见到对0.95分位数求极大似然估计的题目,看上去很复杂但是道理都是一样的。
原题是这样的:
前两问就是按极大似然估计法的思路求解,先求出和的极大似然估计和,再根据我们解出的关于这两者的表达式得到的极大似然估计。
(a).
解得
(b).
令,有
的置信区间
(c). 文章来源:https://www.toymoban.com/news/detail-736431.html
# All of Statistics: Chapter 9
import numpy as np
import math
from scipy.stats import norm
# Q3(c)
x = [3.23, -2.50, 1.88, -0.68, 4.43, 0.17, 1.03, -0.07, -0.01, 0.76, 1.76, 3.18, 0.33, -0.31, 0.30, -0.61, 1.52, 5.43, 1.54, 2.28, 0.42, 2.33, -1.03, 4.00, 0.39]
x_ba = np.mean(x)
var_hat = np.var(x)
z_005 = norm.ppf(q = 1-0.05, loc = 0, scale = 1)
tau_hat = z_005 * np.std(x) + x_ba
se_hat = math.sqrt(var_hat / 25 + var_hat / 50 * z_005 ** 2)
y = np.random.normal(loc = x_ba, scale = np.std(x), size = 25)
def T_F(data):
mu = np.mean(data)
sigma = np.std(data)
return z_005 * sigma + mu
def bootstrap_replicate_1d(data, func):
bs_sample=np.random.choice(data, len(data))
return func(bs_sample)
def bootstrap_res(data, func, size=1):
bs_replicates = np.empty(size)
for i in range(size):
bs_replicates[i] = bootstrap_replicate_1d(data, func)
return bs_replicates
B_hat = bootstrap_res(y, T_F, size = 10000)
se_boot = np.std(B_hat)
print("\n MLE = ", tau_hat, "\n", "se_Delta = ", se_hat, "\n", "se_boot = ", se_boot)
Delta方法求出的标准差是唯一确定的,Bootstrap方法求出的标准差是不唯一的。文章来源地址https://www.toymoban.com/news/detail-736431.html
到了这里,关于统计学完全教程(All of Statistics)第九章习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!