點估計(point estimation)是指用樣本資料來估計母體參數,使用一個點的數值表示其估計值,因此稱為點估計。事實上我們相當常見的樣本平均數或樣本變異數就是點估計,我們是使用樣本資料計算出一個數值,然後再用這個點的數值去估計母體的參數。
用樣本平均數或樣本變異數去估計母體平均及母體變異就是點估計 ,用樣本平均去估母體平均,用樣本變異去估母體變異,用樣本的某個統計量直接去估母體參數,看起來好像非常直觀且簡單吧?
但其實不是這樣的,估計方法其實種類繁多,有最小方差均值不偏估計法 (MVUE)、一致最小方差不偏估計法(UMVUE)、最佳線性不偏估計法(BLUE)、 、最大概式估計法(MLE)、動差法(Method of Moment)…,每一種方法都用不同角度去切入,而得出的估計值可能也有所差異。
除了估計方法外,一個好的點估計還要有不偏性 (Unbiasedness)、有效性 (Efficiency)、一致性 (Consistency)、充分性 (Sufficiency)。總之估計一個母體平均或是其他母體參數其實沒有看上去的那麼容易,它除了要有一些好的數學特性之外還要用合理的估計方式去估計…。
但在大多數領域我們都不會接觸到這些內容,其一是除了母體平均和母體變異外或許我們不常需要估計其他母體參數,而母體平均及變異已經有一組簡單又廣為人知的估計式而不需要去學習這些內容重新推導一次。再來就是統計是一個相當古老的學科,點估計這些領域已經發展得相當成熟,該有的估計方法、數學特性尚稱完善,一般人在這領域也很難有所突破。
儘管如此,其重要性仍不可被抹滅。
那我們該如何衡量一個點估計的好壞呢?
除了不偏性 (Unbiasedness)、有效性 (Efficiency)、一致性 (Consistency)、充分性 (Sufficiency)這些數學特性外,有一個比較簡單易懂的方式也能用來衡量點估計的好壞。
那就是MSE
Variance代表點估計值的變異數,變異數小代表每一次估計出來的值不會差距太多。Bias代表點估計的期望值和母體參數的誤差,而MSE越小通常代表點估計越好,因其變異及誤差較小。
MSE也是一個在機器學習、回歸分析中相當常被使用的指標,Variance和Bias可以被視作模型複雜度的衡量標準。當MSE中的bias的數值為0時代表點估計的期望值和母體參數的誤差為0,這時我們就稱這一點估計為不偏估計量(Unbiased Estimator) 。
接續不偏估計量,事實上,之所以我們用來估計母體變異的樣本變異數是
分母為n-1而不是n的原因就是為了把它調整成不偏估計量。
Julia程式碼 using Random, Statistics
Random.seed!(0)
# 母體真實參數
trueVar, trueStd = 1/12, sqrt(1/12)
# 點估計之值
function estVar(n)
sample = rand(n)
sum((sample .- 0.5).^2)/n
end
# 計算點估計之期望值和母體真實參數之間是否有誤差
# 也就是說點估計是否為不偏
N = 10^7
for n in 5:5:30
biasVar = mean([estVar(n) for _ in 1:N]) - trueVar
biasStd = mean([sqrt(estVar(n)) for _ in 1:N]) - trueStd
println("n = ",n, " Var bias: ", round(biasVar, digits=5),
"\t Std bias: ", round(biasStd, digits=5))
end
Output n = 5 Var bias: 1.0e-5
Std bias: -0.00642
n = 10 Var bias: 1.0e-5
Std bias: -0.00303
n = 15 Var bias: 0.0
Std bias: -0.00199
n = 20 Var bias: -1.0e-5
Std bias: -0.00148
n = 25 Var bias: -1.0e-5
Std bias: -0.00117
n = 30 Var bias: 0.0
Std bias: -0.00098
可以很清楚的察覺,隨著觀察值數量的增加,點估計的誤差也越來越小,這意味著點估計估計得越來越準。