Skip to content

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

  • Core


    PanelData container, PanelResults base class, serialization, formula parsing.

    from panelbox.core import PanelData, PanelResults

  • Datasets


    Built-in example datasets for learning and testing.

    from panelbox.datasets import load_grunfeld, load_abdata

Linear Models

  • Static Models


    Pooled OLS, Fixed Effects, Random Effects, Between, First Difference.

    from panelbox.models.static import FixedEffects

  • IV


    Instrumental Variables / 2SLS for endogenous regressors.

    from panelbox.models.iv import PanelIV

Dynamic Models

  • GMM


    Arellano-Bond, Blundell-Bond, CUE-GMM, Bias-Corrected GMM.

    from panelbox.gmm import DifferenceGMM, SystemGMM

  • VAR


    Panel VAR, VECM, impulse responses, Granger causality, forecasting.

    from panelbox.var import PanelVAR, PanelVECM

Spatial Models

  • Spatial


    SAR, SEM, SDM, Dynamic Spatial, GNS with direct/indirect effects.

    from panelbox.models.spatial import SpatialLag, SpatialDurbin

Nonlinear Models

  • Discrete Choice


    Logit, Probit, FE Logit, Multinomial, Conditional, Ordered models.

    from panelbox.models.discrete import PooledLogit, MultinomialLogit

  • Count


    Poisson, Negative Binomial, PPML, Zero-Inflated models.

    from panelbox.models.count import PooledPoisson, PPML

  • Censored & Selection


    Tobit, Honore trimmed estimator, Heckman selection correction.

    from panelbox.models.censored import PooledTobit

  • Frontier


    Stochastic Frontier Analysis, Four-Component SFA, True FE/RE.

    from panelbox.frontier import StochasticFrontier

  • Quantile


    Pooled, FE, Canay, Location-Scale, Dynamic quantile regression.

    from panelbox.models.quantile import PooledQuantile

Inference & Diagnostics

  • Standard Errors


    Robust, clustered, Driscoll-Kraay, Newey-West, PCSE, Spatial HAC.

    from panelbox.standard_errors import robust_covariance, driscoll_kraay

  • Marginal Effects


    Average, at-mean, and at-representative marginal effects.

    from panelbox.marginal_effects import compute_ame

  • Validation


    Hausman, Mundlak, Wooldridge AR, Breusch-Pagan, Pesaran CD, unit roots.

    from panelbox.validation import HausmanTest, WooldridgeARTest

  • Diagnostics


    Unit root, cointegration, specification, spatial diagnostics.

    from panelbox.diagnostics.unit_root import hadri_test

Reporting & Workflow

  • Visualization


    28+ chart types with Plotly, professional/academic/presentation themes.

    from panelbox.visualization import ChartFactory

  • Report


    HTML, LaTeX, and Markdown export with interactive reports.

    from panelbox.report import ReportManager

  • Experiment


    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