MATLAB: Panel ols with unbalanced data

Econometrics Toolboxpanel regressions

I'm able to run an ols panel regression with balanced data, that is for every cross section j I have the same number of observations t in the time dimension. My problem is that now cross section j=1 has a different number of observation in the time dimension than cross section j=2. How can I write a general code using mvregress in order resolve this problem?

Best Answer

Hi Alberto,
For an unbalanced panel data set, one may consider padding NaNs in the response variables for those cross-sections with fewer observations in the time dimension. For example, at j=1 there are 2 observations, at j=2 there is only one observation. By artificially creating a second equation with fake regressors but NaN in the response variable at j=2, an unbalance panel becomes a balanced one. MVREGRESS uses Expectation-Maximization (EM) to maximize the log likelihood function. The EM algorithm is friendly to missing values. I think RVREGRESS will work as usual in the presence of NaNs.
Regards,
Hang Qian
Related Question