# Test for Poolability of Individual Data Series

How do i test/verify if i can analyze my panel like dataset by simply pooling the individual series?

I have a dataset structured as a panel. Now I am wondering if i can simply pool the individual series and estimate it via OLS or if I have to use another estimation technique.

(Any R hints and references are highly welcomed.)

Thanks!

You can fit a hierarchical bayesian (HB) model without pooling and do an ordinary OLS by pooling the data and compare the models in terms of model fit, hold-out predictions etc to evaluate whether pooling outperforms the HB model. The model very briefly will look like so:

Model

$y_i \sim N(X\ \beta_i,\sigma^2\ I)$

$\beta_i \sim N(\bar{\beta},\Sigma)$

Priors

$\bar{\beta} \sim N(\bar{\bar{\beta}},\Sigma_0)$

$\Sigma \sim IW(R,d)$

$\sigma^2 \sim IG(sp,sc)$

While I do not use R, I do know that there are packages that will do the above for you. Someone more knowledgeable about R can perhaps help you out.

Srikant is right. The book you want is "Data Analysis Using Regression and Multilevel/Hierarchical Models" by Gelman and Hill, all the R code from the book, and the associated arm package in R.

• that book looks pretty nice! i just installed the 'arm' package, too. thanks shane! – user283 Aug 18 '10 at 13:52
• @mropa: That is my favorite statistics text: enjoy it! – Shane Aug 18 '10 at 13:54

The only further comment I would make is that the approach need not be Bayesian and the model need not be a mixed or random effects model.

In the simplest case if you had two series in x the mean model may be:

y = b01 + I*b02 + b11*x + I.b12*x

Where I indicates a sample from the 2nd series. An omnibus F-test can be used to determine whether the additional parameters are required to maintain distinct series (Ho: b02 = b12 = 0). http://en.wikipedia.org/wiki/F_test This can be extended to more series, but it soon becomes more efficient to use a mixed or random effects model.

The plm package provides a a function for the poolability test in just three steps:

# 1. Run a normal OLS model with fixed effects (model="within")
plm_model<- plm(y ~ x, data= dataset, model= "within"

# 2. Run a variable coefficients model with fixed effects (model="within")
pvcm_model<- pvcm(y ~ x, data= dataset, model= "within"

# Run the poolability test
pooltest(plm_model, pvcm_model)


The null hypothesis is that the dataset is poolable (i.e. individuals have the same slope coefficients), so if p<0.05 you reject the null and you need a variable coefficients model.