API Reference¶
PanelBox provides 70+ models, 50+ diagnostic tests, and interactive HTML reports for panel data econometrics. This reference documents every public class, function, and result container.
Quick Navigation¶
| Module | Import Path | Key Classes |
|---|---|---|
| Core | panelbox.core |
PanelData, PanelResults, SerializableMixin |
| Static Models | panelbox.models.static |
PooledOLS, FixedEffects, RandomEffects, BetweenEstimator, FirstDifferenceEstimator |
| GMM | panelbox.gmm |
DifferenceGMM, SystemGMM, ContinuousUpdatedGMM, BiasCorrectedGMM |
| Spatial | panelbox.models.spatial |
SpatialLag, SpatialError, SpatialDurbin, DynamicSpatialPanel, GeneralNestingSpatial |
| Frontier | panelbox.frontier |
StochasticFrontier, FourComponentSFA, True FE/RE |
| Quantile | panelbox.models.quantile |
PooledQuantile, FixedEffectsQuantile, CanayTwoStep, LocationScale |
| VAR | panelbox.var |
PanelVAR, PanelVECM, PanelVARData |
| Discrete | panelbox.models.discrete |
PooledLogit, PooledProbit, FixedEffectsLogit, MultinomialLogit, OrderedLogit |
| Count | panelbox.models.count |
PooledPoisson, NegativeBinomial, PPML, ZeroInflatedPoisson |
| Censored & Selection | panelbox.models.censored, .selection |
PooledTobit, HonoreTrimmedEstimator, PanelHeckman |
| IV | panelbox.models.iv |
PanelIV |
| Standard Errors | panelbox.standard_errors |
RobustStandardErrors, ClusteredStandardErrors, DriscollKraayStandardErrors |
| Marginal Effects | panelbox.marginal_effects |
compute_ame, compute_mem, compute_mer |
| Validation | panelbox.validation |
HausmanTest, WooldridgeARTest, ModifiedWaldTest, PesaranCDTest |
| Diagnostics | panelbox.diagnostics |
hadri_test, breitung_test, kao_test, pedroni_test |
| Visualization | panelbox.visualization |
ChartFactory, ChartRegistry, themes |
| Report | panelbox.report |
ReportManager, HTMLExporter, LaTeXExporter |
| Experiment | panelbox.experiment |
PanelExperiment, result containers |
| Datasets | panelbox.datasets |
load_grunfeld, load_abdata, list_datasets |
Module Categories¶
Data & Infrastructure¶
Linear Models¶
-
Pooled OLS, Fixed Effects, Random Effects, Between, First Difference.
from panelbox.models.static import FixedEffects -
Instrumental Variables / 2SLS for endogenous regressors.
from panelbox.models.iv import PanelIV
Dynamic Models¶
Spatial Models¶
-
SAR, SEM, SDM, Dynamic Spatial, GNS with direct/indirect effects.
from panelbox.models.spatial import SpatialLag, SpatialDurbin
Nonlinear Models¶
-
Logit, Probit, FE Logit, Multinomial, Conditional, Ordered models.
from panelbox.models.discrete import PooledLogit, MultinomialLogit -
Poisson, Negative Binomial, PPML, Zero-Inflated models.
from panelbox.models.count import PooledPoisson, PPML -
Tobit, Honore trimmed estimator, Heckman selection correction.
from panelbox.models.censored import PooledTobit -
Stochastic Frontier Analysis, Four-Component SFA, True FE/RE.
from panelbox.frontier import StochasticFrontier -
Pooled, FE, Canay, Location-Scale, Dynamic quantile regression.
from panelbox.models.quantile import PooledQuantile
Inference & Diagnostics¶
-
Robust, clustered, Driscoll-Kraay, Newey-West, PCSE, Spatial HAC.
from panelbox.standard_errors import robust_covariance, driscoll_kraay -
Average, at-mean, and at-representative marginal effects.
from panelbox.marginal_effects import compute_ame -
Hausman, Mundlak, Wooldridge AR, Breusch-Pagan, Pesaran CD, unit roots.
from panelbox.validation import HausmanTest, WooldridgeARTest -
Unit root, cointegration, specification, spatial diagnostics.
from panelbox.diagnostics.unit_root import hadri_test
Reporting & Workflow¶
-
28+ chart types with Plotly, professional/academic/presentation themes.
from panelbox.visualization import ChartFactory -
HTML, LaTeX, and Markdown export with interactive reports.
from panelbox.report import ReportManager -
Factory-based model management with automated validation.
from panelbox import PanelExperiment
Common Patterns¶
Model Estimation¶
All model classes follow a consistent model.fit() pattern:
from panelbox import FixedEffects
# Create model
model = FixedEffects("y ~ x1 + x2", data, entity_col="firm", time_col="year")
# Fit with default standard errors
result = model.fit()
# Fit with robust standard errors
result = model.fit(cov_type="robust")
# Fit with clustered standard errors
result = model.fit(cov_type="clustered")
# View results
print(result.summary())
Result Objects¶
All estimation results inherit from PanelResults and share common attributes:
result.params # Coefficient estimates (pd.Series)
result.std_errors # Standard errors (pd.Series)
result.tstats # t-statistics (pd.Series)
result.pvalues # p-values (pd.Series)
result.conf_int() # Confidence intervals (pd.DataFrame)
result.rsquared # R-squared
result.nobs # Number of observations
result.summary() # Formatted summary table
Top-Level Imports¶
The most common classes are available directly from the panelbox namespace:
import panelbox as pb
# Core
pb.PanelData, pb.PanelResults
# Static models
pb.PooledOLS, pb.FixedEffects, pb.RandomEffects
# GMM
pb.DifferenceGMM, pb.SystemGMM
# Datasets
pb.load_grunfeld(), pb.load_abdata()
# Experiment
pb.PanelExperiment
Complete Workflow Example¶
import panelbox as pb
# Load data
data = pb.load_grunfeld()
# Estimate models
fe = pb.FixedEffects("invest ~ value + capital", data, "firm", "year")
re = pb.RandomEffects("invest ~ value + capital", data, "firm", "year")
fe_result = fe.fit(cov_type="robust")
re_result = re.fit()
# Hausman test: FE vs RE
from panelbox.validation import HausmanTest
hausman = HausmanTest()
h_result = hausman.run(fe_result, re_result)
print(h_result.summary())
# Generate report
experiment = pb.PanelExperiment(data, "invest ~ value + capital", "firm", "year")
experiment.fit_all_models(names=["fe", "re"])
experiment.save_master_report("panel_analysis.html")
See Also¶
- Getting Started Guide — Installation and first steps
- Tutorials — Step-by-step guides for each model family
- Theory — Econometric theory and derivations
- FAQ — Frequently asked questions