Lesson 12
Log Transformations and Variance Stabilization
Big question
When can logging a positive outcome make error spread easier to model?
Lesson progress
Complete checkpoints as you learn
Learning objectives
- Explain log transformations and variance stabilization in plain language.
- Use breusch-pagan test correctly in an interpretation.
- Connect the lesson idea to a formula, graph, Python result, or real example.
Simple explanation
Heteroskedasticity is about changing uncertainty. In log transformations and variance stabilization, students focus on level versus log residual spread and learn how to describe that pattern without confusing it with coefficient bias.
Key terms
- Breusch-Pagan test
- A diagnostic test that regresses squared residuals on variables thought to explain error variance.
- Weighted least squares
- A least-squares method that gives lower weight to observations with higher error variance.
- Heteroskedasticity
- A pattern where the conditional variance of the error changes with regressors or groups.
Core formula
Use plain-language interpretation before algebra.
Example
MODULE8_HOUSING_VARIANCE_SYNTHETIC supports original Ceteris Lab practice for log transformations and variance stabilization. Synthetic files are clearly labeled as synthetic, and installed course datasets are used only when the file is present.
Interactive visual
VarianceTransformationExplorer: adjust the controls, classify the diagnostic evidence, and write one sentence explaining the implication for inference.
Original Module 8 visual for Log Transformations and Variance Stabilization.
y variable
wage
The dependent variable. It is the outcome students want to explain.
x variable
education
The explanatory variable. It is used to describe changes in wage.
Live Python
Log Transformations and Variance Stabilization Python example
Log Transformations and Variance Stabilization Python example
Stdout
Run Python to see results here.
Status / stderr
Ready to run Python in your browser.
Line-by-line guide
- Line 1Load a Python library needed for data work or regression.
- Line 2Load a Python library needed for data work or regression.
- Line 3Load a Python library needed for data work or regression.
- Line 5Load the dataset into a pandas DataFrame.
- Line 6Add an intercept column to the regression design matrix.
- Line 7Add an intercept column to the regression design matrix.
- Line 8Create or update a Python object used in the analysis.
- Line 9Create or update a Python object used in the analysis.
- Line 10Run this Python instruction as part of the lesson workflow.
- Line 11Run this Python instruction as part of the lesson workflow.
- Line 12Run this Python instruction as part of the lesson workflow.
- Line 13Display a result so students can inspect the output.
- Line 14Display a result so students can inspect the output.
Python walkthrough
- 1Load the Python packages needed for data, regression, diagnostics, or plotting.
- 2Read an installed Ceteris Lab dataset from a browser-safe public path.
- 3Estimate the baseline model before changing the covariance method or weights.
- 4Print diagnostic evidence or a coefficient comparison so students can inspect the result.
- 5Interpret the output as practice evidence and avoid making real empirical claims from synthetic data.
Live notebook
Run this lesson as a notebook
Open an editable notebook cell-by-cell, run Python in the browser, and download the `.ipynb` file for later.
Related dataset
MODULE8_HOUSING_VARIANCE_SYNTHETIC
Estimated time
25 to 40 min
Packages
pandas, numpy, statsmodels, patsy
Expected output
Printed Python results that can be compared with the lesson explanation.
Learning goals
- Load and inspect MODULE8_HOUSING_VARIANCE_SYNTHETIC.
- Run the Python cells connected to The White Test.
- Interpret the output using heteroskedasticity and robust standard errors.
Common errors
- File not found: check that module8_housing_variance_synthetic.csv is installed or use the course data folder.
- Package import error: use the browser notebook first, then download for local Jupyter if your local packages differ.
- Column name error: compare your variable names with the dataset variables listed for this notebook.
Dataset path helper
import pandas as pd
df = pd.read_csv("/data/module-8/module8_housing_variance_synthetic.csv")
df.head()Interactive activity
Variance Transformation Explorer
Log Transformations and Variance Stabilization
change the inputs, inspect the feedback, and decide whether robust inference, diagnostics, WLS, or reporting caution is needed.
Inputs
Visual preview
Changing variance across fitted values
A wider fan means the uncertainty changes across observations. Robust standard errors adjust inference; WLS needs a defensible variance model.
Try it yourself
Write one plain-English sentence explaining the main idea from this lesson.
Common mistakes
Check these before you move on.
A regression coefficient describes a pattern unless the assumptions or research design support a causal interpretation.
Quick quiz
What should a careful Module 8 report include for Log Transformations and Variance Stabilization?
Quick quiz
What should a careful Module 8 report include for Log Transformations and Variance Stabilization?
Quick quiz
Why is SMOKE a reasonable practice dataset here?
Key takeaway
Log Transformations and Variance Stabilization helps students diagnose changing variance and choose inference or weighting methods without overclaiming what those methods can fix.