You are on page 1of 32

Đề bài

DESCRIPTION
One of the leading retail stores in the US, Walmart, would like to predict the sales and
demand accurately. There are certain events and holidays which impact sales on each day.
There are sales data available for 45 stores of Walmart. The business is facing a challenge
due to unforeseen demands and runs out of stock some times, due to the inappropriate
machine learning algorithm. An ideal ML algorithm will predict demand accurately and
ingest factors like economic conditions including CPI, Unemployment Index, etc.
Walmart runs several promotional markdown events throughout the year. These
markdowns precede prominent holidays, the four largest of all, which are the Super Bowl,
Labour Day, Thanksgiving, and Christmas. The weeks including these holidays are
weighted five times higher in the evaluation than non-holiday weeks. Part of the challenge
presented by this competition is modeling the effects of markdowns on these holiday weeks
in the absence of complete/ideal historical data. Historical sales data for 45 Walmart stores
located in different regions are available.
Historical sales data for 45 Walmart stores located in different regions are available. There
are certain events and holidays which impact sales on each day. The business is facing a
challenge due to unforeseen demands and runs out of stock some times, due to
inappropriate machine learning algorithm. Walmart would like to predict the sales and
demand accurately. An ideal ML algorithm will predict demand accurately and ingest
factors like economic conditions including CPI, Unemployment Index, etc. The objective
is to determine the factors affecting the sales and to analyze the impact of markdowns
around holidays on the sales.
(Dữ liệu lấy từ: https://www.kaggle.com/datasets/rutuspatel/retail-analysis-with-walmart-
sales-data)

Các biến chính trong bộ dữ liệu:

1. Y – Doanh số bán hàng trong tuần.

2. X1 – Các tuần có ngày lễ đặc biệt (1: Nếu trong tuần đó có ngày lễ đặc biệt; 0: Nếu
trong tuần đó không có ngày lễ đặc biệt).

3. X2 – Nhiệt độ trung bình trong tuần.

4. X3 – Giá nhiên liệu (xăng, dầu) trong khu vực.


5. X4 – Chỉ số giá tiêu dùng CPI (Consumer Price Index).

6. X5 – Tỷ lệ thất nghiệp.

Yêu cầu

1. Đọc dữ liệu (Import data): WALMART_SALES_DATA_STORE1.csv

2. Làm sạch dữ liệu (Data cleaning): NA (dữ liệu khuyết)

3. Làm rõ dữ liệu (Data visualization): Thống kê mô tả dùng thống kê mẫu và dùng đồ


thị.

4. Mô hình hồi quy tuyến tính: Xây dựng một mô hình hồi quy tuyến tính phù hợp để
đánh giá các nhân tố tác động đến doanh số bán hàng của cửa hàng Walmart trong
bộ dữ liệu trên.

5. Thực hiện dự báo cho doanh số bán hàng ở cửa hàng Walmart trên, tiến hành so
sánh với giá trị thực tế.

1. Cơ sở lí thuyết mô hình hồi quy tuyến tính bội

Trong thực tế, mô hình hồi quy tuyến tính bội được sử dụng khá rộng rãi vì đối với nhiều
trường hợp nó giúp giải thích về hành vi của biến phụ thuộc (biến được giải thích) 𝑌 tốt và
đầy đủ hơn so với mô hình hồi quy tuyến tính đơn.

1.1 Phương trình hồi quy tuyến tính bội

Mô hình hồi quy trong đó: biến phụ thuộc Y có liên hệ với k biến độc lập 𝑥1 , 𝑥2 , … , 𝑥𝑘 có
dạng như sau:

Hàm hồi quy tổng thể (PRF): 𝐸(𝑌|𝑥1 , 𝑥2 , … , 𝑥𝑘 ) = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + ⋯ + 𝛽𝑘 𝑥𝑘

Mô hình hồi quy tổng thể (PRM): 𝑌 = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + ⋯ + 𝛽𝑘 𝑥𝑘 + 𝜖

Ta biết rằng dù mô hình có nhiều biến độc lập nhưng vẫn tồn tại những yếu tố tác động đến
biến phụ thuộc mà không được đưa vào mô hình vì nhiều lí do (không có số liệu hoặc
không muốn đưa vào). Do đó mô hình vẫn tồn tại sai số ngẫu nhiên 𝜖 đại diện cho các yếu
tố khác ngoài các biến 𝑥𝑗 (𝑗 = 1,2, … 𝑘) có tác động đến Y nhưng không là biến số.

Xét một mẫu ngẫu nhiên với 𝑛 quan sát cụ thể, ta có hồi quy mẫu như sau:

̂𝑖 = 𝛽̂0 + 𝛽̂1 𝑥1 + 𝛽̂2 𝑥2 + ⋯ + 𝛽̂𝑘 𝑥𝑘 + 𝜖𝑖


𝑌

̂𝑖
Với 𝜖𝑖 là phần dư tại quan sát 𝑖, được tính bởi công thức sau: 𝜖𝑖 = 𝑌𝑖 − 𝑌

1.2 Ý nghĩa các hệ số hồi quy

Xuất phát từ hàm hồi quy tổng thể:

𝐸(𝑌|𝑥1 , 𝑥2 , … , 𝑥𝑘 ) = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + ⋯ + 𝛽𝑘 𝑥𝑘

‐ Tham số 𝛽0 được gọi là hệ số chặn (intercept) của mặt phẳng, nghĩa là 𝛽0 là giá trị
của 𝑌 khi 𝑥1 = 𝑥2 = ⋯ = 𝑥𝑘 = 0.
‐ Các tham số 𝛽𝑗 (𝑗 = 1,2, … 𝑘) được gọi là hệ số hồi quy riêng, thể hiện sự thay đổi
của 𝑌 theo mỗi đơn vị của 𝑥𝑗 khi các biến còn lại giữ nguyên. Cụ thể, khi 𝑥𝑗 tăng hay giảm
1 đơn vị, trong điều kiện các biến độc lập khác không đổi, thì 𝑌 trung bình sẽ thay đổi 𝛽𝑗
đơn vị.
Có 3 khả năng có thể xảy ra với hệ số 𝛽𝑗 :
• 𝛽𝑗 > 0: khi đó mối quan hệ giữa 𝑌 và 𝑥𝑗 là thuận chiều, nghĩa là khi 𝑥𝑗 tăng (hay
giảm) trong điều kiện các biến độc lập khác không thay đổi thì 𝑌 cũng tăng (hoặc giảm).
• 𝛽𝑗 < 0: khi đó mối quan hệ giữa 𝑌 và 𝑥𝑗 là nghịch chiều, nghĩa là khi 𝑥𝑗 tăng (hay
giảm) trong điều kiện các biến độc lập khác không thay đổi thì 𝑌 sẽ giảm (hoặc tăng).
• 𝛽𝑗 = 0: có thể cho rằng giữa 𝑌 và 𝑥𝑗 không có tương quan với nhau, cụ thể là 𝑌
không phụ thuộc vào 𝑥𝑗 , hay nói cách khác 𝑥𝑗 không ảnh hưởng đến 𝑌.
‐ 𝜖 là phần sai lệch giữa giá trị của 𝑌 trong phương trình và giá trị thực tế của 𝑌. Thực
chất, mô hình này thường chỉ dự đoán tốt kỳ vọng của 𝑌 chứ không phải giá trị của 𝑌 trong
thực tế, hay nói cách khác 𝐸(𝑌|𝑥𝑖 theo các 𝑖) = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + ⋯ + 𝛽𝑘 𝑥𝑘 , còn 𝜖 là
một biến ngẫu nhiên có kỳ vọng là 0 và phương sai 𝜎 2 .
‐ Mô hình hồi quy tuyến tính bội cũng thường được dùng để xấp xỉ giá trị của hàm
số. Nghĩa là, mối quan hệ chính xác giữa biến 𝑌 và 𝑥1 , 𝑥2 , 𝑥3 , …là chưa biết, nhưng trên
những khoảng xác định của các biến độc lập (biến hồi quy), giá trị của mô hình hồi quy
tuyến tính là phù hợp.
1.3 Xác định giá trị của các tham số trong mô hình hồi quy tuyến tính bội

Có nhiều cách để xác định giá trị của các tham số, tuy nhiên, trong số đó, phương pháp
bình phương cực tiểu (phương pháp OLS) là phương pháp thường được sử dụng nhất.

Xét mô hình 𝑘 biến:

𝑌 = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + ⋯ + 𝛽𝑘 𝑥𝑘 + 𝜖

Giả sử, có 𝑛 quan sát và 𝑘 biến hồi quy thỏa mãn 𝑛 > 𝑘, đặt 𝑥𝑖𝑗 là quan sát thứ 𝑖. Số quan
sát là:

(𝑥𝑖1 , 𝑥𝑖2 , … , 𝑥𝑖𝑘 , 𝑦𝑖 ) với 𝑖 = 1,2, … 𝑛 (𝑛 > 𝑘)

Ta sẽ sử dụng thông tin từ mẫu để xây dựng các ước lượng cho các hệ số 𝛽𝑗 (𝑗 = 0,1,2 … 𝑘),
ký hiệu là 𝛽̂𝑗 (𝑗 = 0,1,2 … 𝑘).

Tại mỗi quan sát 𝑖, hàm hồi quy mẫu được viết thành:

𝑘
̂𝑖 = 𝛽̂0 + 𝛽̂1 𝑥𝑖1 + 𝛽̂2 𝑥𝑖2 + ⋯ + 𝛽̂𝑘 𝑥𝑖𝑘 + 𝜖𝑖 = 𝛽̂0 + ∑ 𝛽̂𝑗 𝑥𝑖𝑗 + 𝜖𝑗
𝑌
𝑗=1

̂𝑖 là giá trị ước lượng cho 𝑌𝑖 và sai lệch giữa hai giá trị này là phần dư:
Trong đó, 𝑌

̂𝑖
𝜖𝑖 = 𝑌𝑖 − 𝑌

Tương tự như mô hình hồi quy hai biến, phương pháp bình phương cực tiểu nhằm xác
định các giá trị 𝛽̂𝑗 sao cho tổng bình phương các phần dư là nhỏ nhất:

2
𝑛 𝑛 𝑛 𝑘
̂𝑖 )2 = ∑ (𝑦𝑖 − 𝛽0 − ∑ 𝛽𝑗 𝑥𝑖𝑗 ) → 𝑀𝑖𝑛
𝐿 = ∑(𝜖𝑖 )2 = ∑(𝑌𝑖 − 𝑌
𝑖=1 𝑖=1 𝑖=1 𝑗=1
Khi đó, các giá trị 𝛽̂0 , 𝛽̂1 , … , 𝛽̂𝑘 sẽ là nghiệm của hệ gồm 𝑘 phương trình sau:

𝑛 𝑘
𝜕𝐿
= −2 ∑ (𝑦𝑖 − 𝛽̂0 − ∑ 𝛽̂𝑗 𝑥𝑖𝑗 ) = 0
𝜕𝛽̂0
𝑖=1 𝑗=1
𝑛 𝑘
𝜕𝐿
= −2 ∑ 𝑥𝑖1 (𝑦𝑖 − 𝛽̂0 − ∑ 𝛽̂𝑗 𝑥𝑖𝑗 ) = 0
̂
𝜕𝛽1 𝑖=1 𝑗=1
…………..……
𝑛 𝑘
𝜕𝐿
= −2 ∑ 𝑥𝑖𝑘 (𝑦𝑖 − 𝛽̂0 − ∑ 𝛽̂𝑗 𝑥𝑖𝑗 ) = 0
𝜕𝛽̂𝑘
{ 𝑖=1 𝑗=1

Đơn giản hệ phương trình, ta được:


𝑛 𝑛 𝑛 𝑛

𝑛𝛽̂0 + 𝛽̂1 ∑ 𝑥𝑖1 + 𝛽̂2 ∑ 𝑥𝑖2 + ⋯ + 𝛽̂𝑘 ∑ 𝑥𝑖𝑘 = ∑ 𝑦𝑖


𝑖=1 𝑖=1 𝑖=1 𝑖=1

𝑛 𝑛 𝑛 𝑛 𝑛

𝛽̂0 ∑ 𝑥𝑖1 + 𝛽̂1 ∑ 𝑥 2𝑖1 + 𝛽̂2 ∑ 𝑥𝑖1 𝑥𝑖2 + ⋯ + 𝛽̂𝑘 ∑ 𝑥𝑖1 𝑥𝑖𝑘 = ∑ 𝑥𝑖1 𝑦𝑖
𝑖=1 𝑖=1 𝑖=1 𝑖=1 𝑖=1

……………………………………………………………………………
𝑛 𝑛 𝑛 𝑛 𝑛

𝛽̂0 ∑ 𝑥𝑖𝑘 + 𝛽̂1 ∑ 𝑥𝑖𝑘 𝑥𝑖1 + 𝛽̂2 ∑ 𝑥𝑖𝑘 𝑥𝑖2 + ⋯ + 𝛽̂𝑘 ∑ 𝑥 2𝑖𝑘 = ∑ 𝑥𝑖𝑘 𝑦𝑖
𝑖=1 𝑖=1 𝑖=1 𝑖=1 𝑖=1

Vậy giải hệ phương trình tuyến tính này , ta sẽ thu được giá trị của 𝛽̂0 , 𝛽̂1 , … , 𝛽̂𝑘 . Từ kết
quả ước lượng từ phương pháp OLS, ta có thể khai thác các thông tin để đánh giá tác động
của biến độc lập đối với sự thay đổi của biến phụ thuộc thông qua ý nghĩa các hệ số hồi
quy.

1.4 Kiểm định giả thiết thống kê trong mô hình hồi quy tuyến tính bội

Bài kiểm định cho ý nghĩa của mô hình hồi quy là một bài kiểm định nhằm xác định
xem có hay không một mối quan hệ tuyến tính tồn tại giữa biến 𝑌 và một nhóm biến hồi
quy 𝑥1 , 𝑥2 , 𝑥3 , …. Khi đó giả thiết thống kê hợp lí là:
𝐻0 : 𝛽0 = 𝛽1 = 𝛽2 = ⋯ = 𝛽𝑘 = 0 𝐻1 : 𝛽𝑗 ≠ 0 với ít nhất một 𝑗 (5)

Bác bỏ 𝐻0 đồng nghĩa với việc ta chấp nhận có ít nhất một trong các biến hồi quy
𝑥1 , 𝑥2 , 𝑥3 , ….có ảnh hưởng đáng kể đến mô hình.

Có thể đánh giá điều đó qua hệ số xác định bội. Ký hiệu R2 được sử dụng cho hệ số xác
định của hàm hồi quy bội (hệ số xác định bội) như là một ký hiệu chung cho các hàm hồi
quy với số biến bất kỳ. Ta có:

- 𝑇𝑆𝑆 = ∑𝑛𝑖=1 𝑦𝑖2 (Total Sum of Squares): tổng bình phương các biến phụ thuộc.

- 𝐸𝑆𝑆 = ∑𝑛𝑖=1 𝑦̂𝑖2 (Explained Sum of Squares): tổng bình phương biến phụ thuộc
theo mô hình.

- 𝑅𝑆𝑆 = ∑𝑛𝑖=1 𝜖𝑖2 (Residual Sum of Squares): tổng bình phương phần dư.

Tương tự như mô hình hồi quy hai biến, ta dễ dàng chứng minh được khi mô hình có

chứa hệ số chặn thì:

𝑇𝑆𝑆 = 𝑅𝑆𝑆 + 𝐸𝑆𝑆

Khi đó hệ số xác định bội của mô hình được xác định bởi công thức sau:

𝐸𝑆𝑆 𝑅𝑆𝑆
𝑅2 = =1−
𝑇𝑆𝑆 𝑇𝑆𝑆

Do các thành phần 𝑇𝑆𝑆, 𝐸𝑆𝑆, 𝑅𝑆𝑆 đều không âm, nên 0 ≤ 𝑅2 ≤ 1

Ý nghĩa: Hệ số xác định 𝑅2 là tỉ lệ (hay tỉ lệ %) sự biến động của biến phụ thuộc được giải
thích bởi các biến độc lập theo mô hình. Giá trị 𝑅2 gần 1 cho thấy mô hình là tốt, có khả
năng cao phù hợp với dữ liệu được đưa vào, trong khi 𝑅2 gần 0 chỉ ra rằng mô hình đang
sử dụng không thực sự phù hợp để mô tả dữ liệu đầu vào.

Tuy nhiên, một tính chất quan trọng của 𝑅2 mà ta có thể dễ dàng nhận thấy là nếu tăng số
biến độc lập trong mô hình thì 𝑅2 cũng tăng theo. Như vậy, việc đưa thêm một biến số bất
kỳ vào mô hình nói chung sẽ làm gia tăng 𝑅2 , không kể nó có giúp giải thích thêm cho
biến phụ thuộc hay không. Điều này ngụ ý rằng 𝑅2 chưa phải là thước đo tốt khi muốn so
sánh các mô hình với số biến khác nhau. Ngoài ra, việc đưa thêm một biến số mới vào mô
hình cũng tạo ra những tác động không tốt đến chất lượng của các ước lượng. Để tổng hòa
giữa tác động tích cực của việc đưa thêm biến, thể hiện bằng sự gia tăng trong 𝑅2 và tác
động tiêu cực này, người ta đưa ra khái niệm 𝑅 2 hiệu chỉnh, ký hiệu là 𝑅̅2 và được định
nghĩa như sau:

(𝑛 − 1)
𝑅̅2 = 1 − (1 − 𝑅2 )
(𝑛 − 𝑘 − 1)

Giá trị 𝑅̅2 thường được sử dụng thay 𝑅2 khi 2 mô hình có cùng biến phụ thuộc nhưng số
biến độc lập khác nhau.

2. Đọc dữ liệu

Code R:

library(readr)
WS_data <-
read_csv("C:/Users/Admin/Downloads/WALMART_SALES_DATA_STORE1.csv")
head(WS_data)

*Thông tin các biến có trong dữ liệu:

- Y: Weekly Sales (Doanh số bán hàng hàng tuần)

- X1: Holiday Flag (Các tuần có ngày lễ đặc biệt (1: Tuần có ngày lễ, 0: Tuần không
có ngày lễ))

- X2: Temperature (Nhiệt độ vào ngày bán hàng)

- X3: Fuel Price (Giá xăng trong khu vực)

- X4: CPI (Chỉ số giá tiêu dùng)

- X5: Unemployment (Tỷ lệ thất nghiệp)


Kết quả:

## # A tibble: 6 x 6
## Y X1 X2 X3 X4 X5
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1643691. 0 42.3 2.57 211. 8.11
## 2 1641957. 1 38.5 2.55 211. 8.11
## 3 1611968. 0 39.9 2.51 211. 8.11
## 4 1409728. 0 46.6 2.56 211. 8.11
## 5 1554807. 0 46.5 2.62 211. 8.11
## 6 1439542. 0 57.8 2.67 211. 8.11

3. Làm sạch dữ liệu

Code R:

apply(is.na(WS_data), 2, which)

Kết quả:

## integer(0)

Nhận xét: Không có dữ liệu khuyết cần xử lý

4. Làm rõ dữ liệu

- Lập bảng thống kê mô tả cho các biến định lượng Y, X2, X3, X4,X5

- Thống kê số tuần có ngày lễ và số tuần không có ngày lễ theo biến phân loại X1

- Vẽ biểu đồ histogram thể hiện phân phối tần số của biến Y.

- Vẽ biểu đồ hộp boxplot thể hiện phân phối của biến Y theo biến phân loại X1.

- Vẽ biểu đồ phân tán scatterplot thể hiện mối tương quan giữa các biến X2, X3, X4,
X5 với biến Y.

*Thống kê mô tả cho các biến định lượng Y, X2, X3, X4,X5


Code R:

Min <- apply(WS_data[,c(1,3,4,5,6)],2,min) #Tính giá trị nhỏ nhất


Q1<- apply(WS_data[,c(1,3,4,5,6)],2,quantile,probs=0.25) #Tìm phân vị 1, 25%
Median <- apply(WS_data[,c(1,3,4,5,6)],2,median) #Tìm trung vị
TBM <- apply(WS_data[,c(1,3,4,5,6)],2,mean) #Tìm trung bình mẫu
s <- apply(WS_data[,c(1,3,4,5,6)],2,sd) #Tìm phương sai mẫu hiệu chỉnh
Q3<- apply(WS_data[,c(1,3,4,5,6)],2,quantile,probs=0.75) #Tìm phân vị 3, 75%
Max <- apply(WS_data[,c(1,3,4,5,6)],2,max) #Tìm giá trị lớn nhất
summary <- t(data.frame(Min,Q1,Median,TBM,s,Q3,Max)) #Bảng tổng hợp kết quả
summary #Xuất ra bảng tổng hợp kết quả

Kết quả khi chạy code R:

## Y X2 X3 X4 X5
## Min 1316899.3 35.40000 2.5140000 210.33743 6.5730000
## Q1 1458104.7 58.26500 2.7645000 211.54928 7.3480000
## Median 1534849.6 69.64000 3.2900000 215.45991 7.7870000
## TBM 1555264.4 68.30678 3.2196993 215.99689 7.6104196
## s 155980.8 14.25049 0.4273125 4.35089 0.3837488
## Q3 1614892.0 80.48500 3.5940000 220.53133 7.8380000
## Max 2387950.2 91.65000 3.9070000 223.44425 8.1060000

*Thống kê số tuần có ngày lễ và số tuần không có ngày lễ theo biến phân loại X1

Code R:

table(WS_data$X1)

Kết quả khi chạy code R:

##
## 0 1
## 133 10
*Vẽ biểu đồ histogram thể hiện phân phối tần số của biến Y.

Code R:

windowsFonts(A=windowsFont("Times New Roman"))


hist(WS_data$Y,xlab="Weekly Sales", main= "Histogram of Weekly
Sales",label=T,ylim=c(0,50), col="azure4",family="A")

Kết quả khi chạy code R:

Hình 1. Biểu đồ phân bố tần suất cho biến Y

*Vẽ biểu đồ hộp boxplot thể hiện phân phối của biến Y theo biến phân loại X1.

Code R:

par(family="A")
boxplot(Y~X1,WS_data,
xlab="Holiday Flag",
ylab= "Weekly Sales",
main="Weekly Sales and Holiday Flag",
label=TRUE,col="darkseagreen2") #Vẽ biểu đồ hộp thể hiện phân phối của biến Y
theo biến phân loại X1

Kết quả khi chạy code R:

Hình 2. Biểu đồ hộp thể hiện phân phối của biến Y theo biến phân loại X1

*Nhận xét: Từ biểu đồ phân tán ta nhận thấy vào các tuần có ngày lễ lớn doanh số bán
hàng cao hơn những tuần không có ngày lễ. Vậy ta có thể dự đoán rằng ngày lễ là một nhân
tố ảnh hưởng đến doanh số bán hàng hàng tuần.

*Vẽ biểu đồ phân tán scatterplot thể hiện mối tương quan giữa biến X2 với biến Y.

Code R:

plot(WS_data$X2, WS_data$Y,
xlab="Temperature",
ylab="Weekly Sales",
main="Weekly Sales and Temperature",col="coral1",pch=8,family="A") #Vẽ biểu đồ
phân tán thể hiện phân phối của biến Y theo biến X2

Kết quả khi chạy code R:

Hình 3. Biểu đồ phân tán thể hiện mối tương quan giữa biến Y với biến X2

*Nhận xét: Từ biểu đồ phân tán ta nhận thấy biến X2 có mối quan hệ tuyến tính yếu với
biến Y.

*Biểu đồ phân tán scatterplot thể hiện mối tương quan giữa biến Y với biến X3

Code R:

plot(WS_data$X3, WS_data$Y,
xlab="Fuel Price",
ylab="Weekly Sales",
main="Weekly Sales and Fuel Price",col="darkcyan",pch=8,family="A") #Vẽ biểu đồ
phân tán thể hiện phân phối của biến Y theo biến X3

Kết quả khi chạy code R:

Hình 4. Biểu đồ phân tán thể hiện mối tương quan giữa biến Y với biến X3

*Nhận xét: Từ biểu đồ phân tán ta nhận thấy biến X3 có mối quan hệ tuyến tính yếu với
biến Y

*Biểu đồ phân tán scatterplot thể hiện mối tương quan giữa biến Y với biến X4

Code R:

plot(WS_data$X4, WS_data$Y,
xlab="CPI",
ylab="Weekly Sales",
main="Weekly Sales and CPI",col="chartreuse3",pch=8,family="A") #Vẽ biểu đồ
phân tán thể hiện phân phối của biến Y theo biến X4

Kết quả khi chạy code R:

Hình 5. Biểu đồ phân tán thể hiện mối tương quan giữa biến Y với biến X4

*Nhận xét: Từ biểu đồ phân tán ta nhận thấy biến X4 có mối quan hệ tuyến tính yếu với
biến Y.

*Biểu đồ phân tán scatterplot thể hiện mối tương quan giữa biến Y với biến X5

Code R:

plot(WS_data$X4, WS_data$Y,
xlab="Unemployment",
ylab="Weekly Sales",
main="Weekly Sales and Unemployment",col="goldenrod",pch=8,family="A") #Vẽ
biểu đồ phân tán thể hiện phân phối của biến Y theo biến X5
Kết quả khi chạy code R:

Hình 6. Biểu đồ phân tán thể hiện mối tương quan giữa biến Y với biến X5

*Nhận xét: Từ biểu đồ phân tán ta nhận thấy biến X5 có mối quan hệ tuyến tính yếu với
biến Y
**Nhận xét chung: Từ các biểu đồ phân tán trên, ta có thể nhận thấy các biến X2, X3, X4,
X5 có mối quan hệ tuyến tính yếu với biến Y. Vậy nên ta sẽ xây dựng mô hình hồi quy
tuyến tính để thấy rõ hơn mối quan hệ giữa các biến trên và biến Y.

5. Mô hình hồi quy tuyến tính

Xây dựng một mô hình hồi quy tuyến tính phù hợp để đánh giá các nhân tố tác động đến
doanh số bán hàng của cửa hàng Walmart.

5.1. Mô hình hồi quy tuyến tính ban đầu

Mô hình hồi quy tuyến tính ban đầu sẽ xây dựng có biến phụ thuộc là Y, và giả sử các biến
độc lập là X1, X2, X3, X4, X5.

Mô hình được biểu diễn bởi biểu thức sau:

𝑌 = 𝛼 + 𝛽1 . 𝑋1 + 𝛽2 . 𝑋2 + 𝛽3 . 𝑋3 + 𝛽4 . 𝑋4 + 𝛽5 . 𝑋5 + 𝜖

Ước lượng các hệ số hồi quy (hệ số tự do 𝛼 và các hệ số của biến độc lập 𝛽𝑖 , 𝑖 = 1, 2, … , 8).

Code R xây dựng mô hình hồi quy tuyến tính ban đầu:

model_1 = lm(Y~X1+X2+X3+X4+X5,WS_data) #Xây dựng mô hình hồi quy tuyến tính b


an đầu
summary(model_1) #Tóm tắt kết quả của mô hình hồi quy tuyến tính ban đầu

Kết quả xây dựng mô hình hồi quy tuyến tính ban đầu:

##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4 + X5, data = WS_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -305166 -78247 -18260 53643 854412
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2427856 1752958 -1.385 0.1683
## X1 89376 49338 1.811 0.0723 .
## X2 -2160 922 -2.343 0.0206 *
## X3 -24337 47335 -0.514 0.6080
## X4 16632 6786 2.451 0.0155 *
## X5 80209 58727 1.366 0.1742
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 146500 on 137 degrees of freedom
## Multiple R-squared: 0.1495, Adjusted R-squared: 0.1184
## F-statistic: 4.815 on 5 and 137 DF, p-value: 0.0004359

Đọc kết quả:

Các hệ số hồi quy ước lượng (Cột Estimate) là:

̂1 = 89376, 𝛽
𝛼̂ = −2427856, 𝛽 ̂2 = −2160, 𝛽
̂3 = −24337, ̂ ̂5 = 80209
𝛽4 = 16632, 𝛽

Phương trình hồi quy mẫu:

̂ = −2427856 + 89376. 𝑋1 − 2160. 𝑋2 − 24337. 𝑋3 + 16632. 𝑋4 + 80209. 𝑋5


𝑌1

Đánh giá các hệ số hồi quy ước lượng của các biến độc lập có ý nghĩa thống kê hay không
ta tiến hành kiểm định chúng, xét mức ý nghĩa 𝛼 = 10%. Có hai cách để kiểm định

Cách 1
𝑛−𝑘−1 𝑛−𝑘−1
𝐻1 : 𝛽1 = 0; 𝐻0 : 𝛽1 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −𝑡𝛼/2 ) ∪ (𝑡𝛼/2 ; +∞)

Với n là kích cỡ mẫu của bộ dữ liệu 𝑛 = 143

k là số biến độc lập đưa vào mô hình (𝑋1, 𝑋2, 𝑋3, 𝑋4, 𝑋5): 𝑘 = 5
𝑛−𝑘−1 137
Tìm phân phối Student 𝑡𝛼/2 = 𝑡0.05

Code R tìm phân phối Student và kết quả:

qt(1-0.05,137)
## [1] 1.656052

Vậy miền bác bỏ 𝑊𝛼 = (−∞; −1.656052) ∪ (1.656052; +∞)

Tương tự cho các biến còn lại

𝐻1 : 𝛽2 = 0; 𝐻0 : 𝛽2 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.656052) ∪ (1.656052; +∞)

𝐻1 : 𝛽3 = 0; 𝐻0 : 𝛽3 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.656052) ∪ (1.656052; +∞)

𝐻1 : 𝛽4 = 0; 𝐻0 : 𝛽4 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.656052) ∪ (1.656052; +∞)

𝐻1 : 𝛽5 = 0; 𝐻0 : 𝛽5 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.656052) ∪ (1.656052; +∞)

Tiêu chuẩn kiểm định: (Cột t value)

𝐻ệ 𝑠ố ℎồ𝑖 𝑞𝑢𝑦 𝛽̂𝑖


𝑇0 =
𝑆𝑒 𝛽̂𝑖

Với Se 𝛽̂𝑖 (Standard Error: Cột Std. Error) sai số chuẩn của các hệ số hồi quy

Ta có tiêu chuẩn kiểm định tương ứng của từng hệ số hồi quy 𝛽𝑖

𝑇01 = 1.811, 𝑇02 = −2.343, 𝑇03 = −0.514, 𝑇04 = 2.451, 𝑇05 = 1.366

𝑇01 , 𝑇02 , 𝑇04 ∈ 𝑊𝛼 ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1

𝑇03 = −0.514 ∉ 𝑊𝛼 𝑣à 𝑇05 = 1.366 ∉ 𝑊𝛼 ⟹ Chưa bác bỏ 𝐻0

Cách 2: Dựa vào hệ số p-value (probability value)

Trị số p-value càng nhỏ thì độ tin cậy của kết luận càng cao và giá trị ảnh hưởng của nó
càng lớn. Khi p-value < mức ý nghĩa 𝛼 = 10%, ta có thể kết luận đủ chứng cứ để bác bỏ
giả thuyết 𝐻0

𝑝 − 𝑣𝑎𝑙𝑢𝑒1 = 0.0723 < 𝛼 = 10% ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1

𝑝 − 𝑣𝑎𝑙𝑢𝑒2 = 0.0206 < 𝛼 = 10% ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1

𝑝 − 𝑣𝑎𝑙𝑢𝑒3 = 0.6080 ≥ 𝛼 = 10% ⟹ Chưa bác bỏ 𝐻0

𝑝 − 𝑣𝑎𝑙𝑢𝑒4 = 0.0155 < 𝛼 = 10% ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1


𝑝 − 𝑣𝑎𝑙𝑢𝑒5 = 0.1742 ≥ 𝛼 = 10% ⟹ Chưa bác bỏ 𝐻0

Tóm lại: Với mức ý nghĩa 𝛼 = 10% hệ số 𝛽1 , 𝛽2 , 𝛽4 có ý nghĩa thống kê ⟹ X1, X2, X4
có ảnh hưởng đến Y. Hệ số 𝛽3 , 𝛽5 không có ý nghĩa thống kê ⟹ X3, X5 không có ảnh
hưởng đến Y. Nên ta cần loại bỏ X3, X5 khỏi mô hình hồi quy đang xây dựng.

5.2. Tìm mô hình hồi quy tuyến tính tối ưu

Bên cạnh cách đánh giá từ mô hình ban đầu ta có thể sử dụng lệnh step để tìm mô hình tối
ưu. Ở đây có một biến phụ thuộc Y và giả sử các biến độc lập X1, X2, X3, X4, X5. Các
biến độc lập này có thể có quan hệ với nhau. Có rất nhiều tổ hợp biến độc lập có khả năng
tiên đoán biến phụ thuộc Y, ví dụ Y=f(X1), Y=f(X1,X2), Y=f(X3,X4,X5)… trong đó f là
hàm hồi quy tuyến tính.

Vấn đề đặt ra là trong các mô hình này, mô hình nào sẽ là mô hình tối ưu nhất để tiên đoán
Y một cách đầy đủ, đơn giản và hợp lí nhất. Trong trường hợp này, tiêu chuẩn thống kê để
chọn ra mô hình tối ưu thường dựa vào tiêu chuẩn thông tin Akaike (còn gọi là AIC hay
Akaike Information Criterion).

̂1 . 𝑋1 + 𝛽
Với mô hình 𝑌̂ = 𝛼̂ + 𝛽 ̂2 . 𝑋2+. . . +𝛽
̂𝑘 . 𝑋𝑘, ta có k+1 thông số 𝛼̂, 𝛽
̂1 , 𝛽
̂2 , … , 𝛽
̂𝑘 và
tính tổng bình phương phần dư (Residual sum of squares, RSS):
𝑛
2
̂𝑖 − 𝑌𝑖 )
𝑅𝑆𝑆 = ∑(𝑌
𝑖=1

Trong đó, n là kích thước mẫu. Công thức trên chứng tỏ nếu mô hình hồi quy đầy đủ thì
giá trị RSS sẽ nhỏ, do độ khác biệt giữa giá trị tiên đoán 𝑌̂ và giá trị quan sát 𝑌 gần nhau.
Một quy luật chung của phân tích hồi quy tuyến tính là một mô hình với k biến độc lập sẽ
có giá trị RSS thấp hơn giá trị RSS của mô hình có k-1 biến độc lập. Nghĩa là mô hình có
càng nhiều biến độc lập sẽ có giá trị RSS càng thấp và “giải thích” cho biến phụ thuộc càng
tốt. Nhưng vì một số biến độc lập có thể có liên hệ với nhau nên có thêm nhiều biến không
có nghĩa là RSS sẽ giảm một cách có ý nghĩa. Một phép tính để dung hòa RSS và số biến
độc lập trong một mô hình là AIC, được định nghĩa như sau:
𝑅𝑆𝑆 2𝑘
𝐴𝐼𝐶 = log ( )+
𝑛 𝑛

Mô hình nào có giá trị AIC thấp nhất được xem là mô hình hồi quy tuyến tính tối ưu. Ta
dùng hàm step để tìm một mô hình tối ưu dựa vào giá trị AIC.

Code R tìm mô hình tối ưu:

model = lm(Y~.,WS_data) #Xây dựng mô hình, xem xét tất cả biến trong WS_data
step(model,direction = "both") #Tìm mô hình tối ưu

Kết quả tìm mô hình tối ưu:

## Start: AIC=3407.69
## Y ~ X1 + X2 + X3 + X4 + X5
##
## Df Sum of Sq RSS AIC
## - X3 1 5.6697e+09 2.9441e+12 3406.0
## - X5 1 4.0011e+10 2.9785e+12 3407.6
## <none> 2.9385e+12 3407.7
## - X1 1 7.0383e+10 3.0088e+12 3409.1
## - X2 1 1.1775e+11 3.0562e+12 3411.3
## - X4 1 1.2883e+11 3.0673e+12 3411.8
##
## Step: AIC=3405.96
## Y ~ X1 + X2 + X4 + X5
##
## Df Sum of Sq RSS AIC
## - X5 1 3.4533e+10 2.9787e+12 3405.6
## <none> 2.9441e+12 3406.0
## - X1 1 7.4365e+10 3.0185e+12 3407.5
## + X3 1 5.6697e+09 2.9385e+12 3407.7
## - X2 1 1.3926e+11 3.0834e+12 3410.6
## - X4 1 1.8234e+11 3.1265e+12 3412.6
##
## Step: AIC=3405.63
## Y ~ X1 + X2 + X4
##
## Df Sum of Sq RSS AIC
## <none> 2.9787e+12 3405.6
## + X5 1 3.4533e+10 2.9441e+12 3406.0
## - X1 1 8.2688e+10 3.0613e+12 3407.5
## + X3 1 1.9168e+08 2.9785e+12 3407.6
## - X2 1 1.6038e+11 3.1390e+12 3411.1
## - X4 1 2.2360e+11 3.2023e+12 3414.0
##
## Call:
## lm(formula = Y ~ X1 + X2 + X4, data = WS_data)
##
## Coefficients:
## (Intercept) X1 X2 X4
## -269918 96246 -2423 9185

Quá trình tìm mô hình hồi quy tối ưu dừng ở mô hình với ba biến là X1, X2, X4. Tương
ứng với những kết luận đã rút ra ở mô hình hồi quy ban đầu.

Từ kết quả của mô hình ban đầu và kết quả tìm mô hình hồi quy tối ưu, ta rút ra được kết
luận chung là mô hình hồi quy tối ưu là mô hình với ba biến độc lập X1, X2, X4.

Ta tiến hành kiểm tra hệ số tương quan giữa các biến

Code R kiểm tra hệ số tương quan giữa các biến:

cor(WS_data, method = "pearson") #Hệ số tương quan Pearson giữa các biến

Kết quả kiểm tra hệ số tương quan giữa các biến:

## Y X1 X2 X3 X4 X5
## Y 1.00000000 0.19490521 -0.2227006 0.12459158 0.22540766 -0.09795539
## X1 0.19490521 1.00000000 -0.2005430 -0.08590253 -0.02891916 0.08294894
## X2 -0.22270056 -0.20054304 1.0000000 0.22849268 0.11850334 -0.18069498
## X3 0.12459158 -0.08590253 0.2284927 1.00000000 0.75525865 -0.51394406
## X4 0.22540766 -0.02891916 0.1185033 0.75525865 1.00000000 -0.81347056
## X5 -0.09795539 0.08294894 -0.1806950 -0.51394406 -0.81347056 1.00000000

Dựa vào kết quả thu được, ta nhận thấy hệ số tương quan của từng cặp biến độc lập (X1,
X2); (X1, X4); (X2, X4) tương đối nhỏ, nên sẽ không xuất hiện trường hợp đa cộng tuyến
hoàn hảo. Vì vậy mô hình hồi quy tối ưu là mô hình với ba biến độc lập X1, X2, X4.

5.3. Xây dựng mô hình hồi quy tuyến tính tối ưu

a. Xây dựng mô hình hồi quy tuyến tính với một biến phụ thuộc là Y và ba biến độc lập là
X1, X2, X4.

Mô hình được biểu diễn bởi biểu thức sau:

𝑌 = 𝛼 + 𝛽1 . 𝑋1 + 𝛽2 . 𝑋2 + 𝛽4 . 𝑋4 + 𝜖

Ước lượng các hệ số hồi quy

Code R xây dựng mô hình hồi quy tuyến tính tối ưu:

model_2 = lm(Y~X1+X2+X4,WS_data) #Xây dựng mô hình hồi quy tuyến tính tối ưu
summary(model_2) #Tóm tắt kết quả của mô hình hồi quy tuyến tính tối ưu

Kết quả xây dựng mô hình hồi quy tuyến tính tối ưu

##
## Call:
## lm(formula = Y ~ X1 + X2 + X4, data = WS_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -300742 -80390 -11862 57057 842876
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -269917.6 610415.6 -0.442 0.65904
## X1 96246.0 48996.5 1.964 0.05148 .
## X2 -2423.3 885.8 -2.736 0.00704 **
## X4 9185.2 2843.5 3.230 0.00154 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 146400 on 139 degrees of freedom
## Multiple R-squared: 0.1378, Adjusted R-squared: 0.1192
## F-statistic: 7.407 on 3 and 139 DF, p-value: 0.0001222

Đọc kết quả:

̂1 = 96246.0; 𝛽
𝛼̂ = −269917.6; 𝛽 ̂2 = −2423.3; ̂
𝛽4 = 9185.2

Phương trình hồi quy mẫu:

𝑌̂ = −269917.6 + 96246.0 ∗ 𝑋1 − 2423.3 ∗ 𝑋2 + 9185.2 ∗ 𝑋4

b. Đánh giá các hệ số hồi quy ước lượng của các biến độc lập và các hệ số liên quan.

- Để đánh giá các hệ số hồi quy ước lượng của các biến độc lập xét có ý nghĩa thống kê
hay không, ta tiến hành kiểm định chúng, xét mức ý nghĩa 𝛼 = 10%. Có hai cách để kiểm
định

Cách 1
𝑛−𝑘−1 139
Code R tìm phân phối Student 𝑡𝛼/2 = 𝑡0.05 và kết quả:

qt(1-0.05,139)
## [1] 1.65589

Vậy ta có giả thiết và miền bác bỏ sau:

𝐻1 : 𝛼 = 0; 𝐻0 : 𝛼 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.65589) ∪ (1.65589; +∞)

𝐻1 : 𝛽1 = 0; 𝐻0 : 𝛽1 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.65589) ∪ (1.65589; +∞)

𝐻1 : 𝛽2 = 0; 𝐻0 : 𝛽2 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.65589) ∪ (1.65589; +∞)

𝐻1 : 𝛽4 = 0; 𝐻0 : 𝛽4 ≠ 0; Miền bác bỏ 𝑊𝛼 = (−∞; −1.65589) ∪ (1.65589; +∞)

Tiêu chuẩn kiểm định: (Cột t value)

𝑇00 = −0.442, 𝑇01 = 1.964, 𝑇02 = −2.736, 𝑇04 = 3.230


𝑇01 , 𝑇02 , 𝑇04 ∈ 𝑊𝛼 ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1

𝑇00 ∉ 𝑊𝛼 ⟹ Chưa bác bỏ 𝐻0

⟹ Hệ số 𝛽1 , 𝛽2 , 𝛽4 có ý nghĩa thống kê ⟹ X1, X2, X4 có tác động đến Y.

Cách 2:
𝑝 − 𝑣𝑎𝑙𝑢𝑒1 = 0.0723 < 𝛼 = 10% ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1

𝑝 − 𝑣𝑎𝑙𝑢𝑒2 = 0.0206 < 𝛼 = 10% ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1

𝑝 − 𝑣𝑎𝑙𝑢𝑒3 = 0.6080 ≥ 𝛼 = 10% ⟹ Chưa bác bỏ 𝐻0

𝑝 − 𝑣𝑎𝑙𝑢𝑒4 = 0.0155 < 𝛼 = 10% ⟹ Bác bỏ 𝐻0 , công nhận 𝐻1

𝑝 − 𝑣𝑎𝑙𝑢𝑒5 = 0.1742 ≥ 𝛼 = 10% ⟹ Chưa bác bỏ 𝐻0

Tóm lại: Với mức ý nghĩa 𝛼 = 10%, các hệ số 𝛽1 , 𝛽2 , 𝛽4 có ý nghĩa thống kê ⟹ X1, X2,
X4 ⟹ Mô hình hồi quy tối ưu.

- Sai số chuẩn của đường hồi quy (Residual standard error)

𝑆𝑆𝐸
𝜎=√ = 146400 trên 139 bậc tự do
𝑛−𝑘−1

- Hệ số xác định (Multiple R-squared) thường sử dụng đối với hồi quy đơn biến

𝑅2 = 0.1378

- Hệ số xác định hiệu chỉnh (Adjusted R-squared) thường được sử dụng đối với hồi quy đa
biến.

𝑅2 ℎ𝑖ệ𝑢 𝑐ℎỉ𝑛ℎ = 0.1192

- Kiểm định của sự phù hợp của mô hình hồi quy đa biến:

𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0.0001222 có giá trị nhỏ. Nghĩa là trong mô hình hồi quy tuyến tính đã xây
dựng có ít nhất một biến độc lập có ý nghĩa cao đối với biến phụ thuộc Y.

c. Khoảng tin cậy của các tham số hồi quy


Code R tìm khoảng tin cậy của tham số hồi quy:

confint(model_2, level=0.90) #Khoảng tin cậy của các tham số hồi quy

Kết quả tìm khoảng tin cậy của tham số hồi quy:

## 5 % 95 %
## (Intercept) -1280698.584 740863.4740
## X1 15113.211 177378.7878
## X2 -3890.090 -956.4982
## X4 4476.646 13893.7931

Với mức ý nghĩa 𝛼 = 10% hay độ tin cậy là 90%, ta có khoảng tin cậy của các tham số
hồi quy như sau:

−1280698.584 < 𝛼 < 740863.4740

15113.211 < 𝛽1 < 177378.7878

−3890.090 < 𝛽2 < −956.4982

4476.646 < 𝛽4 < 13893.7931

5.4. Nhận xét các nhân tố tác động lên doanh số bán hàng:

Như đã kết luận ở phần trên, các biến X3, X5 không có ảnh hưởng đến biến phụ thuộc Y.
Nghĩa là với mức ý nghĩa 𝛼 = 10%, các yếu tố về giá nhiên liệu (xăng, dầu) trong khi vực
– X3 và tỉ lệ thất nghiệp – X6 không có tác động đến doanh số bán hàng trong tuần – Y.

Ta xét hệ số hồi quy ước lượng 𝛽̂𝑖 và giá trị 𝑝 − 𝑣𝑎𝑙𝑢𝑒 của sáu biến độc lập tương ứng
trong mô hình hồi quy tuyến tính tối ưu:

- Hệ số hồi quy ước lượng 𝛽̂𝑖 của các biến độc lập thể hiện giá trị ảnh hưởng trung bình lên
biến phụ thuộc Y khi tăng 1 đơn vị của biến độc lập đó, giả sử các biến độc lập khác không
thay đổi. Cụ thể: Với biến định tính X1 – Các tuần có ngày lễ đặc biệt, hệ số hồi quy ước
̂1 = 96246 nghĩa là khi biến các tuần có ngày lễ đặc biệt – X1 tăng thêm 1 đơn vị
lượng 𝛽
thì ta có thể kỳ vọng mức độ thu nhiệt trung bình của các ngôi nhà sẽ tăng thêm 96246
đơn vị (giả sử các biến độc lập khác không thay đổi). Tương tự cho các biến còn lại.

- Hệ số 𝑝 − 𝑣𝑎𝑙𝑢𝑒 của các biến độc lập thể hiện mức ý nghĩa của các biến độc lập lên biến
phụ thuộc Y. Cụ thể: Nhân tố có tác động nhiều nhất trong các nhân tố đến doanh số bán
hàng Y là biến định lượng X4 – Chỉ số giá tiêu dùng CPI với 𝑝 − 𝑣𝑎𝑙𝑢𝑒4 = 0.00154.
Tương tự cho các biến còn lại.

5.5. Kiểm tra giả định của mô hình

Các giả định của mô hình hồi quy:

𝑌𝑖 = 𝛼 + +𝛽1 . 𝑋1 + 𝛽2 . 𝑋2 + ⋯ + 𝛽𝑖 . 𝑋𝑖 + 𝜖𝑖 , 𝑖 = 1. . 𝑛

- Giả thiết 1: Tính tuyến tính của dữ liệu. Mối quan hệ giữa các biến độc lập và biến phụ
thuộc có thật sự là tuyến tính hay không

- Giả thiết 2: Các sai số hồi quy (Phần dư) phải có phân phối chuẩn

- Giả thiết 3: Phương sai của của các phần dư phải là hằng số 𝜖𝑖 ~𝑁(0, 𝜎 2 )

- Giả thiết 4: Các phần dư có kỳ vọng bằng 0 𝜖𝑖 ~𝑁(0, 𝜎 2 )

- Giả thiết 5: Các phần dư 𝜖𝑖 , … , 𝜖𝑛 phải độc lập với nhau.

a. Kiểm tra giả định dựa vào đồ thị phần dư

Code R vẽ đồ thị phần dư:

plot(model_2)

Kết quả vẽ đồ thị:

Đồ thị thứ nhất (Residuals vs Fitted):


Ở mô hình đã xây dựng, đường màu đỏ trên đồ thị không phải đường thẳng nằm ngang nên
không thỏa mãn giả thiết 1 – Tính tuyến tính của dữ liệu. Bên cạnh đó, đường màu đỏ có
đoạn đầu và giữa tương đối lệch so với đường 0, nhưng ở mức chấp nhận được vì vậy giả
thiết 4 – Phần dư có trung bình bằng 0 có thể xem là thỏa mãn.

Đồ thị thứ 2 (Normal Q-Q):


Ở mô hình đã xây dựng, các điểm thặng dư ở 2 đầu bị lệch khỏi đường nét đứt nên không
thỏa mãn giả thiết 2 – Phần dư có phân phối chuẩn.

Đồ thị thứ 3 (Scale - Location):

Ở mô hình đã xây dựng, các điểm đường màu đỏ có độ dốc và các điểm thặng dư phân tán
không đều xung quanh đường thẳng này nên giả thiết này bị vi phạm.

Đồ thị thứ 4 (Residuals vs Leverage):


Ở mô hình đã xây dựng, các điểm quan trắc thứ 43, 47 và 95 là những điểm ảnh hưởng cao
trong bộ dữ liệu. Tuy nhiên những điểm ảnh hưởng cao này chưa vượt qua đường thẳng
khoảng cách Cook (Cook’s distance) nên chúng không phải là các điểm outliers và ta không
cần loại bỏ chúng khỏi bộ dữ liệu.

b. Kiểm tra các giả thiết dựa vào các kiểm định

- Giả thiết 2: Các sai số hồi quy (Phần dư) có phân phối chuẩn:

𝐻0 : Các sai số hồi quy có phân phối chuẩn; 𝐻1 : Dữ liệu không có phân phối chuẩn

Code R kiểm định và kết quả:

re <- residuals(model_2)
shapiro.test(re) #Kiểm tra phần dư (sai số) có phân phối chuẩn không
##
## Shapiro-Wilk normality test
##
## data: re
## W = 0.84943, p-value = 8.706e-11
Từ kết quả trên ta có 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 8.706𝑒 − 11 = 8.706x10−11 < 𝛼 = 0.1, nên bác bỏ
𝐻0 , công nhận 𝐻1 . Vậy giả thiết 2: Các sai số hồi quy (Phần dư) có phân phối chuẩn không
thỏa mãn.

- Giả thiết 4: Các sai số hồi quy (Phần dư) có trung bình bằng 0:

Code R kiểm định và kết quả:

t.test(re, mu = 0) #Kiểm tra phần dư (sai số) có kỳ vọng bằng 0


##
## One Sample t-test
##
## data: re
## t = 8.3175e-17, df = 142, p-value = 1
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -23942.17 23942.17
## sample estimates:
## mean of x
## 1.007381e-12

Từ kết quả trên, 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 1 nên giả thiết 4 – Các sai số hồi quy (Phần dư) có trung
bình bằng 0 thỏa mãn.

- Giả thiết 3: Phương sai của phần dư (sai số) là hằng số:

𝐻0 : Phương sai phần dư là hằng số; 𝐻1 : Phương sai phần tư không là hằng số

Code R kiểm định và kết quả:

ncvTest(model_2) #Kiểm tra phương sai của phần dư (sai số) là hằng số
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 16.15647, Df = 1, p = 5.8319e-05
Từ kết quả trên, 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 5.8319𝑒 − 05 = 5.8319x10−5 , ta nhận thấy giá trị p-value
rất bé, bé hơn 𝛼 = 0.1, ta kết luận phương sai phần dư không là hằng số. Giả thiết 3 không
thỏa mãn.

- Giả thiết: các biến độc lập không có mối quan hệ đa cộng tuyến hoàn hảo.

Ta dựa vào hệ số phóng đại phương sai VIF (Variance inflation factor) để xác định mối
tương quan giữa các biến độc lập và sức mạnh của mối tương quan đó. Giá trị VIF bắt đầu
từ 1 và không có giới hạn trên. Giá trị VIF trong khoảng từ 1-2 chỉ ra rằng không có mối
tương quan giữa biến độc lập này và bất kỳ biến nào khác. VIF giữa 2 và 5 cho thấy rằng
có một mối tương quan vừa phải, nhưng nó không đủ nghiêm trọng để người nghiên cứu
phải tìm biện pháp khắc phục. VIF lớn hơn 5 đại diện cho mối tương quan cao, hệ số được
ước tính kém và các giá trị p - values là đáng nghi ngờ. VIF > 10 thì chắc chắn có đa cộng
tuyến. Vì vậy nếu VIF > 10, ta sẽ xem xét và loại bỏ biến độc lập khỏi dữ liệu.

Code R kiểm định và kết quả:

library(car)
## Loading required package: carData
vif(model_2) #Kiểm tra giữa các biến độc lập không có mối quan hệ đa cộng tuy
ến hoàn hảo
## X1 X2 X4
## 1.041932 1.055888 1.014272

Từ kết quả trên, ta nhận thấy giá trị VIF của các biến độc lập đều rất nhỏ và nhỏ hơn 10
nên sẽ không xuất hiện hiện tượng đa cộng tuyến hoàn hảo. Giả thiết đặt ra được thỏa mãn.

6. Dự báo doanh thu

Dựa trên mô hình hồi quy vừa xây dựng, tiến hành dự báo cho doanh thu 1 tuần có các
thuộc tính sau:

• Có ngày lễ
• Nhiệt độ trung bình tuần: 44,55
• Chỉ số tiêu dùng CPI: 219,536
X<- data.frame("X1"=1,"X2"=44.55,"X4"=219.536) #Xay dung thuoc tinh tuan can du b
ao
head(X) #Xuat gia tri thuoc tinh

## X1 X2 X4
## 1 1 44.55 219.536

predict_Y<-predict(model_2,X,interval="confidence") #Tien hanh du bao


head(predict_Y) #Xuat gia tri du bao

## fit lwr upr


## 1 1734857 1637125 1832589

Nhận xét: Dựa vào kết quả dự báo, ta nhận được:

• Doanh thu dự báo cho tuần đó trung bình là: 1734857


• Khoảng tin cậy so với giá trị dự báo (1637125;1832589)

Xét giá trị quan sát ở tuần lễ có các thuộc tính tương đương, ở quan trắc thứ 100, giá
trị quan sát cho doanh thu Y= 1497463. Do đó, có thể kết luận rằng mô hình hồi quy
xây dựng chưa thực sự phù hợp với dữ liệu.

You might also like