# Category Archives: Econometrics

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

# Linear Regression in R

R presents various ways to carry out linear regressions. The most natural way is to use the lm() function, the R build-in OLS estimator. In this post I will present you how to use lm() and run OLS on the following model

$y = \alpha + \beta_{1} x_{1} + \beta_{2} x_{2} + \beta_{3} x_{3}$

# 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