【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)

計算結果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章