Linear Regression in Julia

Unfortunately, linreg() is deprecated and no longer exists in Julia v1.0. In case you are using Julia v1.0 or above, check out this post. In case you use a version of Julia that is older than 1.0, i.e 0.7, 0.6, etc., the following post will show you how to run a linear regression in Julia.

Julia presents various ways to carry out linear regressions. In this post I will present how to use the native function linreg() to run OLS on the following model

y = \alpha + \beta_{1} x_{1}

An alternative way to run a linear regression is to use the lm() function of the GLM package. In case you are interested in running a regression based on the GLM package, you can check out this post. It describes how to conduct a multiple regression in Julia and uses the lm() function provided by the GLM package.

In this example, our dependent variable y will be my weekly average weight, the explanatory variable x_{1} represents the sum of calories that I burned during the previous week. For a more detailed description of the data see here.

# load a couple of packages
using Distributions
using GLM
using DataFrames
using DataArrays
# load Taro - Pkg to read Excel Data
using Taro

# get data
path = ""
data = Taro.readxl(download(path), "data", "A1:C357")
data = deleterows!(data,find(isna(data[:,1])|isna(data[:,2])))
y = convert(DataArrays.DataArray{Float64,1},data[:,1])
x = convert(DataArrays.DataArray{Float64,1},data[:,2])


The function linreg() returns point estimates for \alpha and \beta_{1}. Unfortunately, the function does not return standard error for the point estimates. The function also does not allow to conduct multiple regressions. That is, the function does not allow additional explanatory variables. In order to obtain standard errors for the estimated coefficients or to add additional explanatory variables, one can use the lm() function form the GLM package. The GLM package of Julia does provide a more flexible environment. You can find a working example of how to conduct multiple regression in Julia using the GLM package here.


4 thoughts on “Linear Regression in Julia”

      1. Hi, thanks for your comment anyway. I double-checked and it should be linreg(y,x). That is, its dependent and then independet variable. Cheers, ad.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.