Viết 1 function
Mô hình hồi quy bội có dạng: Y=β1+β2X2+β3X3+..+βkXk+u
Kiểm định Durbin - Watson
Trong Eviews mỗi khi chạy hồi quy thì mặc định xuất hiện giá trị của Durbin-Watson Test – một kiểm định thường dùng đến khi đánh giá hiện tượng tự tương quan (Autocorrelation) – một vấn đề về lỗi mô hình rất phổ biến với chuỗi dữ liệu thời gian với cặp giả thuyết sau:
H0: Phần dư của mô hình không có tự tương quan
H1: Phần dư của mô hình có tự tương quan
Nếu cần thiết, trong R cũng có thể thực hiện kiểm định này với gói lmtest
linear_regression <- function(data, x_col, y_col) {
library(lmtest)
library(fBasics)
# Chạy hồi quy tuyến tính
lm_model <- lm(formula = paste(y_col, "~", x_col), data = data)
# Trả về mô hình hồi quy tuyến tính
print(summary(lm_model))
# Lấy ra phần dư
phandu <- lm_model$residuals
# Phân phối của phần dư
hist(phandu)
# Kiểm định phân phối chuẩn cho phần dư
jarqueberaTest(phandu)
# Kiểm định phương sai thay đổi
}
library(palmerpenguins)
penguins <- na.omit(penguins)
linear_regression(penguins,'flipper_length_mm','body_mass_g')
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Call:
## lm(formula = paste(y_col, "~", x_col), data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1057.33 -259.79 -12.24 242.97 1293.89
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5872.09 310.29 -18.93 <2e-16 ***
## flipper_length_mm 50.15 1.54 32.56 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 393.3 on 331 degrees of freedom
## Multiple R-squared: 0.7621, Adjusted R-squared: 0.7614
## F-statistic: 1060 on 1 and 331 DF, p-value: < 2.2e-16
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 5.8759
## P VALUE:
## Asymptotic p Value: 0.05297