Skip to main content

No project description provided

Project description

Description

A simple linearmodels extension to run panel regressions with different specifications and export the results in a professional-looking latex table

Installation

pip install reg_tables

Sample Usage

from reg_tables import *

# Generate Random panel
N = 10**3
df = pd.DataFrame({
    'x1': np.random.randn(N),
    'x2': np.random.randn(N),
})
df['entity'] = np.random.randint(0,10,N)
df['time'  ] = np.random.randint(0,50,N)

# Generate the `y` variable 
df['y'     ] = 2 * df['x1'] - 0.5 * df['x2'] + np.random.randn(N)

# Generate the `y2`, with some fixed effects 
df['y2'    ] = df['y'] + (df['entity'] % 3)*10 + np.where(df['time']>10, -50, 0)

# Set the panel's double-index
df = df.set_index(['entity', 'time'])

# Define the baseline specification
baseline = Spec( df, 'y2', ['x1', 'x2'], double_cluster=True )

# The renaming dictionary
rename   = {
    'y2' : 'Salary',
    'x1' : 'Education',
    'x2' : 'Age',
}

# Create the model
model = Model(baseline, rename_dict=rename)

# Define some other regression specifications
model.add_spec(y='y2', entity_effects=True)
model.add_spec(y='y2', time_effects=True)
model.add_spec(y='y2', entity_effects=True, time_effects=True)

# Run all the specifications
res = model.run()
res

Classes and Methods

This package consists of two classes: Spec and Model.

Spec defines the regression specifications, including the panel dataset, the independent variable, and the independent variables. Optional arguments for this class include specifying whether the regressions should be performed with entity effects, time effects or both (entity_effects, time_effects or all_effects arguments respectively). Methods for Spec class include .run, which runs the regression and .rename – a method to rename variable according to the dictionary passed.

The Model class is a wrapper around the compare function of linearmodels. When creating Model, one has to specify the baseline regression specification, passed as a Spec object. Optional arguments include passing a rename_dict, according to which the variables are going to be renamed, as well as setting an all_effects Boolean variable, which will add the four versions of baseline Spec object with all possible combinations of entity and time effects to the model. The Model class has .rename, .add_spec and .remove_spec methods. The latter has a mandatory index argument and second optional index argument, which, if passed would work as a end point for slice. The .run method executes all Spec objects within Model and outputs them to a table. Optional argument coeff_decimals allows to specify the number of decimals for coefficient estimates and t-values, while latex_path allows to save the output table to a disk.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reg_tables-0.0.2.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

reg_tables-0.0.2-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file reg_tables-0.0.2.tar.gz.

File metadata

  • Download URL: reg_tables-0.0.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for reg_tables-0.0.2.tar.gz
Algorithm Hash digest
SHA256 ea47888f5367d3240675b37ac4e688d980590040bcfbd16277dca33dfbd5bea8
MD5 756338e051d211aa8dd53bc047935ac0
BLAKE2b-256 ebff8e22f16f14bfd4d64c6df99820744bb8bb3c7b3ab6fc93900f07134d3517

See more details on using hashes here.

File details

Details for the file reg_tables-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: reg_tables-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for reg_tables-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8c103f452ebc345c3e44e1c8f52d9d01e56fd8a36f3d9b64c27ac6083def3108
MD5 9fef9cd0d0476e7f16662241169282be
BLAKE2b-256 5ec173069bf646f0555ebbcff77c8298f1275c467e4f8a7126e80753e6ec3f15

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page