Category Archives: Econometrics

Seasonal adjustment

What is seasonal adjustment?

Seasonal adjustment refers to a statistical technique that tries to quantify and remove the influences of predictable seasonal patterns to reveal nonseasonal changes in data that would otherwise be overshadowed by the seasonal differences. Seasonal adjustments provide a Continue reading Seasonal adjustment

Clustered Standard Errors in R

The easiest way to compute clustered standard errors in R is the modified summary(). I added an additional parameter, called cluster, to the conventional  summary() function. This parameter allows to specify a variable that defines the group / cluster in your data. The summary output will return clustered standard errors. Here is the syntax:

summary(lm.object, cluster=c("variable")) Continue reading Clustered Standard Errors in R

Example data – Clustered Standard Errors

The following R script creates an example dataset to illustrate the application of clustered standard errors. You can download the dataset here.

The script creates a dataset with a specific number of student test results. Individual students are identified via the variable student_id . The variable id_score comprises a student’s test score. In the test, students can score from 1 to 10 with 10 being the highest score possible. Continue reading Example data – Clustered Standard Errors

Clustered Standard Errors

Clustered standard errors are a way to obtain unbiased standard errors of OLS coefficients under a specific kind of heteroscedasticity. Recall that the presence of heteroscedasticity violates the Gauss Markov assumptions that are necessary to render OLS the best linear unbiased estimator (BLUE).

The estimation of clustered standard errors is justified if there are several different covariance structures within your data sample that vary by a certain characteristic – a “cluster”. Furthermore, the covariance structures must be homoskedastic within each cluster. In this case clustered standard errors provide unbiased standard errors estimates. Continue reading Clustered Standard Errors

Robust Standard Errors in R

One can calculate robust standard errors in R in various ways. However, one can easily reach its limit when calculating robust standard errors in R, especially when you are new in R. It always bordered me that you can calculate robust standard errors so easily in STATA, but you needed ten lines of code to compute robust standard errors in R. I decided to solve the problem myself and modified the summary() function in R so that it replicates the simple way of STATA. I added the parameter robust to the summary() function that calculates robust standard errors if one sets the parameter to true. With the new summary() function you can get robust standard errors in your usual summary() output. All you need to do is to set the robust parameter to true:

summary(lm.object, robust=T) Continue reading Robust Standard Errors in R

Robust Standard Errors in R – Function

One can calculate robust standard errors easily in STATA. However, one can easily reach its limit when calculating robust standard errors in R. Although there exist several possibilities to calculate heteroscedasticity consistent standard errors most of them are not easy to implement, especially for beginners. I modified the summary() function in R so that it replicates the simple way of STATA. You can find the new summary() function below. Furthermore, I uploaded the function to a github.com repository. This makes it easy to load the function into your R session. In order to see how you can import the new summary() function into your R session and how you can use it see this post here. Continue reading Robust Standard Errors in R – Function

Violation of CLRM – Assumption 4.2: Consequences of Heteroscedasticity

Violating assumption 4.2, i.e. \sigma_{i}^{2} \neq \sigma_{j}^{2} \text{ for } i \neq j leads to heteroscedasticity. Recall, under heteroscedasticity the OLS estimator still delivers unbiased and consistent coefficient estimates, but the estimator will be biased for standard errors. Increasing the number of observations will not solve the problem in this case.

Fortunately, several ways exist to deal with heteroscedasticity: Continue reading Violation of CLRM – Assumption 4.2: Consequences of Heteroscedasticity

Construct the OLS estimator as a function in R

This post shows how to manually construct the OLS estimator in R (see this post for the exact mathematical derivation of the OLS estimator). In contrary to a previous post, this post focuses on setting up the OLS estimator as a R function. While the aim of the former post was much more on the construction of the OLS estimator in general, is this post all about constructing a functional form around the estimator. Continue reading Construct the OLS estimator as a function in R