其實這不算科普,只能算掃盲貼。。。但是這個問題還是挺重要的!這個帖子是為了回答

為什麼在使用最小二乘法得出參數值後,仍然要進行顯著性t檢驗?如果不顯著性影響,算出參數值接近零??

www.zhihu.com
圖標

如何驗證真實參數為零,但是其估計值不會是零

你可以做一個簡單的實驗,從下面的模型裏simulate 100次

y_i = c + varepsilon_i,   quad varepsilon_i sim N(0,1)

然後你在simulate 100次這個x

x_i sim N(0, 1)

然後你回歸這個模型

y_i = eta_0 + eta_1 x_i + eta_i

你會得到一個 hat{eta}_1

很明顯,真實參數 eta_1 = 0 ,而我可以負責的告訴你,你這個 hat{eta}_1 肯定不是零,再小也不會是零。

事實上 hat{eta}_1 = eta_1 = 0 的概率是零。

現在說點實際的,假設你不知道 eta_1 是不是零,你看到一個很接近零但不是零的 hat{eta}_1 ,你該如何判斷?要科學的判斷!

這個估計值再接近零,你都不能說真實參數就是零,那是武斷的不負責任的。萬一真實的eta_1很小但就不是零怎麼辦?你要知道,很小但不是零代表有影響,這和你的y_i的數量級有關係。多小纔算小是另外一個問題。

所以,你必須要要用假設檢驗來判斷,you cannot do better without it!

假設我求得一個較大的參數估計值,並不靠近於零,那麼我如何判斷X是否真的對Y有影響?

還是上面那個例子,我們稍微具體化一下:

y_i = eta_0 + eta_1 x_i + eta_i

假如說,上式是真實模型, 且eta_1 = 2 ,2這個數值的數量級一般來說我們認為夠大了,我們用這個模型simulate了一堆數據 (y_i , , x_i), quad i = 1, ..., n ,其中, y_ix_i 都有具體的物理意義。

我們根據這套數據做回歸會得到一個很接近2的 hat{eta}_1 ,我們不做假設檢驗,就看 hat{eta}_1 approx 2 得出判斷,x對y有影響。好,先這樣,我們繼續。

在實際處理中,我們可能不使用這堆數據,譬如, y_i 當前的單位是米,我要給 y_i 換個單位,我們想換成千米。這類操作很常見,屬於data transformation,或者數據預處理,有的還歸類於data cleaning,其實就是做一個函數變換,把 y_i 用另一個變數 z_i 替換掉,他們有一一對應的函數關係

z_i = 0.001 	imes y_i

等價於

y_i = 1000 	imes z_i

把上式帶入原式有

y_i = 1000 	imes z_i = eta_0 + eta_1 x_i + eta_i

所以,在做完變換單位的數據處理之後,我們真正要回歸的是

z_i = alpha_0 + alpha_1 x_i + zeta_i

其中

alpha_0 = 0.001 	imes eta_0

alpha_1 = 0.001 	imes eta_1 = 0.002

zeta_i = 0.001 	imes eta_i

根據上面那一堆數據的變換 (z_i , , x_i), quad i = 1, ..., n 我們做回歸,我們會得到一個很接近0.002的 hat{alpha}_1 ,這時候我們就根據 hat{alpha}_1 approx 0 得出判斷,x對z沒有影響!

問題就在這裡,其實完全是等價的兩套數據,就因為數量級不同,不經過假設檢驗,我們會得出截然相反的兩種推論。

所以,不做假設檢驗,單單看估計值的數量級作出判斷是不靠譜的

而如果你做假設檢驗,比如t檢驗,只要數據相同 (z_i, y_i, x_i), quad i=1,...,n ,同一個檢驗做出來的顯著性結果是完全一致的。


推薦閱讀:
相關文章