面板数据缺失填补-stata实现线性插值法过程

目录

一、原始数据说明:

二、代码及过程解释

1.设定面板数据

2.内插法填补数据

3.外插法填补数据

三、注意事项


线性插值是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为零。线性插值相比其他插值方式,如抛物线插值,具有简单、方便的特点。线性插值的几何意义即为概述图中利用过A点和B点的直线来近似表示原函数。线性插值可以用来近似代替原函数,也可以用来计算得到查表过程中表中没有的数值。

一、原始数据说明:

原始数据为面板数据,且存在缺失。

二、代码及过程解释

主要命令:ipolate和epolate

其中,ipolate 表示内插法;epolate 表示外推法,适用于两端缺失数据

1.设定面板数据

原始数据必须为面板数据,

命令:xtset id year

2.内插法填补数据

命令:by id: ipolate XXX year,gen(YYY)  

说明:以id进行分组,对名为XXX的变量进行填补,ipolate表示内插法,对连续年份中间年数据缺失的情况进行填补,YYY为产生的填补后的新的一列,输入命令后,可以查看数据,对比补齐前后差异

3.外插法填补数据

命令:by id: ipolateXXX year,gen(YYY1) epolate

加上epolate即可表示外推,对连续年份中间年、两头年数据缺失的情况均可以进行补全

也可以用SUM命令对比查看填补前后数据的差异

三、注意事项

1.线性插值、多重插值法都和真实数据存在一定误差;数据缺失多的情况下用插值法会存在较大偏误;

2.原始数据需为面板数据,且命令为英文字符,包括标点在内,否则命令会报错;

3.缺失的数据必须为空白,在stata数据编辑界面显示为“.”,用0表示的话无法进行填补;

注:学习中的一些体会,若有不正确的地方请批评指正,共同学习交流进步

你可能感兴趣的:(数据,算法,经验分享)