1

我正在对就业数据进行一些轻微的取消抑制,我偶然发现了 zoo 包中的 na.approx 方法。这些数据代表了政府总就业人数的百分比,我认为粗略的估计是看州和地方政府之间的变化趋势。他们应该加一。

        State % Local %
2001    na  na
2002    na  na
2003    na  na
2004    0.118147539 0.881852461
2005    0.114500321 0.885499679
2006    0.117247083 0.882752917
2007    0.116841331 0.883158669

我使用样条设置,它允许估计领先的 na

z <- zoo(DF2,1:7)    
d<-na.spline(z,na.rm=FALSE,maxgap=Inf)

这给出了输出:

State % Local %
0.262918013 0.737081987
0.182809891 0.817190109
0.137735231 0.862264769
0.118147539 0.881852461
0.114500321 0.885499679
0.117247083 0.882752917
0.116841331 0.883158669

很棒吧?令我惊讶的部分是,近似的 na 值总和为 1(这是我想要的,但出乎意料!)但 na.approx 的文档说它按列分别处理每一列。我错过了什么吗?我的钱花在了误读文档上

4

1 回答 1

2

我相信这只是线性最小二乘法的机会属性。由于级数之和等于一的约束,两个回归的斜率之和为零;并且截距总和为一。因此,任何时间点的两个回归的拟合值总和为 1。

编辑:多一点解释。
y1 = a + beta * t + epsilon
y2 = 1-y1 = (1-a) + (- beta) * t - epsilon
因此,运行 OLS 将使截距总和为 1,斜率为零。

于 2011-02-06T21:28:02.840 回答