---
title: "Regression-model"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Regression-model}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

```{r setup, echo=FALSE, message=FALSE}
library(AFR)
library(olsrr)
library(stats)
```

## Introduction

As regressors are chosen for a linear regression model, **AFR** package recommends to check for:

### 1. Optimal size of the time-series data

Function *opt_size* assess whether time-series data has enough observations for the chosen model.

```{r, echo=TRUE}
model<-lm(real_gdp~imp+exp+usdkzt+eurkzt, macroKZ)
opt_size(model)
```

Based on the output of the function, modify the model, i.e. remove or add regressor(s).

### 2. Choose the best regression model

From the initially built linear regression model *regsel_f* function allows to choose the best regressors by Akaike Information criterion (*AIC*) and Adjusted R-squared (*Adj R2*) parameters. These parameters are set by default, but other parameters can be added too. 

To dive into details, *check_betas* function demonstrates all models with regressors' betas based on which *regsel_f* function gives the result. A user can export the output of all models into Excel document for more representative format by using function *write_xlsx* of *writexl* package.

```{r, results="hide"}
check_betas(model)
```


### 3. Analysis of the model

As *regsel_f* gave the best regression model, it can be analysed by diagnostic tests for the compliance with Gauss-Markov theorem for a multiple regression model.

Graphically, the regression model can be visualized for decomposition and forecasting. Function *dec_plot* demonstrates a contribution of each regressor in a form of stacked bar plot.

```{r, results="hide"}
dec_plot(model, macroKZ)
```

Function *reg_plot* shows actual and forecast data. Forecasting can be performed by Arima or trending.

```{r, results="hide"}
reg_plot(model, macroKZ)
```

