【R参数估计】点估计
根据样本来估计总体分布包含的未知参数,叫做 参数估计(parametric estimation),它是统计推断的一种重要形式,通常有两种方法:点估计与区间估计。
点估计(point estimation)
点估计就是用一个统计量来估计一个未知参数
优点:能够明确地告诉人们“未知参数大致有多少”
缺点:不能反映估计的可信程度
矩法
矩法的中心思想是用样本矩去估计总体矩
R程序如下:
x<-rbinom(100, 20, 0.7); n<-length(x)
A1<-mean(x); M2<-(n-1)/n*var(x)
source("../moment_fun.R");
source("../../Newtons.R")
p<-c(10,0.5); Newtons(moment_fun, p)
k<-A1^2/(A1-M2); k
p<-(A1-M2)/A1; p
x<-rbinom(100,20,0.7) #产生100个k=20,p=0.7的二项分布的随机数
n<-length(x)
A1<-mean(x) #计算样本均值(样本一阶原点矩)
M2<-(n-1)/n*var(x) #计算样本二阶中心距
p<-c(10,0.5)
Newtons(moment_fun,p) #给出初值,调用Newton法计算方程的根
计算结果如下
矩法的优点:在其能用的情况下,利用数值计算,计算往往很简单
但矩法相对于其他估计方法,其效率往往很低
极大似然法
极大似然法是一种应用非常广泛的参数估计方法,其思想始于Gauss的误差理论,具有很多的优良性质,它充分利用总体分布函数的信息,克服了矩法的某些不足
uniroot()函数
用方程求根函数uniroot(),求似然方程的根
x<-rcauchy(1000,1) #产生1000个参数Θ=1的随机数
f<-function(p)
+ sum((x-p)/(1+(x-p)^2)) #写出似然方程对应的函数
out<-uniroot(f,c(0,5)) #用求根函数uniroot()求似然方程在区间(0,5)内的根
out
计算结果如下:
optimize()函数
R软件中函数optimize()(或optimise())可直接求一维变量函数的极小点,这里用它求对数似然函数的极值点
loglike<-function(p) #对数似然函数
+ sum(log(1+(x-p)^2))
out<-optimize(loglike,c(0,5)) #用函数optimize()求函数loglike在区间(0,5)上的极小点
out
计算结果如下:
nlm()函数
nlm函数可求多元函数极小值
在R中写入目标函数:
obj<-function(x){
f<-c(10*(x[2]-x[1]^2), 1-x[1])
sum(f^2)
}
x0<-c(-1.2,1)
nlm(obj,x0)
计算结果如下: