R語言與點估計學習筆記(刀切法與最小二乘估計)

R語言與點估計學習筆記(刀切法與最小二乘估計)

一、 刀切法(jackknife)

刀切法的提出,是基於點估計準則無偏性。刀切法的作用就是不斷地壓縮偏差。但需要指出的是縮小偏差並不是一個好的辦法,因為偏差趨於0時,均方誤差會變得十分大。而且無偏性只有在大量重複時才會表現出與真值的偏差不大。Jackknife的想法在於:既然樣本是抽出來的,那我在作估計、推斷的時候「扔掉」幾個樣本點看看效果如何。

例如我們來看使用刀切法估計正態分布N(2,25)的方差,我們認為樣本的修正方差是關於總體方差的一個估計量使用刀切法:

>x<-rnorm(100,2,5)

>jack<-function(x){

+jackknife<-0

+for(i in 1:length(x)) jackknife[i]=length(x)*var(x)-(length(x)-1)/length(x)*sum(var(x[-i]))

+ jackknife

+ }

>mean(jack(x))/length(x)

[1]26.07598

> var(x)

[1]26.33671

可以看出刀切法得到的估計量更接近總體方差。

關於刀切法,也不僅僅只是用來做參數估計的,他的用法與之前提到的bootstrap類似。

二、最小二乘估計

雖然MLe是很好的參數估計辦法,它過分依賴總體分布。在不知道總體分布的情況下,又只知道一組數據,那麼LSE將會是一個不錯的選擇。關於LSE的相關理論你可以參考任意一本數理統計的教材,比如前面提到的王兆軍《數理統計講義》(這個百度文庫里有)

下面介紹一下R中的做回歸的函數lm,用法如下:

lm(formula, data, subset, weights, na.action,

method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE,

singular.ok = TRUE, contrasts = NULL, offset, ...)

僅以R中給出的example中的數據作為例子:

> ctl <-c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)

> trt <-c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)

> group <- gl(2,10,20,labels=c("Ctl","Trt"))

> weight <- c(ctl, trt)

> lm.D9 <- lm(weight ~ group)

> lm.D9

Call:

lm(formula = weight ~ group)

Coefficients:

(Intercept) groupTrt

5.032 -0.371

> summary(lm.D9)

Call:

lm(formula = weight ~ group)

Residuals:

Min 1Q Median 3Q Max

-1.0710 -0.4938 0.0685 0.2462 1.3690

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 5.0320 0.2202 22.850 9.55e-15 ***

groupTrt -0.3710 0.3114 -1.191 0.249

---

Signif. codes: 0 『***』 0.001 『**』 0.01 『*』 0.05 『.』 0.1 『 』 1

Residual standard error: 0.6964 on 18 degreesof freedom

Multiple R-squared: 0.07308, Adjusted R-squared: 0.02158

F-statistic: 1.419 on 1 and 18 DF, p-value: 0.249

可以得到常數項為5.0320,一次項係數為-0.3710

關於最小二乘估計,在時間序列模型的參數估計中也有用,在時間序列分析的學習筆記中會提到


推薦閱讀:

積夢智能-為中國製造業揭開數據之霧
「異類」年度大數據引領消費生態大進化
Kaggle自行車預測練習-基礎篇
地震運用大數據預測可能性

TAG:R編程語言 | 數據分析工具 | 大數據分析 |