# 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
using Taro
Taro.init()

# get data
path = "https://economictheoryblog.files.wordpress.com/2016/08/data.xlsx"
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])

linreg(y,x)

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.

__ATA.cmd.push(function() {
__ATA.initDynamicSlot({
id: 'atatags-362087331-5e4abb1d2c002',
location: 120,
formFactor: '001',
label: {
},
creative: {
},
privacySettings: {
text: 'Privacy settings',
}
}
});
});



## 4 thoughts on “Linear Regression in Julia”

1. Tesfaye Kebede Belay says:

I think it should be linreg(x,y) instead of linreg(y,x)

1. Tesfaye Kebede Belay says:

I was wrong it should be linreg(y,x)