panel ols with unbalanced data

8 views (last 30 days)
Alberto on 7 Sep 2016
Commented: Alberto on 29 Sep 2016
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?

Accepted Answer

Hang Qian
Hang Qian on 21 Sep 2016
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.
Hang Qian
Alberto on 29 Sep 2016
Following your advice I've balanced my data in the time series dimension with "NaN" for the dependent variable Y (the Xs have no missing data). But what I get is a message error inside the function MVREGRESS that the covariance matrix "is not positive-definite". Do you think it is due to the fact that the ratio NaN to real data is 75% to 25% in the Y matrix?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!