对于小样本而言,stata 报告 t 值,对应的 t-统计量服从 t 分布,可以通过查找 t 分布表得到对应的 p-value,由于是双尾检定,所以报告的是 p>|t|。
对于的样本而言(例如利用 MLE 或 GMM 分析时),会报告 z 值,它服从正态分布。
p 值小于 0.05 表示在 5% 水平上显著,小于 0.01 表明在 1% 水平上显著。
B1_OLS 部分对此进行了详细的介绍:
*---------------------
*-2.1.3 OLS 统计推断
*--------
*-2.1.3.1 回归系数的显著性
* b 是一个随机数 b = inv(X'X)X'y, 因为y是随机的
do B1_ols_gr3.do
do B1_ols_gr2.do // 实证样本与母体的关系
* H4: Var[ui|X] = sigma^2 // 同方差假设
* 结合 H3 可知, ui -- (0, sigma^2)
* Var = inv(X'X)sigma^2 // Var(Ax) = AVar(x)A'
* Var = inv(X'X)X'*sigma^2*X*inv(X'X) = inv(X'X)sigma^2
* 假设 ui -- i.i.d N(0, sigma^2) // 干扰项服从正态分布
* b -- N(b0, Var(b)) // 因为 b 是 y 的线性组合
* (bj - bj0)/s.e.(bj) -- t(n-k)
* H0: bj0 = 0
* bj/s.e.(bj) --- t(n-k)
* sigma^2 的估计值 --- s^2
local N = _N
local K = colsof(X)
mat e = y - X*b // 残差
mat s2 = (1/(`N'-`K'))*(e'*e)
* 系数的标准误 --- s.e.(bj)
mat Var_b = s2*inv(X'*X)
mat list Var_b
dis sqrt(0.06187781)
dis sqrt(6535.7483)
* 矩阵解析
mat se_b = cholesky(diag(vecdiag(Var_b)))
mat list se_b
reg consume income
* t 值的计算 t = 系数/标准误
use B1_consume, clear
regress consume income
dis %4.2f 0.6848014/0.2487525 // income 的 t 值
dis %4.2f 51.89511/80.84397 // 常数项 的 t 值
* 矩阵解析
mat b0 = diag(b)
mat list b0
mat inv_se_b = inv(se_b)
mat list inv_se_b
mat t = hadamard(b0, inv_se_b)
mat list t
mat t = vecdiag(t)
reg consume income
* p 值 * H0 : bj = 0 即,系数估计值是否显著不等于零
* 由于 t值 服从 t 分布,所以我们很容易计算其 p 值
help density functions
mat list t
local p_income = ttail(11-2, 2.75)*2 // 双尾
local p_cons = ttail(11-2, 0.64)*2
mat pvalue = (`p_income' \ `p_cons')
mat list pvalue
|