我举个简单的例子,你琢磨一下。问题的根源不在 two-tier SFA 模型,而在于对分位数的理解上。
. clear
. set obs 10
. set seed 12345
. gen x1 = int(runiform()*100)
. gen x2 = int(runiform()*100)
. gen d = x1 - x2
. tabstat x1 x2 d, stat(mean p25 p50 p75) format(%3.0f) c(s)
*-表1:基本统计量
variable | mean p25 p50 p75
-------------+----------------------------------------
x1 | 46 31 46 67
x2 | 63 44 77 83
d | -17 -41 -25 4
------------------------------------------------------
.
. sort x1
. list, sep(0) noobs
*-表2:原始数据
+---------------+
| x1 x2 d |
|---------------|
| 12 8 4 |
| 30 71 -41 |
| 31 83 -52 |
| 36 75 -39 |
| 41 91 -50 |
| 50 89 -39 |
| 56 15 41 |
| 67 44 23 |
| 68 79 -11 |
| 72 79 -7 |
+---------------+
在这个例子中,变量 x1 的 p25 是 31,而 x2 的 p25 则是 44,二者之差(变量 d)的 p25 则为 -41。我在表 2 中用红色标记了一下,你会发现,这三个数字并不在同一行,因此也就不存在必然的一一对应关系。
简言之,计算分位数时,是以变量自身所包含的观察值的相对大小为依据的。
如果还有问题,我们再行讨论。