1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TẬP LỚN MÔN XÁC SUẤT THỐNG KÊ Đề Tài Hồi Quy Tuyến Tính Bội Và Anova Ứng Dụng Mô Hình Hồi Quy Tuyến Tính Và Hàm Anova Trong Phân Tích Lưu Lượng Giao Thông

75 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hồi Quy Tuyến Tính Bội Và Anova Ứng Dụng Mô Hình Hồi Quy Tuyến Tính Và Hàm Anova Trong Phân Tích Lưu Lượng Giao Thông
Tác giả Phó Vạn Thông, Võ Quang Trí, Lê Chí Trung, Trần Quốc Vương
Người hướng dẫn TS. Nguyễn Bá Thi
Trường học Trường Đại học Bách khoa Đại học Quốc gia TP Hồ Chí Minh
Chuyên ngành Xác suất Thống kê
Thể loại Bài tập lớn
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 75
Dung lượng 2,2 MB

Cấu trúc

  • A. CƠ SỞ LÝ THUYẾT I. Hồi quy tuyến tính bội (4)
    • II. Phân tích phương sai một yếu tố (11)
  • B. THỰC HÀNH I. Phần chung (20)
    • 1. Hoạt động 1: Hồi quy tuyến tính bội (20)
      • 1.1. Đề bài (20)
      • 1.2. Thực hiện (21)
    • 2. Hoạt động 2: Anova (39)
      • 2.1. Đề bài (39)
      • 2.2 Thực hiện (40)
    • II. Phần riêng (63)
      • 1. Thực hiện phân tích hồi quy tuyến tính bội (63)

Nội dung

CƠ SỞ LÝ THUYẾT I Hồi quy tuyến tính bội

Phân tích phương sai một yếu tố

1 Lý thuyết về ANOVA (phân tích phương sai)

Mục tiêu của phân tích phương sai (Analysis of Variance - ANOVA) là so sánh trung bình của nhiều nhóm (tổng thể) dựa trên các trị trung bình của các mẫu quan sát từ các nhóm này và thông qua kiểm định giả thuyết của kết luận và sự bằng nhau của các trung bình tổng thể này

ANOVA thực ra là một mở rộng của phương pháp kiểm định t cho các mẫu độc lập khi so sánh trung bình của các nhóm gồm các quan sát độc lập Không như phương pháp kiểm định t, ANOVA có thể so sánh nhiều hơn hai nhóm Lưu ý rằng ANOVA không so sánh các phương sai, mà là phân tích các phương sai để so sai để so sánh các kỳ vọng

Ta có các mô hình phân tích phương sai: phân tích phương sai một yếu tố và hai yếu tố Cụm từ yếu tố ở đây ám chỉ số lượng yếu tố nguyên nhân ảnh hưởng đến yếu tố kết quả đang nghiên cứu

2 Phân tích phương sai một yếu tố

Phân tích phương sai được dùng trong các trắc nghiệm để so sánh các giá trị trung bình của hai hay nhiều mẫu được lấy từ các phân số Đây có thể được xem như phần mở rộng trắc nghiệm t hay z (so sánh hai giá trị trung bình)

2.1 Trường hợp k tổng thể có phân phối chuẩn và phương sai bằng nhau

Giả sử rằng chúng ta muốn so sánh trung bình của k tổng thể (với ví dụ trên thì k3) dựa trên những mẫu ngẫu nhiên độc lập gồm n1, n2, n3, , nk quan sát từ k tổng thể Cần ghi nhớ ba giả định Giả sau đây về các nhóm tổng thể được tiến hành phân tích ANOVA

+ Các tổng thể này có phân phối bình thường

+ Các phương sai tổng thể bằng nhau

+ Các quan sát được lấy mẫu là độc lập nhau

Nếu trung bỡnh của cỏc tổng thể được ký hiệu là à 1 = à 2 = = à k thỡ khi cỏc giả định trên được đáp ứng, mô hình phân tích phương sai một yếu tố ảnh hưởng được mô tả dưới dạng kiểm định giả thuyết như sau:

Giả thuyết 𝐻0 cho rằng trung bình của k tổng thể đều bằng nhau (về mặt nghiên cứu liên hệ thì giải thuyết này cho rằng yếu tố nguyên nhân không có tác động gì đến vấn đề ta đang nghiên cứu) Và giả thuyết đối là:

H 1 : Tồn tại ít nhất một cặp trung bình tổng thể khác nhau

Bước 1: Tính các trung bình mẫu của các nhóm (xem như đại diện của các tổng thể)

Trước hết ta xem cách tính các trung bình mẫu từ những quan sát của k mẫu ngẫu nhiên độc lập (ký hiệu 𝑥̅ , 𝑥 1 ̅̅̅, … 𝑥2 ̅̅̅) và các trung bình chung của k mẫu quan sát (ký 𝑘 hiệu 𝑥̅) từ trường hợp tổng quát như sau:

Bảng 2 Bảng số liệu tổng quát thực hiện phân tích phương sai

Tính trung bình mẫu của từng nhóm 𝑥̅ , 𝑥 1 ̅̅̅, … 𝑥 2 ̅̅̅ theo công thức: 𝑘

Và trung bình chung của k mẫu (trung bình chung của toàn bộ mẫu khảo sát):

Bước 2: Tính các tổng các chênh lệch bình phương (hay gọi tắt là tổng bình phương) Tính tổng các chênh lệch bình phương trong nội bộ nhóm 𝑆𝑆𝐸 1 và tổng các chênh lệch bình phương giữa các nhóm 𝑆𝑆𝑇𝑟 2

+ Tổng các chênh lệch bình phương trong nội bộ nhóm (SSE) được tính bằng cách cộng các chênh lệch bình phương giữa các giá trị quan sát với trung bình mẫu của từng nhóm, rồi sau đó lại tính tổng cộng kết quả tất cả các nhóm lại SSE phản ánh phần biến thiên Tổng các chênh lệch bình phương trong nội bộ nhóm (SSE) được tính bằng cách cộng các chênh lệch bình phương giữa các giá trị quan sát với trung bình mẫu của từng nhóm, rồi sau đó lại tính tổng kết quả tất cả các nhóm lại SSE phản ánh biến thiên của yếu tố kết quả do ảnh hưởng của các yếu tố khác, chứ không phải do yếu tố nguyên nhân đang nghiên cứu (là yếu tố dùng để phân biệt các tổng thể / nhóm đang so sánh)

+ Tổng các chênh lệch bình phương của từng nhóm được tính theo công thức: Nhóm 1: 𝑆𝑆 1 = ∑ 𝑛 𝑗=1 𝑖 (𝑥 1𝑗 − 𝑥̅ ) 1 2

Tương tự như vậy ta tính cho đến nhóm thứ k được 𝑆𝑆 𝑘 Vậy tổng các chênh lệch bình phương trong nội bộ các nhóm được tính như sau:

+ Tổng các chênh lệch bình phương giữa các nhóm (SSTr) được tính bằng cách cộng các chênh lệch được lấy bình phương giữa các trung bình mẫu của từng nhóm với trung bình chung của k nhóm (các chênh lệch này đều được nhận thêm với số quan sát tương ứng cả từng nhóm) SSTr phản ánh phần biến thiên của yếu tố kết quả do ảnh hưởng của yếu tố nguyên nhân đang nghiên cứu

+ Tổng các chênh lệch bình phương toàn bộ SST được tính bằng cách cộng tőng các chênh lệch đã lấy bình phương giữa từng giá trị quan sát của toàn bộ mẫu nghiên cứu (x ij ) với trung bình toàn bộ (x) SST phản ánh biến thiên của yếu tố kết quả do ảnh hưởng của tất cả các nguyên nhân

Có thể dễ dàng chứng minh là tổng các chênh lệch bình phương toàn bộ bằng tổng cộng tổng các chênh lệch bình phương trong nội bộ các nhóm và tổng các chênh lệch bình phương giữa các nhóm

Như vậy công thức trên cho thấy, SST là toàn bộ biến thiên của yếu tố kết quả đã được phân tích thành hai phần: phần biến thiên do yếu tố đang nghiên cứu tạo ra (SSTr) và phần biến thiên còn lại do các yếu tố khác không nghiên cứu ở đây tạo ra (SSE) Nếu phần biến thiên do yếu tố nguyên nhân đang xét tạo ra càng “đáng kể” so với phần biến thiên do các yếu tố khác không cét tạo ra, thì chúng ta càng có cơ sở đe bác bỏ H0 và kết luận là yếu tố nguyên nhân đang nghiên cứu ảnh hưởng có ý nghĩa đến yếu tố kết quả

Bước 3: Tính các phương sai (là trung bình của các chênh lệch bình phương)

Các phương sai được tính bằng cách lấy các tổng chênh lệch bình phương chia cho bậc tự do tương ứng

Tính phương sai trong nội bộ nhóm (MSE) bang cách lấy tőng các chênh lệch bình phương trong nội bộ các nhóm (SSE) chia cho bậc tự do tương ứng là n - k (n là số quan sát, k là số nhóm so sánh) MSE là ước lượng phần biến thiên của yếu tố kết quả do các yếu tố khác gây ra

THỰC HÀNH I Phần chung

Hoạt động 1: Hồi quy tuyến tính bội

1.2.1 Đọc dữ liệu (Import data): “gia_nha.csv”

Giải thích: Code R và kết quả đọc dữ liệu và hiện 6 dòng đầu tiên của dữ liệu

1.2.2 Làm sạch dữ liệu (Data cleaning) a Trích dữ liệu con bao gồm các biến chính trong phần giới thiệu dữ liệu và đặt tên là new_DF

Giải thích: Tạo một dữ liệu mới chỉ bao gồm các biến chính mà ta quan tâm, lưu với tên là new_DF rồi xuất ra 6 dòng đầu tiên b Kiểm tra dữ liệu khuyết

Giải thích: Kiểm tra dữ liệu khuyết trong new_DF

Giải thích: Thống kê số lượng và tỉ lệ dữ liệu khuyết trong các biến

Nhận xét: Dựa vào kết quả thu được sau khi kiểm tra dữ liệu khuyết trong new_DF, ta nhận thấy có 20 giá trị dữ liệu khuyết tại biến price Vậy nên ta cần xử lý dữ liệu khuyết tại đó Phương pháp xử lý được đề xuất là thay thế giá trị trung bình ở các quan sát còn lại của biến price vào vị trí chứa dữ liệu khuyết

Giải thích: Thay thế giá trị trung bình của biến price ở các quan sát còn lại ở vị trí chứa dữ liệu khuyết và kiểm tra lại xem đã xử lý hết dữ liệu khuyết chưa

Nhận xét: Sau khi xử lý dữ liệu, ta nhận thấy không còn dữ liệu khuyết

1.2.3 Làm rõ dữ liệu (Data visualization): a Tạo một data mới tên new_DF1 từ new_DF rồi chuyển các biến price, sqft_above, sqft_living, sqft_living15 sang dạng log(x)

Giải thích: Tạo một data mới tên new_DF1 từ new_DF và chuyển các biến price, sqft_above, sqft_living, sqft_living15 sang dạng log(price), log(sqft_above), log(sqft_living), log(sqft_living15) b Dùng hàm mean(_), sd(_), min(_), max(_), median(_) tính các giá trị thống kê mô tả gồm: trung bình, trung vị, độ lệch chuẩn, giá trị lớn nhất, giá trị nhỏ nhất và dùng hàm data.frame(_) để xuất kết quả dưới dạng bảng

Giải thích: Tính các giá trị thống kê mô tả (trung bình mẫu, độ lệch chuẩn, min, max, trung vị) của các biến price, sqft_above, sqft_living, sqft_living15

Giải thích: Xuất kết quả vừa tính dưới dạng bảng

Giải thích: Tính các giá trị thống kê mô tả (trung bình mẫu, độ lệch chuẩn, min, max, trung vị) của các biến price, sqft_above, sqft_living, sqft_living15 đã chuyển sang dạng log(x)

Giải thích: Xuất kết quả vừa tính dưới dạng bảng c Dùng hàm table(_) lập bảng thống kê số lượng cho từng chủng loại của các biến phân loại

Giải thích: Bảng thống kê số lượng cho từng chủng loại của các biến phân loại lần lượt là floors và condition d Dùng hàm hist(_) vẽ đồ thị biến price trước và sau khi chuyển sang dạng log(price)

Giải thích: Code R và hình vẽ đồ thị histogram biểu hiện phân phối biến price.

Giải thích: Code R và hình vẽ đồ thị histogram biểu hiện phân phối biến log(price) Nhận xét:Dựa trên biểu đồ histogram của biến price, ta nhận thấy phân phối của biến price có xu hướng lệch về một phía, cho thấy phần lớn ngôi nhà có giá tiền gần như

25 nhau, và chỉ có số ít ngôi nhà có giá trị cao hơn Trong khi với biểu đồ log(price) có dạng phân phối chuẩn tập trung phần lớn trong khoảng từ 12 đến 14 và thấp dần về phía 2 đầu e Dùng hàm boxplot(_) vẽ phân phối biến price theo biến floors và condition

Giải thích: Biểu đồ boxplot thể hiển phân phối chuẩn của biến price theo từng phân loại của biến floors

Giải thích: Biểu đồ boxplot thể hiển phân phối chuẩn của biến log(price) theo từng phân loại của biến floors

Nhận xét: Đối với biểu đồ log(price) theo floors, ta thấy phân phối của log(price) khác biệt đối với những ngôi nhà có số tầng khác nhau Ta dự đoán floors là một nhân tố ảnh hưởng đến log(price)

Giải thích: Biểu đồ boxplot thể hiển phân phối chuẩn của biến price theo từng phân loại của biến condition.

Giải thích: Biểu đồ boxplot thể hiển phân phối chuẩn của biến log(price) theo từng phân loại của biến condition

Nhận xét: Đối với biểu đồ log(price) theo condition, ta thấy phân phối của log(price) khác biệt đối với những ngôi nhà có điều kiện khác nhau Ta dự đoán condition là một nhân tố ảnh hưởng đến log(price) f Dùng lệnh pairs(_) vẽ các phân phối của biến price lần lượt theo các biến sqft_above, sqft_living, sqft_living15 trước và sau khi chuyển sang dạng log(x)

Giải thích: Đồ thị thể hiện phân phối của biến price theo biến sqft_above

Giải thích: Đồ thị thể hiện phân phối của biến price theo biến log(sqft_above)

Nhận xét: Dựa trên đồ thị phân tán của biến price và sqft_above, ta chưa nhận thấy mối quan hệ tuyến tính của 2 biến được biểu hiện rõ ràng Tuy nhiên với đồ thị phân tán của log(price) và log(sqft_above), ta nhận thấy rõ hơn mối quan hệ tuyến tính giữa 2 biến này (cụ thể là quan hệ đồng biến)

Giải thích: Đồ thị thể hiện phân phối của biến price theo biến sqft_living

Giải thích: Đồ thị thể hiện phân phối của biến price theo biến log(sqft_living)

Nhận xét: Dựa trên đồ thị phân tán của biến price và sqft_living, ta chưa nhận thấy mối quan hệ tuyến tính của 2 biến được biểu hiện rõ ràng Tuy nhiên với đồ thị phân tán của log(price) và log(sqft_living), ta nhận thấy rõ hơn mối quan hệ tuyến tính giữa 2 biến này (cụ thể là quan hệ đồng biến)

Giải thích: Đồ thị thể hiện phân phối của biến price theo biến sqft_living15

Giải thích: Đồ thị thể hiện phân phối của biến price theo biến log(sqft_living15)

Nhận xét: Dựa trên đồ thị phân tán của biến price và sqft_living15, ta chưa nhận thấy mối quan hệ tuyến tính của 2 biến được biểu hiện rõ ràng Tuy nhiên với đồ thị phân tán của log(price) và log(sqft_living15), ta nhận thấy rõ hơn mối quan hệ tuyến tính giữa 2 biến này (cụ thể là quan hệ đồng biến)

Hoạt động 2: Anova

( a) Trong R hãy nhập tập dữ liệu flights.rda ( hướng dẫn : có thể dùng lệnh load , head )

2.2.1 Nhập & làm sạch dữ liệu Thực hiện các thống kê mô tả: a Nhập tập dữ liệu flights.rda vào R

Giải thích: code R và kết quả xuất ra màn hình sau khi tiến hành nhập dữ liệu file flights.rda vào R b Dùng data.frame(_) tạo một dữ liệu đặt tên là newFlights

Giải thích: code R và kết quả xuất ra màn hình sau khi tiến hành yêu cầu đặt ra c Làm sạch dữ liệu (Data cleaning):

Giải thích: Tính tổng và phần trăm dữ liệu khuyết trong data newFlights

Nhận xét: Dựa vào kết quả thu được từ thống kê trên, ta nhận thấy có nhiều giá trị dữ liệu khuyết ở các biến dep_time, arr_time, dep_delay và arr_delay Vì lượng khuyết trong dữ liệu chỉ chiếm dưới 10% lượng quan sát nênta lựa chọn phương pháp xóa các quan sát của biến nào có giá trị khuyết trong tệp tin newFlights Để xóa các quan sát chứa dữ liệu khuyết của các biến, ta thực hiện:

Giải thích: Xóa dữ liệu khuyết và kiểm tra phần trăm dữ liệu khuyết đã bị xóa Nhận xét: Ta thấy số lượng quan sát bị xóa là 1301 quan sát, chiếm tỷ lệ 0.8028% so với dữ liệu ban đầu, có thể thấy việc xóa các quan sát của biến có giá trị khuyết trong tệp tin newFlights không ảnh hưởng nhiều đến kết quả của dữ liệu d Thực hiện các thống kê mô tả (cỡ mẫu, trung bình, độ lệch chuẩn, min, max, các điểm tứ phân vị) của biến dep_delay theo carrier

Giải thích: Thống kê tổng số phần tử (cỡ mẫu) của biến dep_delay theo từng hãng hàng không (carrier)

Giải thích: Thống kê trung bình của biến dep_delay theo từng hãng hàng không

Giải thích: Thống kê độ lệch chuẩn của biến dep_delay theo từng hãng hàng không

Giải thích: Thống kê giá trị nhỏ nhất và lớn nhất của biến dep_delay theo từng hãng hàng không (carrier)

Giải thích: Thống kê các điểm tứ phân vị của biến dep_delay theo từng hãng hàng không (carrier)

Giải thích: Tạo bảng thống kê với các giá trị thống kê mô tả trên

Giải thích: Kết quả khi tính lại các giá trị thống kê mô tả cho biến dep_delay của từng hãng hàng không (carrier) e Vẽ đồ thị boxplot cho từng thời gian khởi hành trễ (dep_delay) tương ứng cho từng hãng hàng không (carrier)

Giải thích: Biểu đồ boxplot (biểu đồ hộp) thể hiện phân phối của biến dep_delay theo từng hãng hàng không (carrier)

Nhận xét: Qua biểu đồ trên, ta thấy rằng có rất nhiều điểm ngoại lai (outliers) ở biến dep_delay, điều này có thể là nguyên ảnh hưởng đến kết quả phân tích phía sau Do đó, ta sử dụng khoảng tứ phân vị (interquartile range) để loại bỏ các điểm outliers f Sử dụng khoảng tứ phân vị (Interquartile Range) để loại bỏ các điểm outliers trong đồ thị boxplot vừa vẽ Nhận xét

Ta sẽ chuyển các outliers của biến dep_delay ở từng hãng hàng không sang NA Từ đó đề xuất phương pháp xử lý các NA đó Ta tạo function xác định outliers, chuyển các outliers thành dạng NA Việc tạo function mới này sẽ giúp ta tối ưu code hơn

Giải thích:Ta thực hiện lọc các outliers tương ứng với từng hãng và chuyển thành giá trị NA

Tiếp theo ta thực hiện:

Giải thích: Chuyển các điểm ngoại lai của biến dep_delay trong AA thành NA và lưu lại vào AA

Tương tự cho các hãng hàng không còn lại:

Tiếp đến, ta tiến hành ghép các dữ liệu vừa tính lại với nhau và lưu vào newFlights2

Sau đó ta tiến hành thống kê tổng và phần trăm giá trị NA trong newFlights2

Giải thích: code R và kết quả thu được sau khi tiến hành kiểm tra

Nhận xét: Số lượng NA = 18732 ở biến dep_delay chiếm tỉ lệ 11.65% lượng quan sát của dữ liệu Trong trường hợp này, ta không chọn phương pháp xoá các NA, vì lượng

NA tương đối nhiều ( >10% dữ liệu) Do đó, ta sẽ xử lý bằng phương pháp thay thế các

NA bằng các giá trị trung bình tương ứng với từng hãng hàng không

Ta tiến hành thực hiện như sau:

Giải thích: Thay thế các NA bằng các giá trị trung bình tương ứng với từng hãng hàng không Sau đó ghép các giá trị này lại và lưu lại vào newFlights2

Kiểm tra lại lượng NA trong newFlights2 sau khi xử lý:

Giải thích: Kết quả kiểm tra lại NA trong data newFlights2 sau khi xử lý NA Nhận xét: Sau khi thay thế các NA bằng các giá trị trung bình, dữ liệu đã không còn giá trị NA

Ta tiến hành tính lại các giá trị mô tả thống kê cho biến dep_delay theo từng hãng hàng không (carrier):

Giải thích: Thống kê các giá trị mô tả (số phần tử cỡ mẫu, trung bình, độ lệch chuẩn, giá trị nhỏ nhất và lớn nhất, các điểm tứ phân vị của biến dep_delay theo từng hãng hàng không (carrier)

Giải thích: Bảng kết quả thống kê với các giá trị thống kê mô tả của các biến liên tục cỡ mẫu, trung bình, độ lệch chuẩn, min, max, các điểm tứ phân vị

Giải thích: Vẽ đồ thị boxplot cho từng thời gian khởi hành trễ (dep_delay) tương ứng cho từng hãng hàng không (carrier) sau khi loại bỏ các outliers

45 Đối với hãng hàng không AA:

● Min = -18: Thời gian khởi hành sớm nhất: 18 phút

● Max = 26: Thời gian khởi hành trễ nhất: 26 phút

● Q1 = -6: 25% chuyến bay có thời gian khởi hành sớm hơn 6 phút

● Q2 = -2: 50% chuyến bay có thời gian khởi hành sớm hơn 2 phút

● Q3 = 0: 75% chuyến bay có thời gian khởi hành sớm hơn thời điểm dự kiến Đối với hãng hàng không AS:

● Min = -15: Thời gian khởi hành sớm nhất: 15 phút

● Max = 12: Thời gian khởi hành trễ nhất: 12 phút

● Q1 = -5: 25% chuyến bay có thời gian khởi hành sớm hơn 5 phút

● Q2 = -2.5563: 50% chuyến bay có thời gian khởi hành sớm hơn 2.5563 phút

● Q3 = -1: 75% chuyến bay có thời gian khởi hành sớm 1 phút Đối với hãng hàng không B6:

● Min = -20: Thời gian khởi hành sớm nhất: 20 phút

● Max = 31: Thời gian khởi hành trễ nhất: 31 phút

● Q1 = -6: 25% chuyến bay có thời gian khởi hành sớm hơn 6 phút

● Q2 = -2: 50% chuyến bay có thời gian khởi hành sớm hơn 2 phút

● Q3 = 1: 75% chuyến bay có thời gian khởi hành sớm 1 phút Đối với hãng hàng không DL:

● Min = - 15: Thời gian khởi hành sớm nhất: 15 phút

● Max = 16: Thời gian khởi hành trễ nhất: 16 phút

● Q1 = -4: 25% chuyến bay có thời gian khởi hành sớm hơn 4 phút

● Q2 = -2: 50% chuyến bay có thời gian khởi hành sớm hơn 2 phút

● Q3 = 0: 75% chuyến bay có thời gian khởi hành sớm hơn thời điểm dự kiến bay Đối với hãng hàng không F9:

● Min = -20: Thời gian khởi hành sớm nhất: 20 phút

● Max = 36: Thời gian khởi hành trễ nhất: 36 phút

● Q1 = - 6: 25% chuyến bay có thời gian khởi hành sớm hơn 6 phút

● Q2 = -2: 50% chuyến bay có thời gian khởi hành sớm hơn 2 phút

● Q3 = 4: 75% chuyến bay có thời gian khởi hành trễ từ 4 phút trở xuống Đối với hãng hàng không HA:

● Min = -16: Thời gian khởi hành sớm nhất: 16 phút

● Max = 8: Thời gian khởi hành trễ nhất: 8 phút

● Q1 = -7: 25% chuyến bay có thời gian khởi hành sớm hơn 7 phút

● Q2 = -4.5056: 50% chuyến bay có thời gian khởi hành sớm hơn 4.5056 phút

● Q3 = -2: 75% chuyến bay có thời gian khởi hành sớm hơn 2 phút Đối với hãng hàng không OO:

● Min = -17: Thời gian khởi hành sớm nhất: 17 phút

● Max = 10: Thời gian khởi hành trễ nhất: 10 phút

● Q1 = -7: 25% chuyến bay có thời gian khởi hành sớm hơn 7 phút

● Q2 = -4.1136: 50% chuyến bay có thời gian khởi hành sớm hơn 4.1136 phút

● Q3 = -2: 75% chuyến bay có thời gian khởi hành sớm hơn 2 phút Đối với hãng hàng không UA:

● Min = -19: Thời gian khởi hành sớm nhất: 19 phút

● Max = 27: Thời gian khởi hành trễ nhất: 27 phút

● Q1 = -5: 25% chuyến bay có thời gian khởi hành sớm hơn 5 phút

● Q2 = -1: 50% chuyến bay có thời gian khởi hành sớm hơn 1 phút

● Q3 = 2: 75% chuyến bay có thời gian khởi hành trễ từ 2 phút trở xuống Đối với hãng hàng không US:

● Min = -15: Thời gian khởi hành sớm nhất: 15 phút

● Max = 11: Thời gian khởi hành trễ nhất: 11 phút

● Q1 = -6: 25% chuyến bay có thời gian khởi hành sớm hơn 6 phút

● Q2 = -3.0085: 50% chuyến bay có thời gian khởi hành sớm hơn 3.0085 phút

● Q3 = -1: 75% chuyến bay có thời gian khởi hành sớm 1 phút

47 Đối với hãng hàng không VX:

● Min = -17: Thời gian khởi hành sớm nhất: 17 phút

● Max = 15: Thời gian khởi hành trễ nhất: 15 phút

● Q1 = -5: 2% chuyến bay có thời gian khởi hành sớm hơn 5 phút

● Q2 = -2.6272: 5% chuyến bay có thời gian khởi hành sớm hơn 2.6272 phút

● Q3 = -1: 7% chuyến bay có thời gian khởi hành sớm hơn 1 phút Đối với hãng hàng không WN:

● Min = -11: Thời gian khởi hành sớm nhất: 11 phút

● Max = 45: Thời gian khởi hành trễ nhất: 45 phút

● Q1 = -2: 2% chuyến bay có thời gian khởi hành sớm hơn 2 phút

● Q2 = 3: 50% chuyến bay có thời gian khởi hành trễ từ 3 phút trở xuống

● Q3 = 11: 75% chuyến bay có thời gian khởi hành trễ từ 11 phút trở xuống

2.2.2 Phân tích Anova một nhân tố (One way Anova): Đánh giá sự khác biệt trong biến lệch giờ bay (dep_delay) của các hãng hàng không a Đặt vấn đề Ở đây, ta quan tâm đến việc kiểm định rằng liệu có sự khác biệt về việc lệch giờ bay trung bình giữa các hãng hàng không đối với các chuyến bay khởi hành từ Portland trong năm 2014 hay không?

Theo dữ liệu đề bài cung cấp, ta có 11 hãng hàng không có chuyến bay khởi hành từ Portland trong năm 2014 Để thực hiện so sánh trung bình của nhiều nhóm, phương pháp tối ưu nhất là dùng phân tích phương sai Nếu chỉ so sánh 2 trung bình của 2 nhóm, ta có thể dùng t-test Vì vậynếu dùng t-test cho bài toán này, ta phải thực hiện kiểm định rất nhiều lần Phương pháp phân tích phương sai cho ta kết luận sự bằng nhau hoặc khác nhau giữa các nhóm so sánh, ngoài ra để đưa ra lựa chọn trung bình nhóm nào cao nhất hoặc thấp nhất (nếu ta kết luận có ít nhất 2 trung bình của các nhóm so sánh là khác nhau) thì ra có thể thực hiện so sánh bội sau anova, như vậy sẽ tiết kiệm thời gian hơn. Như vậy, ta sẽ sử dụng mô hình ANOVA một nhân tố: đánh giá sự khác biệt trong việc lệch giờ bay (dep_delay) giữa các hãng bay với các chuyến bay khởi hành từ Portland trong năm 2014

- Biến phụ thuộc: dep_delay

- Biến độc lập: carrier b Phát biểu giả thuyết, đối thuyết bằng lời và bằng công thức toán Nêu các giả định cần kiểm tra của mô hình

+ Giả thuyết H0: μ1= μ2= … = μ11 ↔ Việc lệch giờ bay trung bình giữa các hãng hàng không đối với các chuyến bay khởi hành từ Portland năm 2014 bằng nhau + Đối thuyết H1: ∃μi ≠ μj với (i ≠j) Có ít nhất 2 hãng hàng không đối với các chuyến bay khởi hành từ Portland năm 2014 có việc lệch giờ bay trung bình khác nhau

+ Bảng Anova một nhân tố:

Bậc tự do Phương sai Tỉ số F

+ Các giả định cần kiểm tra trong Anova một nhân tố:

• Số liệu khảo sát của biến dep_delayphải ngẫu nhiên và độc lập

• Giả định phân phối chuẩn: Việc lệch giờ bay ở các hãng hàng không đối với các chuyến bay khởi hành từ Portland tuân theo phân phối chuẩn

• Tính đồng nhất của các phương sai: Phương sai việc lệch giờ bay ở các hãng hàng không đối với các chuyến bay khởi hành từ Portland bằng nhau c Sử dụng đồ thị QQ-plot kiểm tra các giả định của mô hình (phân phối chuẩn, tính đồng nhất của phương sai) Để tiến hành kiểm tra các giả định của mô hình, ta tiến hành lọc các chuyến bay các chuyến bay khởi hành từ Portland trong năm 2014

Giải thích: Lọc các chuyến bay khởi hành từ Portland và xuất ra kết quả của 6 dòng đầu tiên

- Kiểm tra giả định phân phối chuẩn:

+Giả thuyết H0: Việc lệch giờ bay ở các hãng hàng không đối với các chuyến bay khởi hành từ Portland tuân theo phân phối chuẩn

+ Đối thuyết H1: Việc lệch giờ bay ở các hãng hàng không đoói với các chuyến bay khởi hành từ Portland không tuân theo phân phối chuẩn

Giải thích: Lọc các chuyến bay khởi hành từ Portland của hãng hàng không AA

Giải thích: Vẽ đồ thị kiểm tra phân phối chuẩn

Giải thích:Đồ thị kiểm tra phân phối chuẩn cho biến dep_delay ở hãng hàng không

Giải thích:Sử dụng hàm ad.test để kiểm tra giả định phân phối chuẩn của biến dep_delay ở hãng AA

Tương tự cho các hãng hàng không còn lại:

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không AS

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không B6

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không DL

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không F9

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không HA

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không OO

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không UA

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không US

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không VX

Giải thích:Kết quả và đồ thị khi kiểm định giả định phân phối chuẩn cho biến dep_delay ở hãng hàng không WN

Phần riêng

1 Thực hiện phân tích hồi quy tuyến tính bội:

Tập tin “luuluonggiaothong.csv” chứa thông tin về những yếu tố ảnh hưởng đến lưu lượng giao thông theo giờ trên Xa lộ Liên bang số 94 được đo tại trạm MN DoT ATR 301 từ năm 2012 – 2018 (bao gồm cả tình hình thời tiết hàng giờ và yếu tố ngày lễ) Dữ liệu này dùng để phân tích và đưa ra các phương án phát triển của ngành giao thông vận tải qua tuyến Xa lộ Liên bang số 94 dựa trên nguồn dữ liệu thu thập được

Dữ liệu gốc được cung cấp tại: UCI Machine Learning Repository: Metro Interstate Traffic Volume Data Set

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

• Holiday: Kỳ nghỉ đang diễn ra, bao gồm những ngày lễ Quốc gia và theo vùng miền

• Temp: Nhiệt độ trung bình đo được, tính bằng độ Kelvin

• Rain_1h: Lượng mưa trong 1 giờ tại thời điểm đang xét (mm)

• Snow_1h: Lượng tuyết trong 1 giờ tại thời điểm đang xét (mm)

• Clouds_all: Tỉ lệ mây che phủ (%)

• Weather_main: Mô tả ngắn gọn tình hình thời tiết tại thời điểm xét

• Weather_description: Mô tả chi tiết tình hình thời tiết tại thời điểm xét

Traffic_volume: Lưu lượng giao thông

Câu 1: Đọc dữ liệu (Import data):

Câu 2: Làm sạch dữ liệu (Data cleaning) a) Trích dữ liệu con new_DF chỉ bao gồm các biến cần thiết b) Kiểm tra các dữ liệu bị khuyết và đề xuất phương án thay thế

Câu 3: Làm rõ dữ liệu (Data visualization): a) Tính các giá trị trung bình, trung vị, độ lệch chuẩn, giá trị nhỏ nhất và giá trị lớn nhất đối với các biến liên tục

63 b) Lập bảng thống kê số lượng cho các biến phân loại c) Vẽ đồ thị biến traffic_volume d) Dùng hàm boxplot vẽ phân phối của biến traffic_volume theo một số biến khác e) Dùng lệnh pairs vẽ phân phối của biến traffic_volume theo một số biến khác Câu 4: Xây dựng mô hình hồi quy tuyến tính ( Fitting linear regression models): a) Xét mô hình traffic_volume là biến phụ thuộc và tất cả các biến còn lại độc lập.Dựa vào mô hình hồi quy tuyến tính, loại một số biến khỏi mô hình với mức tin cậy 5% b) Vẽ đồ thị biểu thị sai số hồi quy (residuals) và giá trị dự báo (fitted values).Nêu ý nghĩa và nhận xét đồ thị

Từ mô hình trên, dự báo giá trị traffic_volume tại 2 thuộc tính: a) X1: temp = max(temp), rain_1h = max(rain_1h), snow_1h =max(snow_1h), clouds_all = max(clouds_all), weather_main = "Clouds", weather_description = "broken clouds" b) X2: temp = mean(temp), rain_1h = mean(rain_1h), snow_1h

=mean(snow_1h), clouds_all = mean(clouds_all), weather_main = "Clouds", weather_description = "broken clouds"

1.2 Thực hiện phân tích hồi quy

1.2.1 Đọc dữ liệu (Import data): “luuluonggiaothong.csv”

1.2.2 Làm sạch dữ liệu (Data cleaning) a Trích dữ liệu con bao gồm các biến chính trong phần giới thiệu dữ liệu và đặt tên là new_DF

Giải thích: Tạo một dữ liệu mới chỉ bao gồm các biến chính mà ta quan tâm, lưu với tên là new_DF rồi xuất ra 6 dòng đầu tiên b Kiểm tra dữ liệu khuyết

Giải thích: Thống kê số lượng và tỉ lệ các dữ liệu khuyết.Từ kết quả trên có thể khẳng định data trên không có dữ liệu khuyết

1.2.3 Làm rõ dữ liệu (Data visualization): a Dùng hàm mean(_), sd(_), min(_), max(_), median(_) tính các giá trị thống kê mô tả gồm: trung bình, trung vị, độ lệch chuẩn, giá trị lớn nhất, giá trị nhỏ nhất và dùng hàm data.frame(_) để xuất kết quả dưới dạng bảng

Giải thích: Tính các giá trị thống kê mô tả (trung bình, độ lệch chuẩn, min, max, trung vị) của các giá trị temp, rain_1h, snow_1h, clouds_all, traffic_volume

Giải thích: Xuất kết quả vừa tính dưới dạng bảng b Dùng hàm table(_) lập bảng thống kê số lượng cho từng chủng loại của các biến phân loại

Giải thích: Bảng thống kê số lượng cho từng chủng loại của các biến phân loại lần lượt là holiday, weather_main, weather_description c Dùng hàm hist(_) vẽ đồ thị biến traffic_volume trước

Giải thích: Code R và hình vẽ đồ thị histogram biểu hiện phân phối biến traffic_volume

Nhận xét: Dựa trên biểu đồ histogram của biến traffic_volume, ta nhận thấy phân phối của biến traffic_volume có 2 đỉnh trong khoảng 0 đến 500 và khoảng 4500 đến 5000 và thấp dần xung quanh 2 đỉnh này d Dùng hàm boxplot(_) vẽ phân phối biến price theo biến holiday, weather_main, weather_description

Nhận xét: Đối với biểu đồ traffic_volume theo weather_description và holiday, ta thấy phân phối traffic_volume khác biệt với những điều kiện khác nhau Ta dự đoán holiday và weather_description có ảnh hưởng đến traffic_volume Đối với biểu đồ weather_main ta thấy không có sự khác biệt quá lớn ngoại trừ trường hợp Thunderstorm Do đó, ta chưa thể đưa ra kết luận về việc traffic_volume có phụ thuộc vào weather_main hay không e Dùng lệnh pairs(_) vẽ các phân phối của biến price lần lượt theo các biến

Nhận xét: Từ đồ thị phân tán của biến traffic_volume, ta thấy các biến temp, rain_1h, snow_1h, clouds_all không có quan hệ tuyến tính với traffic_volume vì biểu đồ không phân bố theo đường xiên lên hoặc xiên xuống

1.2.4 Xây dựng các mô hình hồi quy tuyến tính (Fitting linear regression models)

Vậy, mối quan hệ giữa các biến độc lập với biến phụ thuộc có phải là ngẫu nhiên hay thực sự có mối quan hệ tuyến tính giữa chúng ? Để trả lời câu hỏi này, ta sẽ dùng mô hình hồi quy tuyến tính để kiểm tra mối quan hệ giữa lưu lượng giao thông và các biến độc lập thông qua đánh giá các khoảng tin cậy và các phép kiểm định Hơn nữa, việc thiết lập mô hình hồi quy tuyến tính còn cho phép ta ước lượng giá trị biến phụ thuộc (lưu lượng giao thông) theo các biến độc lập (nhiệt độ, lượng mưa, lượng tuyết,số lượng mây) Để tìm hiểu xem có những nhân tố tác động nào và tác động như thế nào đến lưu lượng giao thông ta xét mô hình hồi quy tuyến tính bao gồm:

- Biến phụ thuộc: traffic_volume trong bộ dữ liệu new_DF

- Biến độc lập: temp, rain_1h, snow_1h, clouds_all trong bộ dữ liệu new_DF a Dùng lệnh lm(_) để thực thi mô hình hồi quy tuyến tính bội

Mô hình M1 được biểu diễn như sau:

Traffic_volume= β0 + β1 × temp + β2 × rain_1h + β3 × snow_1h + β4 × clouds_all

Ta thực hiện ước lượng các hệ số βi, i=0,…,4 dựa trên tệp tin new_DF:

Giải thích: Code R và kết quả xuất ra khi thực hiện xây dựng mô hình hồi quy tuyến tính

Nhận xét: Ta thấy chỉ có Pr(> |t|) của các hệ số ứng với các biến temp và clouds_all là bé hơn mức ý nghĩa α = 0.05, trong khi rain_1h và snow_1h có Pr(> |t|) lớn hơn mức ý nghĩa α = 0.05 và không có ý nghĩa với mô hình hồi quy nên ta chỉ giữ lại biến temp và clouds_all

Ta thiết lập lại mô hình M2 như sau:

Traffic_volume= β0 + β1 × temp +β2 × clouds_all

Ta thực hiện ước lượng các hệ số βi, i=0,1,2 dựa trên tệp tin new_DF:

Giải thích: code R và kết quả mô hình hồi quy tuyến tính M2

Nhận xét: Tất cả các biến đã có Pr(> |t|) bé hơn mức ý nghĩa α = 0.05 nên ta chọn mô hình hồi quy trên

Từ phân tích trên ta có thể viết được phương trình đường thẳng hồi quy ước lượng như sau:

Traffic_volume= -2749,0607 + 20,6425× temp +4,1343× clouds_all

• Ta thấy rằng p – value tương ứng hệ số βi của từng biến độc lập đều bé hơn 2e – 16 chứng tỏ ảnh hưởng của các biến này lên giá trị biến traffic_volume có ý nghĩa lớn

Ngày đăng: 21/04/2024, 18:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w