如何限制插值的最大缺失间隙

时间:2018-05-28 09:51:54

标签: interpolation stata

当插值或外推(使用ipolate有或没有epolate)缺失值时,是否可以提前限制要插补(或外推)的缺失间隙大小,或者计算差距大小?

我真正想要的是将最大连续插值(我的数据是每年)限制为三年。

1 个答案:

答案 0 :(得分:1)

你总是可以计算法术的长度,然后有条件地使用ipolate。在这里,我使用来自SSC的tsspell来计算人工引入的这些长度:

webuse grunfeld, clear 
set seed 2803 
replace invest = . if runiform() < 0.2 
tsset company year 
* need previous -ssc install tsspell- to run this 
tsspell , cond(missing(invest)) 
egen length = max(_seq), by(company _spell) 
tab length 
list company year invest if length >= 3, sepby(company _spell)

     +-------------------------+
     | company   year   invest |
     |-------------------------|
 13. |       1   1947        . |
 14. |       1   1948        . |
 15. |       1   1949        . |
     |-------------------------|
 41. |       3   1935        . |
 42. |       3   1936        . |
 43. |       3   1937        . |
     +-------------------------+

ipolate invest year if length <= 2, by(company) epolate